Oakfield API Documentation 1.0.0
Numerical core APIs
Loading...
Searching...
No Matches
curl.h
Go to the documentation of this file.
1
5#ifndef OAKFIELD_CURL_H
6#define OAKFIELD_CURL_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_CURL_AXIS_AUTO ((size_t)SIZE_MAX)
20
32
49
60 size_t *out_index);
61
72SimResult sim_curl_config(struct SimContext *context, size_t operator_index,
73 SimCurlOperatorConfig *out_config);
74
87SimResult sim_curl_update(struct SimContext *context, size_t operator_index,
88 const SimCurlOperatorConfig *config);
89
90#ifdef __cplusplus
91}
92#endif
93
94#endif /* OAKFIELD_CURL_H */
SimCurlStencil
Finite-difference stencils available for curl derivatives.
Definition curl.h:24
@ SIM_CURL_STENCIL_CENTRAL_4
Definition curl.h:26
@ SIM_CURL_STENCIL_BACKWARD_2
Definition curl.h:30
@ SIM_CURL_STENCIL_FORWARD_1
Definition curl.h:27
@ SIM_CURL_STENCIL_FORWARD_2
Definition curl.h:29
@ SIM_CURL_STENCIL_CENTRAL_2
Definition curl.h:25
@ SIM_CURL_STENCIL_BACKWARD_1
Definition curl.h:28
SimResult sim_curl_config(struct SimContext *context, size_t operator_index, SimCurlOperatorConfig *out_config)
Copy the current curl configuration from a registered operator.
SimResult sim_add_curl_operator(struct SimContext *context, const SimCurlOperatorConfig *config, size_t *out_index)
Register a finite-difference curl operator.
SimResult sim_curl_update(struct SimContext *context, size_t operator_index, const SimCurlOperatorConfig *config)
Replace the configuration of a registered curl operator.
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 scalar curl operator.
Definition curl.h:36
size_t output_field
Definition curl.h:39
size_t axis_y
Definition curl.h:43
double spacing_y
Definition curl.h:41
SimCurlStencil stencil
Definition curl.h:44
size_t input_field_y
Definition curl.h:38
SimIRBoundaryPolicy boundary
Definition curl.h:45
size_t axis_x
Definition curl.h:42
size_t input_field_x
Definition curl.h:37
bool accumulate
Definition curl.h:46
double spacing_x
Definition curl.h:40
bool scale_by_dt
Definition curl.h:47