|
Oakfield API Documentation 1.0.0
Numerical core APIs
|
Analytic Laplace-Beltrami eigenmode stimulus on simple manifolds. More...


Go to the source code of this file.
Classes | |
| struct | SimStimulusLaplaceBeltramiConfig |
| Configuration for analytic Laplace-Beltrami eigenmode stimuli. More... | |
Typedefs | |
| typedef enum SimStimulusLaplaceBeltramiManifold | SimStimulusLaplaceBeltramiManifold |
| Analytic manifold families supported by Laplace-Beltrami stimuli. | |
| typedef struct SimStimulusLaplaceBeltramiConfig | SimStimulusLaplaceBeltramiConfig |
| Configuration for analytic Laplace-Beltrami eigenmode stimuli. | |
Enumerations | |
| enum | SimStimulusLaplaceBeltramiManifold { SIM_STIMULUS_LAPLACE_BELTRAMI_RECTANGLE = 0 , SIM_STIMULUS_LAPLACE_BELTRAMI_FLAT_TORUS , SIM_STIMULUS_LAPLACE_BELTRAMI_CYLINDER } |
| Analytic manifold families supported by Laplace-Beltrami stimuli. More... | |
Functions | |
| SimResult | sim_add_stimulus_laplace_beltrami_operator (struct SimContext *context, const SimStimulusLaplaceBeltramiConfig *config, size_t *out_index) |
| Register an analytic Laplace-Beltrami eigenmode stimulus operator. | |
| SimResult | sim_stimulus_laplace_beltrami_config (struct SimContext *context, size_t operator_index, SimStimulusLaplaceBeltramiConfig *out_config) |
| Copy the current Laplace-Beltrami configuration from a registered operator. | |
| SimResult | sim_stimulus_laplace_beltrami_update (struct SimContext *context, size_t operator_index, const SimStimulusLaplaceBeltramiConfig *config) |
| Replace or renormalize a registered Laplace-Beltrami configuration. | |
Analytic Laplace-Beltrami eigenmode stimulus on simple manifolds.
Evaluates a local chart (u, v) and injects a manifold eigenmode A * Phi_{m,n}(u,v; M) * exp(i * (-omega * (t + t_0) + phi)), where M is one of:
Real fields receive the real component. Complex fields receive the full complex mode with an additional global rotation.
| SimResult sim_add_stimulus_laplace_beltrami_operator | ( | struct SimContext * | context, |
| const SimStimulusLaplaceBeltramiConfig * | config, | ||
| size_t * | out_index | ||
| ) |
Register an analytic Laplace-Beltrami eigenmode stimulus operator.
The implementation copies and normalizes config, then registers a split operator that evaluates the selected manifold eigenmode on the target field.
| context | Simulation context that will own the operator. | |
| config | Optional Laplace-Beltrami configuration; NULL selects normalized defaults. | |
| [out] | out_index | Optional destination for the registered operator index. |
| SimResult sim_stimulus_laplace_beltrami_config | ( | struct SimContext * | context, |
| size_t | operator_index, | ||
| SimStimulusLaplaceBeltramiConfig * | out_config | ||
| ) |
Copy the current Laplace-Beltrami configuration from a registered operator.
| context | Simulation context containing the operator. | |
| operator_index | Index returned by sim_add_stimulus_laplace_beltrami_operator(). | |
| [out] | out_config | Receives the operator's normalized configuration. |
| SimResult sim_stimulus_laplace_beltrami_update | ( | struct SimContext * | context, |
| size_t | operator_index, | ||
| const SimStimulusLaplaceBeltramiConfig * | config | ||
| ) |
Replace or renormalize a registered Laplace-Beltrami configuration.
Passing NULL for config keeps the existing configuration and reapplies normalization. A successful update refreshes symbolic state and invalidates the scheduler plan.
| context | Simulation context containing the operator. |
| operator_index | Index of the Laplace-Beltrami operator to update. |
| config | Optional replacement configuration. |