Oakfield API Documentation 1.0.0
Numerical core APIs
Loading...
Searching...
No Matches
laplace_beltrami.h
Go to the documentation of this file.
1
15#ifndef OAKFIELD_STIMULUS_LAPLACE_BELTRAMI_H
16#define OAKFIELD_STIMULUS_LAPLACE_BELTRAMI_H
17
18#include "coords.h"
20
21#include <stdbool.h>
22#include <stddef.h>
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28struct SimContext;
29
38
57
72 size_t *out_index);
73
85SimResult sim_stimulus_laplace_beltrami_config(struct SimContext *context, size_t operator_index,
87
101SimResult sim_stimulus_laplace_beltrami_update(struct SimContext *context, size_t operator_index,
103
104#ifdef __cplusplus
105}
106#endif
107
108#endif /* OAKFIELD_STIMULUS_LAPLACE_BELTRAMI_H */
Shared spatial coordinate helpers for stimulus operators.
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
SimStimulusLaplaceBeltramiManifold
Analytic manifold families supported by Laplace-Beltrami stimuli.
Definition laplace_beltrami.h:33
@ SIM_STIMULUS_LAPLACE_BELTRAMI_CYLINDER
Definition laplace_beltrami.h:36
@ SIM_STIMULUS_LAPLACE_BELTRAMI_RECTANGLE
Definition laplace_beltrami.h:34
@ SIM_STIMULUS_LAPLACE_BELTRAMI_FLAT_TORUS
Definition laplace_beltrami.h:35
SimResult sim_stimulus_laplace_beltrami_update(struct SimContext *context, size_t operator_index, const SimStimulusLaplaceBeltramiConfig *config)
Replace or renormalize a registered Laplace-Beltrami configuration.
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.
Declarative complex-first operator splitting (substep expansion at plan time).
Simulation runtime state.
Definition sim_context.h:70
Shared coordinate mapping configuration used by stimulus operators.
Definition coords.h:53
Configuration for analytic Laplace-Beltrami eigenmode stimuli.
Definition laplace_beltrami.h:42
double rotation
Definition laplace_beltrami.h:54
int mode_u
Definition laplace_beltrami.h:46
double amplitude
Definition laplace_beltrami.h:44
double phase
Definition laplace_beltrami.h:51
double omega
Definition laplace_beltrami.h:50
double time_offset
Definition laplace_beltrami.h:53
double extent_u
Definition laplace_beltrami.h:48
SimStimulusCoordConfig coord
Definition laplace_beltrami.h:52
SimStimulusLaplaceBeltramiManifold manifold
Definition laplace_beltrami.h:45
int mode_v
Definition laplace_beltrami.h:47
size_t field_index
Definition laplace_beltrami.h:43
bool scale_by_dt
Definition laplace_beltrami.h:55
double extent_v
Definition laplace_beltrami.h:49