Oakfield API Documentation 1.0.0
Numerical core APIs
Loading...
Searching...
No Matches
hysteretic.h
Go to the documentation of this file.
1
6#ifndef OAKFIELD_HYSTERETIC_H
7#define OAKFIELD_HYSTERETIC_H
8
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15struct SimContext;
16
25
33
42
81
92 const SimHystereticOperatorConfig *config, size_t *out_index);
93
104SimResult sim_hysteretic_config(struct SimContext *context, size_t operator_index,
105 SimHystereticOperatorConfig *out_config);
106
120SimResult sim_hysteretic_update(struct SimContext *context, size_t operator_index,
121 const SimHystereticOperatorConfig *config);
122
123#ifdef __cplusplus
124}
125#endif
126
127#endif /* OAKFIELD_HYSTERETIC_H */
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
SimResult sim_hysteretic_update(struct SimContext *context, size_t operator_index, const SimHystereticOperatorConfig *config)
Update an existing hysteretic operator in-place.
SimHystereticMode
Hysteresis mode selection.
Definition hysteretic.h:20
@ SIM_HYSTERETIC_MODE_SCHMITT
Definition hysteretic.h:21
@ SIM_HYSTERETIC_MODE_BOUC_WEN
Definition hysteretic.h:23
@ SIM_HYSTERETIC_MODE_PLAY
Definition hysteretic.h:22
SimHystereticThresholdMode
Threshold specification strategy.
Definition hysteretic.h:29
@ SIM_HYSTERETIC_THRESHOLD_BOUNDS
Definition hysteretic.h:30
@ SIM_HYSTERETIC_THRESHOLD_CENTER_WIDTH
Definition hysteretic.h:31
SimHystereticInputMode
Input preprocessing options.
Definition hysteretic.h:37
@ SIM_HYSTERETIC_INPUT_ABS
Definition hysteretic.h:39
@ SIM_HYSTERETIC_INPUT_DIRECT
Definition hysteretic.h:38
@ SIM_HYSTERETIC_INPUT_SQUARED
Definition hysteretic.h:40
SimResult sim_add_hysteretic_operator(struct SimContext *context, const SimHystereticOperatorConfig *config, size_t *out_index)
Registers a hysteretic operator instance.
SimResult sim_hysteretic_config(struct SimContext *context, size_t operator_index, SimHystereticOperatorConfig *out_config)
Retrieve the configuration currently bound to a hysteretic operator.
Declarative complex-first operator splitting (substep expansion at plan time).
Simulation runtime state.
Definition sim_context.h:70
Configuration for hysteretic operators.
Definition hysteretic.h:46
double bw_alpha
Definition hysteretic.h:71
SimHystereticInputMode input_mode
Definition hysteretic.h:51
double bw_n
Definition hysteretic.h:75
SimHystereticMode mode
Definition hysteretic.h:49
double threshold_width
Definition hysteretic.h:57
double input_gain
Definition hysteretic.h:52
SimHystereticThresholdMode threshold_mode
Definition hysteretic.h:50
double bw_beta
Definition hysteretic.h:73
double smooth
Definition hysteretic.h:62
double bw_xdot_clamp
Definition hysteretic.h:77
double bw_z_clamp
Definition hysteretic.h:76
double rate_limit
Definition hysteretic.h:63
double output_gain
Definition hysteretic.h:78
double initial_input
Definition hysteretic.h:68
double threshold_center
Definition hysteretic.h:56
double state_min
Definition hysteretic.h:60
double initial_output
Definition hysteretic.h:67
double output_high
Definition hysteretic.h:59
double play_radius
Definition hysteretic.h:70
double bw_A
Definition hysteretic.h:72
double output_bias
Definition hysteretic.h:79
double initial_z
Definition hysteretic.h:69
size_t output_field
Definition hysteretic.h:48
double bw_gamma
Definition hysteretic.h:74
double state_max
Definition hysteretic.h:61
double threshold_low
Definition hysteretic.h:54
bool initialize_from_input
Definition hysteretic.h:66
double threshold_high
Definition hysteretic.h:55
bool accumulate
Definition hysteretic.h:64
bool scale_by_dt
Definition hysteretic.h:65
size_t input_field
Definition hysteretic.h:47
double output_low
Definition hysteretic.h:58
double input_bias
Definition hysteretic.h:53