Oakfield API Documentation 1.0.0
Numerical core APIs
Loading...
Searching...
No Matches
moire.h
Go to the documentation of this file.
1
9#ifndef OAKFIELD_STIMULUS_MOIRE_H
10#define OAKFIELD_STIMULUS_MOIRE_H
11
12#include "coords.h"
14
15#include <stdbool.h>
16#include <stddef.h>
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22struct SimContext;
23
46
60 const SimStimulusMoireConfig *config, size_t *out_index);
61
72SimResult sim_stimulus_moire_config(struct SimContext *context, size_t operator_index,
73 SimStimulusMoireConfig *out_config);
74
88SimResult sim_stimulus_moire_update(struct SimContext *context, size_t operator_index,
89 const SimStimulusMoireConfig *config);
90
91#ifdef __cplusplus
92}
93#endif
94
95#endif /* OAKFIELD_STIMULUS_MOIRE_H */
Shared spatial coordinate helpers for stimulus operators.
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
SimResult sim_stimulus_moire_update(struct SimContext *context, size_t operator_index, const SimStimulusMoireConfig *config)
Replace or renormalize a registered moire stimulus configuration.
SimResult sim_stimulus_moire_config(struct SimContext *context, size_t operator_index, SimStimulusMoireConfig *out_config)
Copy the current moire configuration from a registered operator.
SimResult sim_add_stimulus_moire_operator(struct SimContext *context, const SimStimulusMoireConfig *config, size_t *out_index)
Register a moire interference stimulus 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 two-grating moire interference stimuli.
Definition moire.h:27
double rotation
Definition moire.h:42
double wavenumber_a
Definition moire.h:30
double amplitude
Definition moire.h:29
double k2x
Definition moire.h:34
SimStimulusCoordConfig coord
Definition moire.h:40
bool use_wavevectors
Definition moire.h:43
double omega_a
Definition moire.h:36
size_t field_index
Definition moire.h:28
double phase_b
Definition moire.h:39
double k1y
Definition moire.h:33
double k1x
Definition moire.h:32
double wavenumber_b
Definition moire.h:31
double omega_b
Definition moire.h:37
double k2y
Definition moire.h:35
double phase_a
Definition moire.h:38
double time_offset
Definition moire.h:41
bool scale_by_dt
Definition moire.h:44