9#ifndef OAKFIELD_STIMULUS_SPECTRAL_LINES_H
10#define OAKFIELD_STIMULUS_SPECTRAL_LINES_H
133 size_t operator_index,
unsigned int q,
134 const double *chi_re,
const double *chi_im,
135 bool zero_non_units);
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_lines_set_twist_table(struct SimContext *context, size_t operator_index, unsigned int q, const double *chi_re, const double *chi_im, bool zero_non_units)
Install an explicit Dirichlet-style twist table on a spectral-lines operator.
SimStimulusSpectralLinesTwistKind
Harmonic twist strategy for spectral-line sums.
Definition spectral_lines.h:27
@ SIM_SPECTRAL_LINES_TWIST_ALTERNATING
Definition spectral_lines.h:29
@ SIM_SPECTRAL_LINES_TWIST_NONE
Definition spectral_lines.h:28
@ SIM_SPECTRAL_LINES_TWIST_DIRICHLET
Definition spectral_lines.h:30
SimResult sim_stimulus_spectral_lines_update(struct SimContext *context, size_t operator_index, const SimStimulusSpectralLinesConfig *config)
Replace or renormalize a registered spectral-lines configuration.
SimResult sim_stimulus_spectral_lines_config(struct SimContext *context, size_t operator_index, SimStimulusSpectralLinesConfig *out_config)
Copy the current spectral-lines configuration from a registered operator.
SimResult sim_add_stimulus_spectral_lines_operator(struct SimContext *context, const SimStimulusSpectralLinesConfig *config, size_t *out_index)
Register a spectral-line harmonic stimulus operator.
SimStimulusSpectralLinesTwistPreset
Preset table family used for Dirichlet-style spectral-line twists.
Definition spectral_lines.h:36
@ SIM_SPECTRAL_LINES_TWIST_PRESET_TABLE
Definition spectral_lines.h:40
@ SIM_SPECTRAL_LINES_TWIST_PRESET_PRINCIPAL
Definition spectral_lines.h:37
@ SIM_SPECTRAL_LINES_TWIST_PRESET_QUADRATIC
Definition spectral_lines.h:39
@ SIM_SPECTRAL_LINES_TWIST_PRESET_CHI4
Definition spectral_lines.h:38
Simulation runtime state.
Definition sim_context.h:70
Shared coordinate mapping configuration used by stimulus operators.
Definition coords.h:53
Configuration for harmonic spectral-line stimulus fields.
Definition spectral_lines.h:46
SimStimulusSpectralLinesTwistKind twist_kind
Definition spectral_lines.h:59
bool fixed_clock
Definition spectral_lines.h:66
size_t field_index
Definition spectral_lines.h:47
bool use_wavevector
Definition spectral_lines.h:65
double kx
Definition spectral_lines.h:50
bool twist_zero_non_units
Definition spectral_lines.h:63
unsigned int twist_k
Definition spectral_lines.h:61
unsigned int twist_q
Definition spectral_lines.h:60
double omega
Definition spectral_lines.h:52
SimStimulusSpectralLinesTwistPreset twist_preset
Definition spectral_lines.h:62
double harmonic_power
Definition spectral_lines.h:58
unsigned int harmonic_count
Definition spectral_lines.h:57
bool twist_table_is_complex
Definition spectral_lines.h:64
double ky
Definition spectral_lines.h:51
double wavenumber
Definition spectral_lines.h:49
double phase
Definition spectral_lines.h:53
double amplitude
Definition spectral_lines.h:48
double time_offset
Definition spectral_lines.h:55
bool scale_by_dt
Definition spectral_lines.h:67
double nominal_dt
Definition spectral_lines.h:56
SimStimulusCoordConfig coord
Definition spectral_lines.h:54