9#ifndef OAKFIELD_STIMULUS_SPECTRAL_SHELLS_H
10#define OAKFIELD_STIMULUS_SPECTRAL_SHELLS_H
Shared spatial coordinate helpers for stimulus operators.
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
Declarative complex-first operator splitting (substep expansion at plan time).
SimResult sim_stimulus_spectral_shells_update(struct SimContext *context, size_t operator_index, const SimStimulusSpectralShellsConfig *config)
Replace or renormalize a registered spectral-shells configuration.
SimResult sim_add_stimulus_spectral_shells_operator(struct SimContext *context, const SimStimulusSpectralShellsConfig *config, size_t *out_index)
Register a random spectral-shell stimulus operator.
SimResult sim_stimulus_spectral_shells_config(struct SimContext *context, size_t operator_index, SimStimulusSpectralShellsConfig *out_config)
Copy the current spectral-shells configuration from a registered operator.
Simulation runtime state.
Definition sim_context.h:70
Shared coordinate mapping configuration used by stimulus operators.
Definition coords.h:53
Configuration for seeded random modes sampled from spectral shells.
Definition spectral_shells.h:28
double k_max
Definition spectral_shells.h:32
size_t field_index
Definition spectral_shells.h:29
double shell_width
Definition spectral_shells.h:33
uint64_t seed
Definition spectral_shells.h:41
double amplitude
Definition spectral_shells.h:30
unsigned int shell_count
Definition spectral_shells.h:39
double spectral_slope
Definition spectral_shells.h:38
bool scale_by_dt
Definition spectral_shells.h:43
unsigned int modes_per_shell
Definition spectral_shells.h:40
double time_offset
Definition spectral_shells.h:36
SimStimulusCoordConfig coord
Definition spectral_shells.h:35
double omega
Definition spectral_shells.h:34
double nominal_dt
Definition spectral_shells.h:37
double k_min
Definition spectral_shells.h:31
bool fixed_clock
Definition spectral_shells.h:42