Oakfield API Documentation 1.0.0
Numerical core APIs
Loading...
Searching...
No Matches
divergence.h
Go to the documentation of this file.
1
5#ifndef OAKFIELD_DIVERGENCE_H
6#define OAKFIELD_DIVERGENCE_H
7
9
10#include <stdbool.h>
11#include <stddef.h>
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17struct SimContext;
18
19#define SIM_DIVERGENCE_AXIS_AUTO ((size_t)SIZE_MAX)
20
32
49
60 const SimDivergenceOperatorConfig *config, size_t *out_index);
61
72SimResult sim_divergence_config(struct SimContext *context, size_t operator_index,
73 SimDivergenceOperatorConfig *out_config);
74
87SimResult sim_divergence_update(struct SimContext *context, size_t operator_index,
88 const SimDivergenceOperatorConfig *config);
89
90#ifdef __cplusplus
91}
92#endif
93
94#endif /* OAKFIELD_DIVERGENCE_H */
SimResult sim_divergence_update(struct SimContext *context, size_t operator_index, const SimDivergenceOperatorConfig *config)
Replace the configuration of a registered divergence operator.
SimResult sim_add_divergence_operator(struct SimContext *context, const SimDivergenceOperatorConfig *config, size_t *out_index)
Register a finite-difference divergence operator.
SimResult sim_divergence_config(struct SimContext *context, size_t operator_index, SimDivergenceOperatorConfig *out_config)
Copy the current divergence configuration from a registered operator.
SimDivergenceStencil
Finite-difference stencils available for divergence derivatives.
Definition divergence.h:24
@ SIM_DIVERGENCE_STENCIL_BACKWARD_1
Definition divergence.h:28
@ SIM_DIVERGENCE_STENCIL_BACKWARD_2
Definition divergence.h:30
@ SIM_DIVERGENCE_STENCIL_CENTRAL_4
Definition divergence.h:26
@ SIM_DIVERGENCE_STENCIL_CENTRAL_2
Definition divergence.h:25
@ SIM_DIVERGENCE_STENCIL_FORWARD_1
Definition divergence.h:27
@ SIM_DIVERGENCE_STENCIL_FORWARD_2
Definition divergence.h:29
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
SimIRBoundaryPolicy
Boundary handling policy for differential operators.
Definition kernel_ir.h:82
Declarative complex-first operator splitting (substep expansion at plan time).
Simulation runtime state.
Definition sim_context.h:70
Configuration for a finite-difference vector divergence operator.
Definition divergence.h:36
size_t axis_x
Definition divergence.h:42
double spacing_y
Definition divergence.h:41
bool accumulate
Definition divergence.h:46
SimIRBoundaryPolicy boundary
Definition divergence.h:45
size_t axis_y
Definition divergence.h:43
SimDivergenceStencil stencil
Definition divergence.h:44
bool scale_by_dt
Definition divergence.h:47
double spacing_x
Definition divergence.h:40
size_t input_field_x
Definition divergence.h:37
size_t input_field_y
Definition divergence.h:38
size_t output_field
Definition divergence.h:39