|
Oakfield API Documentation 1.0.0
Numerical core APIs
|
Fractional Laplacian dissipative operator (|k|^alpha spectral damping). More...
#include "oakfield/operator_split.h"

Go to the source code of this file.
Classes | |
| struct | LinearDissipativeOperatorConfig |
| Configuration for the fractional Laplacian dissipative operator. More... | |
Typedefs | |
| typedef struct LinearDissipativeOperatorConfig | LinearDissipativeOperatorConfig |
| Configuration for the fractional Laplacian dissipative operator. | |
Functions | |
| SimResult | sim_add_linear_dissipative_operator (struct SimContext *context, const LinearDissipativeOperatorConfig *config, size_t *out_index) |
| Add a fractional Laplacian dissipative operator to the context. | |
| SimResult | sim_linear_dissipative_config (struct SimContext *context, size_t operator_index, LinearDissipativeOperatorConfig *out_config) |
| Copy the current dissipative configuration from a registered operator. | |
| SimResult | sim_linear_dissipative_update (struct SimContext *context, size_t operator_index, const LinearDissipativeOperatorConfig *config) |
| Replace or renormalize a registered dissipative operator configuration. | |
| SimResult | linear_dissipative_apply (void *state_ptr, struct SimContext *context, struct SimOperator *self, double dt) |
| Apply the dissipative split step for an already registered operator state. | |
Fractional Laplacian dissipative operator (|k|^alpha spectral damping).
Applies dissipative dynamics via a fractional Laplacian term on matching real or complex fields.
| SimResult linear_dissipative_apply | ( | void * | state_ptr, |
| struct SimContext * | context, | ||
| struct SimOperator * | self, | ||
| double | dt | ||
| ) |
Apply the dissipative split step for an already registered operator state.
This is exposed for split descriptors and related operator glue; callers must pass the state object created by sim_add_linear_dissipative_operator().
| state_ptr | Internal LinearDissipativeOperatorState pointer. |
| context | Simulation context containing the target field. |
| self | Operator instance invoking the step. |
| dt | Substep duration. |
| SimResult sim_add_linear_dissipative_operator | ( | struct SimContext * | context, |
| const LinearDissipativeOperatorConfig * | config, | ||
| size_t * | out_index | ||
| ) |
Add a fractional Laplacian dissipative operator to the context.
| context | Simulation context that will own the operator. | |
| config | Optional operator configuration; NULL selects normalized defaults. | |
| [out] | out_index | Optional destination for the registered operator index. |
| SimResult sim_linear_dissipative_config | ( | struct SimContext * | context, |
| size_t | operator_index, | ||
| LinearDissipativeOperatorConfig * | out_config | ||
| ) |
Copy the current dissipative configuration from a registered operator.
| context | Simulation context containing the operator. | |
| operator_index | Index returned by sim_add_linear_dissipative_operator(). | |
| [out] | out_config | Receives the normalized configuration. |
| SimResult sim_linear_dissipative_update | ( | struct SimContext * | context, |
| size_t | operator_index, | ||
| const LinearDissipativeOperatorConfig * | config | ||
| ) |
Replace or renormalize a registered dissipative operator configuration.
Passing NULL for config keeps the current configuration and reapplies normalization. Changes to alpha or spacing mark spectral coefficients dirty.
| context | Simulation context containing the operator. |
| operator_index | Index of the dissipative operator to update. |
| config | Optional replacement configuration. |