|
Oakfield API Documentation 1.0.0
Numerical core APIs
|
Hysteretic operator with Schmitt, play, and Bouc-Wen modes. Supports matching real or complex input/output fields. More...
#include "oakfield/operator_split.h"

Go to the source code of this file.
Classes | |
| struct | SimHystereticOperatorConfig |
| Configuration for hysteretic operators. More... | |
Typedefs | |
| typedef enum SimHystereticMode | SimHystereticMode |
| Hysteresis mode selection. | |
| typedef enum SimHystereticThresholdMode | SimHystereticThresholdMode |
| Threshold specification strategy. | |
| typedef enum SimHystereticInputMode | SimHystereticInputMode |
| Input preprocessing options. | |
| typedef struct SimHystereticOperatorConfig | SimHystereticOperatorConfig |
| Configuration for hysteretic operators. | |
Enumerations | |
| enum | SimHystereticMode { SIM_HYSTERETIC_MODE_SCHMITT = 0 , SIM_HYSTERETIC_MODE_PLAY , SIM_HYSTERETIC_MODE_BOUC_WEN } |
| Hysteresis mode selection. More... | |
| enum | SimHystereticThresholdMode { SIM_HYSTERETIC_THRESHOLD_BOUNDS = 0 , SIM_HYSTERETIC_THRESHOLD_CENTER_WIDTH } |
| Threshold specification strategy. More... | |
| enum | SimHystereticInputMode { SIM_HYSTERETIC_INPUT_DIRECT = 0 , SIM_HYSTERETIC_INPUT_ABS , SIM_HYSTERETIC_INPUT_SQUARED } |
| Input preprocessing options. More... | |
Functions | |
| 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. | |
| SimResult | sim_hysteretic_update (struct SimContext *context, size_t operator_index, const SimHystereticOperatorConfig *config) |
| Update an existing hysteretic operator in-place. | |
Hysteretic operator with Schmitt, play, and Bouc-Wen modes. Supports matching real or complex input/output fields.
| enum SimHystereticMode |
| SimResult sim_add_hysteretic_operator | ( | struct SimContext * | context, |
| const SimHystereticOperatorConfig * | config, | ||
| size_t * | out_index | ||
| ) |
Registers a hysteretic operator instance.
| context | Simulation context that will own the operator. | |
| config | Optional hysteretic configuration; NULL selects normalized defaults. | |
| [out] | out_index | Optional destination for the registered operator index. |
| SimResult sim_hysteretic_config | ( | struct SimContext * | context, |
| size_t | operator_index, | ||
| SimHystereticOperatorConfig * | out_config | ||
| ) |
Retrieve the configuration currently bound to a hysteretic operator.
| context | Simulation context containing the operator. | |
| operator_index | Index returned by sim_add_hysteretic_operator(). | |
| [out] | out_config | Receives the normalized configuration. |
| SimResult sim_hysteretic_update | ( | struct SimContext * | context, |
| size_t | operator_index, | ||
| const SimHystereticOperatorConfig * | config | ||
| ) |
Update an existing hysteretic operator in-place.
config is required. A successful update normalizes the replacement, validates field compatibility, resets internal history initialization, and invalidates the scheduler plan.
| context | Simulation context containing the operator. |
| operator_index | Index of the hysteretic operator to update. |
| config | Replacement hysteretic configuration. |