Oakfield API Documentation 1.0.0
Numerical core APIs
Loading...
Searching...
No Matches
dispersion.h
Go to the documentation of this file.
1
8#ifndef OAKFIELD_DISPERSION_H
9#define OAKFIELD_DISPERSION_H
10
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
27
38 const DispersionOperatorConfig *config, size_t *out_index);
39
50SimResult sim_dispersion_config(struct SimContext *context, size_t operator_index,
51 DispersionOperatorConfig *out_config);
52
64SimResult sim_dispersion_update(struct SimContext *context, size_t operator_index,
65 const DispersionOperatorConfig *config);
66
67#ifdef __cplusplus
68}
69#endif
70
71#endif /* OAKFIELD_DISPERSION_H */
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.
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
Declarative complex-first operator splitting (substep expansion at plan time).
Configuration for k-dependent spectral phase dispersion.
Definition dispersion.h:20
size_t field_index
Definition dispersion.h:21
double order
Definition dispersion.h:23
double reference_k
Definition dispersion.h:25
double spacing
Definition dispersion.h:24
double coefficient
Definition dispersion.h:22
Simulation runtime state.
Definition sim_context.h:70