Oakfield API Documentation 1.0.0
Numerical core APIs
Loading...
Searching...
No Matches
optical_vortex.h
Go to the documentation of this file.
1
13#ifndef OAKFIELD_STIMULUS_OPTICAL_VORTEX_H
14#define OAKFIELD_STIMULUS_OPTICAL_VORTEX_H
15
16#include "coords.h"
18
19#include <stdbool.h>
20#include <stddef.h>
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26struct SimContext;
27
50
65 size_t *out_index);
66
77SimResult sim_stimulus_optical_vortex_config(struct SimContext *context, size_t operator_index,
79
93SimResult sim_stimulus_optical_vortex_update(struct SimContext *context, size_t operator_index,
94 const SimStimulusOpticalVortexConfig *config);
95
96#ifdef __cplusplus
97}
98#endif
99
100#endif /* 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