5#ifndef OAKFIELD_SPATIAL_DERIVATIVE_H
6#define OAKFIELD_SPATIAL_DERIVATIVE_H
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).
const char * sim_spatial_derivative_method_name(SimSpatialDerivativeMethod method)
Return the schema name for a spatial-derivative stencil.
SimResult sim_spatial_derivative_update(struct SimContext *context, size_t operator_index, const SimSpatialDerivativeOperatorConfig *config)
Replace or renormalize a registered spatial-derivative configuration.
SimSpatialDerivativeMethod
Finite-difference stencil used by the spatial derivative operator.
Definition spatial_derivative.h:22
@ SIM_SPATIAL_DERIVATIVE_METHOD_CENTRAL
Definition spatial_derivative.h:23
@ SIM_SPATIAL_DERIVATIVE_METHOD_FORWARD
Definition spatial_derivative.h:24
@ SIM_SPATIAL_DERIVATIVE_METHOD_BACKWARD
Definition spatial_derivative.h:25
SimResult sim_spatial_derivative_config(struct SimContext *context, size_t operator_index, SimSpatialDerivativeOperatorConfig *out_config)
Copy the current spatial-derivative configuration from a registered operator.
bool sim_spatial_derivative_method_from_string(const char *name, SimSpatialDerivativeMethod *out_method)
Parse a spatial-derivative stencil name.
SimResult sim_add_spatial_derivative_operator(struct SimContext *context, const SimSpatialDerivativeOperatorConfig *config, size_t *out_index)
Register a 1D spatial derivative operator.
Simulation runtime state.
Definition sim_context.h:70
Configuration for the spatial derivative operator.
Definition spatial_derivative.h:31
SimIRBoundaryPolicy boundary
Definition spatial_derivative.h:39
SimSpatialDerivativeMethod method
Definition spatial_derivative.h:35
bool skew_forward
Definition spatial_derivative.h:37
size_t output_field
Definition spatial_derivative.h:33
size_t input_field
Definition spatial_derivative.h:32
size_t axis
Definition spatial_derivative.h:36
bool accumulate
Definition spatial_derivative.h:38
double spacing
Definition spatial_derivative.h:34