Oakfield API Documentation 1.0.0
Numerical core APIs
Loading...
Searching...
No Matches
scale.h
Go to the documentation of this file.
1
8#ifndef OAKFIELD_SCALE_H
9#define OAKFIELD_SCALE_H
10
12
13#include <stdbool.h>
14#include <stddef.h>
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20struct SimContext;
21
32
47 size_t *out_index);
48
59SimResult sim_scale_config(struct SimContext *context, size_t operator_index,
60 SimScaleOperatorConfig *out_config);
61
76SimResult sim_scale_update(struct SimContext *context, size_t operator_index,
77 const SimScaleOperatorConfig *config);
78
79#ifdef __cplusplus
80}
81#endif
82
83#endif /* OAKFIELD_SCALE_H */
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
Declarative complex-first operator splitting (substep expansion at plan time).
SimResult sim_scale_config(struct SimContext *context, size_t operator_index, SimScaleOperatorConfig *out_config)
Copy the current configuration from a registered scale operator.
SimResult sim_scale_update(struct SimContext *context, size_t operator_index, const SimScaleOperatorConfig *config)
Replace the configuration of a registered scale operator.
SimResult sim_add_scale_operator(struct SimContext *context, const SimScaleOperatorConfig *config, size_t *out_index)
Register a scale utility operator.
Simulation runtime state.
Definition sim_context.h:70
Configuration for scaling one compatible field into another.
Definition scale.h:25
size_t output_field
Definition scale.h:27
size_t input_field
Definition scale.h:26
bool scale_by_dt
Definition scale.h:30
bool accumulate
Definition scale.h:29
double scale
Definition scale.h:28