14#ifndef OAKFIELD_STIMULUS_HERMITE_GAUSSIAN_BEAM_H
15#define OAKFIELD_STIMULUS_HERMITE_GAUSSIAN_BEAM_H
Shared spatial coordinate helpers for stimulus operators.
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
SimResult sim_add_stimulus_hermite_gaussian_beam_operator(struct SimContext *context, const SimStimulusHermiteGaussianBeamConfig *config, size_t *out_index)
Register a Hermite-Gaussian beam stimulus operator.
SimResult sim_stimulus_hermite_gaussian_beam_update(struct SimContext *context, size_t operator_index, const SimStimulusHermiteGaussianBeamConfig *config)
Replace or renormalize a registered Hermite-Gaussian beam configuration.
SimResult sim_stimulus_hermite_gaussian_beam_config(struct SimContext *context, size_t operator_index, SimStimulusHermiteGaussianBeamConfig *out_config)
Copy the current Hermite-Gaussian 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 a separable Hermite-Gaussian beam stimulus.
Definition hermite_gaussian_beam.h:32
double carrier_v
Definition hermite_gaussian_beam.h:46
double time_offset
Definition hermite_gaussian_beam.h:50
double omega
Definition hermite_gaussian_beam.h:47
size_t field_index
Definition hermite_gaussian_beam.h:33
double velocity_v
Definition hermite_gaussian_beam.h:42
bool scale_by_dt
Definition hermite_gaussian_beam.h:52
double velocity_u
Definition hermite_gaussian_beam.h:41
SimStimulusCoordConfig coord
Definition hermite_gaussian_beam.h:49
double center_u
Definition hermite_gaussian_beam.h:39
double phase
Definition hermite_gaussian_beam.h:48
double orientation_rate
Definition hermite_gaussian_beam.h:44
double waist_v
Definition hermite_gaussian_beam.h:38
double orientation
Definition hermite_gaussian_beam.h:43
unsigned int mode_v
Definition hermite_gaussian_beam.h:36
double waist_u
Definition hermite_gaussian_beam.h:37
unsigned int mode_u
Definition hermite_gaussian_beam.h:35
double amplitude
Definition hermite_gaussian_beam.h:34
double rotation
Definition hermite_gaussian_beam.h:51
double center_v
Definition hermite_gaussian_beam.h:40
double carrier_u
Definition hermite_gaussian_beam.h:45