|
Oakfield API Documentation 1.0.0
Numerical core APIs
|
Chladni nodal-line stimulus for vibrating rectangular plate modes. More...


Go to the source code of this file.
Classes | |
| struct | SimStimulusChladniConfig |
| Configuration for a Chladni nodal-line stimulus on a rectangular plate. More... | |
Typedefs | |
| typedef struct SimStimulusChladniConfig | SimStimulusChladniConfig |
| Configuration for a Chladni nodal-line stimulus on a rectangular plate. | |
Functions | |
| SimResult | sim_add_stimulus_chladni_operator (struct SimContext *context, const SimStimulusChladniConfig *config, size_t *out_index) |
| Register a Chladni nodal-line stimulus operator. | |
| SimResult | sim_stimulus_chladni_config (struct SimContext *context, size_t operator_index, SimStimulusChladniConfig *out_config) |
| Copy the current Chladni configuration from a registered operator. | |
| SimResult | sim_stimulus_chladni_update (struct SimContext *context, size_t operator_index, const SimStimulusChladniConfig *config) |
| Replace or renormalize a registered Chladni stimulus configuration. | |
Chladni nodal-line stimulus for vibrating rectangular plate modes.
Builds a Gaussian band around the nodal set of an antisymmetrized rectangular-plate mode pair: base(u,v) = cos(m*pi*u/Lx) cos(n*pi*v/Ly) - mix * cos(n*pi*u/Lx) cos(m*pi*v/Ly) and writes A * exp(-base(u,v)^2 / (2*sigma^2)) * exp(i * (-omega*t + phi)).
Real fields receive the real component of the pattern; complex fields receive the full complex pattern with an additional global rotation.
| SimResult sim_add_stimulus_chladni_operator | ( | struct SimContext * | context, |
| const SimStimulusChladniConfig * | config, | ||
| size_t * | out_index | ||
| ) |
Register a Chladni nodal-line stimulus operator.
The implementation copies and normalizes config, then registers a split operator that writes the modal nodal-band pattern into the configured target field.
| context | Simulation context that will own the operator. | |
| config | Optional Chladni configuration; NULL selects normalized defaults. | |
| [out] | out_index | Optional destination for the registered operator index. |
| SimResult sim_stimulus_chladni_config | ( | struct SimContext * | context, |
| size_t | operator_index, | ||
| SimStimulusChladniConfig * | out_config | ||
| ) |
Copy the current Chladni configuration from a registered operator.
| context | Simulation context containing the operator. | |
| operator_index | Index returned by sim_add_stimulus_chladni_operator(). | |
| [out] | out_config | Receives the operator's normalized configuration. |
| SimResult sim_stimulus_chladni_update | ( | struct SimContext * | context, |
| size_t | operator_index, | ||
| const SimStimulusChladniConfig * | config | ||
| ) |
Replace or renormalize a registered Chladni stimulus configuration.
Passing NULL for config keeps the existing configuration and reapplies normalization. A successful update refreshes derived state and invalidates the scheduler plan.
| context | Simulation context containing the operator. |
| operator_index | Index of the Chladni operator to update. |
| config | Optional replacement configuration. |