12#ifndef OAKFIELD_STIMULUS_LISSAJOUS_H
13#define OAKFIELD_STIMULUS_LISSAJOUS_H
Shared spatial coordinate helpers for stimulus operators.
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
SimResult sim_add_stimulus_lissajous_operator(struct SimContext *context, const SimStimulusLissajousConfig *config, size_t *out_index)
Register a Lissajous ridge stimulus operator.
SimResult sim_stimulus_lissajous_config(struct SimContext *context, size_t operator_index, SimStimulusLissajousConfig *out_config)
Copy the current Lissajous configuration from a registered operator.
SimResult sim_stimulus_lissajous_update(struct SimContext *context, size_t operator_index, const SimStimulusLissajousConfig *config)
Replace or renormalize a registered Lissajous 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 Gaussian-band Lissajous ridge stimulus.
Definition lissajous.h:30
double phase_y
Definition lissajous.h:38
double rotation
Definition lissajous.h:44
SimStimulusCoordConfig coord
Definition lissajous.h:43
bool scale_by_dt
Definition lissajous.h:45
double wavenumber_x
Definition lissajous.h:33
double omega_y
Definition lissajous.h:36
double bias
Definition lissajous.h:40
double phase_x
Definition lissajous.h:37
size_t field_index
Definition lissajous.h:31
double coupling
Definition lissajous.h:39
double wavenumber_y
Definition lissajous.h:34
double omega_x
Definition lissajous.h:35
double time_offset
Definition lissajous.h:42
double amplitude
Definition lissajous.h:32
double line_width
Definition lissajous.h:41