|
Oakfield API Documentation 1.0.0
Numerical core APIs
|
Optical vortex beam stimulus with Gaussian envelope and phase singularity. More...


Go to the source code of this file.
Classes | |
| struct | SimStimulusOpticalVortexConfig |
| Configuration for an optical vortex beam with phase winding. More... | |
Typedefs | |
| typedef struct SimStimulusOpticalVortexConfig | SimStimulusOpticalVortexConfig |
| Configuration for an optical vortex beam with phase winding. | |
Functions | |
| SimResult | sim_add_stimulus_optical_vortex_operator (struct SimContext *context, const SimStimulusOpticalVortexConfig *config, size_t *out_index) |
| Register an optical vortex beam stimulus operator. | |
| 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. | |
Optical vortex beam stimulus with Gaussian envelope and phase singularity.
Synthesizes a vortex beam of the form V(u,v,t) = A * rho^{|l|} * exp(-rho^2 / 2) * exp(i * (l * theta - omega * t + phi)), where rho is the beam radius normalized by the configured waists and l is the topological charge.
For real fields, the real component of the beam is injected. For complex fields, the full complex beam is written with an additional global rotation.
| SimResult sim_add_stimulus_optical_vortex_operator | ( | struct SimContext * | context, |
| const SimStimulusOpticalVortexConfig * | config, | ||
| size_t * | out_index | ||
| ) |
Register an optical vortex beam stimulus operator.
The implementation copies and normalizes config, then registers a split operator that writes the vortex envelope and phase winding into the target field.
| context | Simulation context that will own the operator. | |
| config | Optional optical-vortex configuration; NULL selects normalized defaults. | |
| [out] | out_index | Optional destination for the registered operator index. |
| 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.
| context | Simulation context containing the operator. | |
| operator_index | Index returned by sim_add_stimulus_optical_vortex_operator(). | |
| [out] | out_config | Receives the operator's normalized configuration. |
| SimResult sim_stimulus_optical_vortex_update | ( | struct SimContext * | context, |
| size_t | operator_index, | ||
| const SimStimulusOpticalVortexConfig * | config | ||
| ) |
Replace or renormalize a registered optical-vortex configuration.
Passing NULL for config keeps the existing configuration and reapplies normalization. A successful update refreshes symbolic state and invalidates the scheduler plan.
| context | Simulation context containing the operator. |
| operator_index | Index of the optical-vortex operator to update. |
| config | Optional replacement configuration. |