|
Oakfield API Documentation 1.0.0
Numerical core APIs
|
Hermite-Gaussian beam stimulus with separable transverse modes. More...


Go to the source code of this file.
Classes | |
| struct | SimStimulusHermiteGaussianBeamConfig |
| Configuration for a separable Hermite-Gaussian beam stimulus. More... | |
Typedefs | |
| typedef struct SimStimulusHermiteGaussianBeamConfig | SimStimulusHermiteGaussianBeamConfig |
| Configuration for a separable Hermite-Gaussian beam stimulus. | |
Functions | |
| 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_config (struct SimContext *context, size_t operator_index, SimStimulusHermiteGaussianBeamConfig *out_config) |
| Copy the current Hermite-Gaussian configuration from a registered 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. | |
Hermite-Gaussian beam stimulus with separable transverse modes.
Evaluates a local beam frame (u, v) and injects A * H_m(sqrt(2) * u / w_u) * H_n(sqrt(2) * v / w_v)
Real fields receive the real component. Complex fields receive the full complex beam with an additional global rotation.
| 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.
The implementation copies and normalizes config, then registers a split operator that writes the separable transverse mode into the target field.
| context | Simulation context that will own the operator. | |
| config | Optional Hermite-Gaussian configuration; NULL selects normalized defaults. | |
| [out] | out_index | Optional destination for the registered operator index. |
| 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.
| context | Simulation context containing the operator. | |
| operator_index | Index returned by sim_add_stimulus_hermite_gaussian_beam_operator(). | |
| [out] | out_config | Receives the operator's normalized configuration. |
| 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.
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 Hermite-Gaussian beam operator to update. |
| config | Optional replacement configuration. |