13#ifndef OAKFIELD_STIMULUS_OPTICAL_VORTEX_H
14#define OAKFIELD_STIMULUS_OPTICAL_VORTEX_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_optical_vortex_config(struct SimContext *context, size_t operator_index, SimStimulusOpticalVortexConfig *out_config)
Copy the current optical-vortex configuration from a registered operator.
SimResult sim_stimulus_optical_vortex_update(struct SimContext *context, size_t operator_index, const SimStimulusOpticalVortexConfig *config)
Replace or renormalize a registered optical-vortex configuration.
SimResult sim_add_stimulus_optical_vortex_operator(struct SimContext *context, const SimStimulusOpticalVortexConfig *config, size_t *out_index)
Register an optical vortex beam stimulus operator.
Simulation runtime state.
Definition sim_context.h:70
Shared coordinate mapping configuration used by stimulus operators.
Definition coords.h:53
Configuration for an optical vortex beam with phase winding.
Definition optical_vortex.h:31
bool scale_by_dt
Definition optical_vortex.h:48
double phase
Definition optical_vortex.h:44
double velocity_v
Definition optical_vortex.h:40
double center_v
Definition optical_vortex.h:38
SimStimulusCoordConfig coord
Definition optical_vortex.h:45
double center_u
Definition optical_vortex.h:37
int charge
Definition optical_vortex.h:34
double omega
Definition optical_vortex.h:43
double time_offset
Definition optical_vortex.h:46
double waist_x
Definition optical_vortex.h:35
double waist_y
Definition optical_vortex.h:36
double amplitude
Definition optical_vortex.h:33
size_t field_index
Definition optical_vortex.h:32
double rotation
Definition optical_vortex.h:47
double orientation_rate
Definition optical_vortex.h:42
double orientation
Definition optical_vortex.h:41
double velocity_u
Definition optical_vortex.h:39