7#ifndef OAKFIELD_STIMULUS_SINUSOIDAL_H
8#define OAKFIELD_STIMULUS_SINUSOIDAL_H
Shared spatial coordinate helpers for stimulus operators.
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
SimClockMode
Clock selection for time-sensitive operators.
Definition operator.h:244
Declarative complex-first operator splitting (substep expansion at plan time).
SimStimulusSinusoidalMode
Sinusoidal stimulus operation mode.
Definition sinusoidal.h:47
@ SIM_STIMULUS_SINUSOIDAL_SINE
Definition sinusoidal.h:48
@ SIM_STIMULUS_SINUSOIDAL_STANDING
Definition sinusoidal.h:49
@ SIM_STIMULUS_SINUSOIDAL_CHIRP
Definition sinusoidal.h:50
SimResult sim_stimulus_sinusoidal_config(struct SimContext *context, size_t operator_index, SimStimulusSinusoidalConfig *out_config)
Copy the current sinusoidal configuration from a registered operator.
SimResult sim_add_stimulus_chirp_operator(struct SimContext *context, const SimStimulusSinusoidalConfig *config, size_t *out_index)
Register a chirped sinusoidal stimulus operator.
SimResult sim_add_stimulus_sine_operator(struct SimContext *context, const SimStimulusSinusoidalConfig *config, size_t *out_index)
Register a traveling-wave sinusoidal stimulus operator.
SimResult sim_stimulus_sinusoidal_update(struct SimContext *context, size_t operator_index, const SimStimulusSinusoidalConfig *config)
Replace or renormalize a registered sinusoidal stimulus configuration.
SimResult sim_add_stimulus_standing_operator(struct SimContext *context, const SimStimulusSinusoidalConfig *config, size_t *out_index)
Register a standing-wave sinusoidal stimulus operator.
Simulation runtime state.
Definition sim_context.h:70
Shared coordinate mapping configuration used by stimulus operators.
Definition coords.h:53
Shared configuration for sinusoidal stimulus variants.
Definition sinusoidal.h:25
bool scale_by_dt
Definition sinusoidal.h:41
double nominal_dt
Definition sinusoidal.h:35
bool use_wavevector
Definition sinusoidal.h:39
double omega
Definition sinusoidal.h:31
size_t field_index
Definition sinusoidal.h:26
bool fixed_clock
Definition sinusoidal.h:40
double time_offset
Definition sinusoidal.h:34
double kx
Definition sinusoidal.h:29
double wavenumber
Definition sinusoidal.h:28
SimStimulusCoordConfig coord
Definition sinusoidal.h:33
double amplitude
Definition sinusoidal.h:27
double ky
Definition sinusoidal.h:30
double rotation
Definition sinusoidal.h:38
double kdot
Definition sinusoidal.h:36
double wdot
Definition sinusoidal.h:37
double phase
Definition sinusoidal.h:32
Internal state for sinusoidal stimulus operators.
Definition sinusoidal.h:56
size_t last_step_index
Definition sinusoidal.h:61
char symbolic[192]
Definition sinusoidal.h:72
SimClockMode clock_mode
Definition sinusoidal.h:59
bool clock_initialized
Definition sinusoidal.h:62
double * vdsp_value
Definition sinusoidal.h:70
double locked_time
Definition sinusoidal.h:60
size_t buffer_capacity
Definition sinusoidal.h:67
size_t snapshot_last_step_index
Definition sinusoidal.h:64
double snapshot_locked_time
Definition sinusoidal.h:63
bool snapshot_clock_initialized
Definition sinusoidal.h:65
double * vdsp_theta
Definition sinusoidal.h:69
double * buffer
Definition sinusoidal.h:66
double * vdsp_block
Definition sinusoidal.h:68
SimStimulusSinusoidalMode mode
Definition sinusoidal.h:58
size_t vdsp_capacity
Definition sinusoidal.h:71
SimStimulusSinusoidalConfig config
Definition sinusoidal.h:57