Oakfield API Documentation 1.0.0
Numerical core APIs
Loading...
Searching...
No Matches
heat_kernel.h
Go to the documentation of this file.
1
8#ifndef OAKFIELD_STIMULUS_HEAT_KERNEL_H
9#define OAKFIELD_STIMULUS_HEAT_KERNEL_H
10
11#include "coords.h"
13
14#include <stdbool.h>
15#include <stddef.h>
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21struct SimContext;
22
40
54 const SimStimulusHeatKernelConfig *config,
55 size_t *out_index);
56
67SimResult sim_stimulus_heat_kernel_config(struct SimContext *context, size_t operator_index,
68 SimStimulusHeatKernelConfig *out_config);
69
83SimResult sim_stimulus_heat_kernel_update(struct SimContext *context, size_t operator_index,
84 const SimStimulusHeatKernelConfig *config);
85
86#ifdef __cplusplus
87}
88#endif
89
90#endif /* OAKFIELD_STIMULUS_HEAT_KERNEL_H */
Shared spatial coordinate helpers for stimulus operators.
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
SimResult sim_stimulus_heat_kernel_config(struct SimContext *context, size_t operator_index, SimStimulusHeatKernelConfig *out_config)
Copy the current heat-kernel configuration from a registered operator.
SimResult sim_add_stimulus_heat_kernel_operator(struct SimContext *context, const SimStimulusHeatKernelConfig *config, size_t *out_index)
Register a diffusive heat-kernel stimulus operator.
SimResult sim_stimulus_heat_kernel_update(struct SimContext *context, size_t operator_index, const SimStimulusHeatKernelConfig *config)
Replace or renormalize a registered heat-kernel stimulus configuration.
Declarative complex-first operator splitting (substep expansion at plan time).
Simulation runtime state.
Definition sim_context.h:70
Shared coordinate mapping configuration used by stimulus operators.
Definition coords.h:53
Configuration for a diffusive Gaussian heat-kernel stimulus.
Definition heat_kernel.h:26
double diffusivity
Definition heat_kernel.h:29
SimStimulusCoordConfig coord
Definition heat_kernel.h:33
double nominal_dt
Definition heat_kernel.h:35
double rotation
Definition heat_kernel.h:34
double sigma_y
Definition heat_kernel.h:31
size_t field_index
Definition heat_kernel.h:27
double time_offset
Definition heat_kernel.h:32
bool fixed_clock
Definition heat_kernel.h:36
bool scale_by_dt
Definition heat_kernel.h:37
double amplitude
Definition heat_kernel.h:28
bool preserve_mass
Definition heat_kernel.h:38
double sigma_x
Definition heat_kernel.h:30