|
Oakfield API Documentation 1.0.0
Numerical core APIs
|
One executable step inside a split operator sequence. More...
#include <operator_split.h>

Public Attributes | |
| const char * | name |
| SimResult(* | fn )(void *state, struct SimContext *ctx, struct SimOperator *container_or_self, size_t substep_index, double dt_sub, void *scratch, size_t scratch_size) |
| Execute the substep. | |
| const SimSplitAccess * | accesses |
| size_t | access_count |
| double | dt_scale |
| bool | barrier_after |
| double(* | error_measure )(void *state) |
| uint64_t | required_features |
One executable step inside a split operator sequence.
| size_t SimSplitSubstep::access_count |
Number of entries in accesses.
| const SimSplitAccess* SimSplitSubstep::accesses |
Per-substep access declarations.
| bool SimSplitSubstep::barrier_after |
Treat all ports as read/write for future ordering.
| double SimSplitSubstep::dt_scale |
Positive scale applied to context dt; otherwise 1.0.
| double(* SimSplitSubstep::error_measure) (void *state) |
Optional error metric reported to the integrator.
| SimResult(* SimSplitSubstep::fn) (void *state, struct SimContext *ctx, struct SimOperator *container_or_self, size_t substep_index, double dt_sub, void *scratch, size_t scratch_size) |
Execute the substep.
| state | Shared descriptor state pointer. |
| ctx | Active simulation context. |
| container_or_self | Operator wrapper for the current substep. |
| substep_index | Zero-based substep index. |
| dt_sub | Context timestep scaled by dt_scale. |
| scratch | Optional per-thread scratch buffer, or NULL. |
| scratch_size | Size of scratch in bytes. |
| const char* SimSplitSubstep::name |
Optional label for tooling.
| uint64_t SimSplitSubstep::required_features |
Backend features required for this substep.