Oakfield API Documentation 1.0.0
Numerical core APIs
Loading...
Searching...
No Matches
linear_dissipative.h
Go to the documentation of this file.
1
7#ifndef OAKFIELD_LINEAR_DISSIPATIVE_H
8#define OAKFIELD_LINEAR_DISSIPATIVE_H
9
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16struct SimContext;
17
27
39 size_t *out_index);
40
51SimResult sim_linear_dissipative_config(struct SimContext *context, size_t operator_index,
53
66SimResult sim_linear_dissipative_update(struct SimContext *context, size_t operator_index,
68
81SimResult linear_dissipative_apply(void *state_ptr, struct SimContext *context,
82 struct SimOperator *self, double dt);
83
84#ifdef __cplusplus
85}
86#endif
87
88#endif /* OAKFIELD_LINEAR_DISSIPATIVE_H */
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
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.
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.
Declarative complex-first operator splitting (substep expansion at plan time).
Configuration for the fractional Laplacian dissipative operator.
Definition linear_dissipative.h:21
double spacing
Definition linear_dissipative.h:25
size_t field_index
Definition linear_dissipative.h:22
double alpha
Definition linear_dissipative.h:24
double viscosity
Definition linear_dissipative.h:23
Simulation runtime state.
Definition sim_context.h:70
Operator instance stored by the registry.
Definition operator.h:344