6#ifndef OAKFIELD_HYSTERETIC_H
7#define 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