15#ifndef OAKFIELD_STIMULUS_LAPLACE_BELTRAMI_H
16#define OAKFIELD_STIMULUS_LAPLACE_BELTRAMI_H
Shared spatial coordinate helpers for stimulus operators.
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
SimStimulusLaplaceBeltramiManifold
Analytic manifold families supported by Laplace-Beltrami stimuli.
Definition laplace_beltrami.h:33
@ SIM_STIMULUS_LAPLACE_BELTRAMI_CYLINDER
Definition laplace_beltrami.h:36
@ SIM_STIMULUS_LAPLACE_BELTRAMI_RECTANGLE
Definition laplace_beltrami.h:34
@ SIM_STIMULUS_LAPLACE_BELTRAMI_FLAT_TORUS
Definition laplace_beltrami.h:35
SimResult sim_stimulus_laplace_beltrami_update(struct SimContext *context, size_t operator_index, const SimStimulusLaplaceBeltramiConfig *config)
Replace or renormalize a registered Laplace-Beltrami configuration.
SimResult sim_add_stimulus_laplace_beltrami_operator(struct SimContext *context, const SimStimulusLaplaceBeltramiConfig *config, size_t *out_index)
Register an analytic Laplace-Beltrami eigenmode stimulus operator.
SimResult sim_stimulus_laplace_beltrami_config(struct SimContext *context, size_t operator_index, SimStimulusLaplaceBeltramiConfig *out_config)
Copy the current Laplace-Beltrami configuration from a registered operator.
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 analytic Laplace-Beltrami eigenmode stimuli.
Definition laplace_beltrami.h:42
double rotation
Definition laplace_beltrami.h:54
int mode_u
Definition laplace_beltrami.h:46
double amplitude
Definition laplace_beltrami.h:44
double phase
Definition laplace_beltrami.h:51
double omega
Definition laplace_beltrami.h:50
double time_offset
Definition laplace_beltrami.h:53
double extent_u
Definition laplace_beltrami.h:48
SimStimulusCoordConfig coord
Definition laplace_beltrami.h:52
SimStimulusLaplaceBeltramiManifold manifold
Definition laplace_beltrami.h:45
int mode_v
Definition laplace_beltrami.h:47
size_t field_index
Definition laplace_beltrami.h:43
bool scale_by_dt
Definition laplace_beltrami.h:55
double extent_v
Definition laplace_beltrami.h:49