Spectral App configuration reference (JSON / TOML)¶
This page lists the JSON / TOML surface consumed by the default CPU spectral stack (SimulationSession<SpectralCPUStack> / ETD sessions) for shipped apps (apps/tungsten, apps/aluminumNew). Apps may add keys or nest objects; treat shipped inputs as ground truth when in doubt.
Pipeline order: app_pipeline.md. Mental model: configuration.md.
Domain (grid)¶
Parsed by from_json<Domain>(settings) — supports flat keys on the root object or nested under "domain".
Key(s) |
Type |
Meaning |
|---|---|---|
|
integer |
Grid point counts |
|
number |
Spacing |
|
string |
|
Examples: top-level keys in some snippets; tungsten uses a "domain" object with the same logical fields (apps/tungsten/inputs_json/).
Time stepping¶
Parsed by from_json<Time>(settings) — supports flat keys or nested under "timestepping".
Key |
Type |
Meaning |
|---|---|---|
|
number |
Integration window |
|
number |
Step size |
|
number |
Output cadence (also gates binary writers in JSON wiring; |
|
string |
Optional. |
FFT (plan_options)¶
Object key "plan_options" (JSON) or [plan_options] (TOML). Passed to HeFFTe plan construction on the CPU spectral path (SpectralCPUStack) and on GPU spectral sessions (GPUSpectralStack via create_cuda / create_hip). backend: "cuda" is rejected for SpectralCPUStack / CPUFFT — use CPU fftw there, or a GPU session (tungsten_cuda, aluminum_etd_cuda, session-matrix GPU JSON). GPU overlays start from cuFFT / rocFFT defaults and apply the same reshape / pencil / GPU-aware keys.
Annotated reference file: examples/fft_backend_selection.toml. Tutorial: tutorials/fft_heffte_plan_options.md.
Model¶
Key |
Type |
Meaning |
|---|---|---|
|
string |
Conventionally matches the app’s model registration |
|
object |
Model-specific; optional |
Validation is model-dependent (see parameter_validation.md).
Tungsten (apps/tungsten) accepts optional thermal-drive keys on model.params. Omitting them is the isothermal 0.2.0 case (CPU goldens unchanged):
Key |
Type |
Meaning |
|---|---|---|
|
number |
Thermal gradient along x. Default |
|
number |
Frame velocity in |
|
number |
Initial front position used to unwrap x. Default |
The linear ETD symbol still uses the JSON reference T. Only the real-space mean-field cubic (q3) sees the local temperature. CPU, CUDA, and HIP share TungstenPointwise. See apps/tungsten/README.md.
Result writers¶
When saveat > 0 and fields is present, parse_result_writers_from_json constructs a catalog writer per entry (default "binary" → BinaryWriter):
Key |
Type |
Meaning |
|---|---|---|
|
string |
Field identifier known to the simulator / model |
|
string |
Filename template. |
|
string |
Catalog key: |
Initial / boundary conditions¶
Key |
Type |
Meaning |
|---|---|---|
|
array |
Objects with |
|
array |
Same pattern |
Modifier types must be registered in main before App runs (register_field_modifier<…>). See app_pipeline.md and examples/10_ui_register_ic.cpp.
Optional sections¶
Key |
Handled by |
Notes |
|---|---|---|
|
|
Gen-1 overlay: |
|
|
Save accepted state every N increments ( |
|
|
Parent directory for published checkpoint bundles. |
|
|
Path to a published bundle ( |
|
|
TOML vs JSON¶
Same logical keys; TOML uses tables such as [domain], [timestepping], [plan_options], [model], [model.params].
See also¶
app_pipeline.md— session construction orderbinary_field_io_spec.md— binary file layoutio_results.md— writers overviewlearning_paths.md— guided tracks