|
Oakfield API Documentation 1.0.0
Numerical core APIs
|
Spectral dispersion operator applying k-dependent phase rotation. More...
#include "oakfield/operator_split.h"

Go to the source code of this file.
Classes | |
| struct | DispersionOperatorConfig |
| Configuration for k-dependent spectral phase dispersion. More... | |
Typedefs | |
| typedef struct DispersionOperatorConfig | DispersionOperatorConfig |
| Configuration for k-dependent spectral phase dispersion. | |
Functions | |
| SimResult | sim_add_dispersion_operator (struct SimContext *context, const DispersionOperatorConfig *config, size_t *out_index) |
| Register a spectral dispersion operator. | |
| SimResult | sim_dispersion_config (struct SimContext *context, size_t operator_index, DispersionOperatorConfig *out_config) |
| Copy the current dispersion configuration from a registered operator. | |
| SimResult | sim_dispersion_update (struct SimContext *context, size_t operator_index, const DispersionOperatorConfig *config) |
| Replace the configuration of a registered dispersion operator. | |
Spectral dispersion operator applying k-dependent phase rotation.
Complex fields receive exp(i * theta(k)) evolution. Real fields use the projected real multiplier cos(theta(k)).
| SimResult sim_add_dispersion_operator | ( | struct SimContext * | context, |
| const DispersionOperatorConfig * | config, | ||
| size_t * | out_index | ||
| ) |
Register a spectral dispersion operator.
| context | Simulation context that will own the operator. | |
| config | Optional dispersion configuration; NULL selects normalized defaults. | |
| [out] | out_index | Optional destination for the registered operator index. |
| SimResult sim_dispersion_config | ( | struct SimContext * | context, |
| size_t | operator_index, | ||
| DispersionOperatorConfig * | out_config | ||
| ) |
Copy the current dispersion configuration from a registered operator.
| context | Simulation context containing the operator. | |
| operator_index | Index returned by sim_add_dispersion_operator(). | |
| [out] | out_config | Receives the normalized configuration. |
| SimResult sim_dispersion_update | ( | struct SimContext * | context, |
| size_t | operator_index, | ||
| const DispersionOperatorConfig * | config | ||
| ) |
Replace the configuration of a registered dispersion operator.
config is required. The target field cannot be retargeted by update.
| context | Simulation context containing the operator. |
| operator_index | Index of the dispersion operator to update. |
| config | Replacement dispersion configuration. |