11  CLI configuration-file reference

13 top-level input blocks and composition rules

11.1 Overview

Wake CFD CLI input files contain 13 top-level JSONC blocks. Each block maps to a specific configuration domain. This page provides a quick reference to each block’s role and links to detailed documentation. For complete type definitions, enums, and defaults, consult the JSON schema or section-specific examples.

11.2 Input blocks

Block Role Details
mesh One or more mesh files Mesh
analysis Solver, time, and dimension Analysis
models Euler/NS, compressibility, and turbulence Physical models
materials EOS, viscosity, thermal conductivity, and material properties Materials
reference Force, moment, and coefficient-normalization reference values Reference values
domains Domains and tagged-union boundary conditions Domains and boundary conditions
interfaces Connections between domains Interfaces
numerical_method Solver-specific numerical methods, CFL, and linear solvers Numerical methods
initialization Uniform, expression, restart, and FR presets Initialization
run_control Iteration, convergence, and unsteady time stepping Run control and convergence
outputs Restart, volume/surface/slice, and diagnostics File output
monitoring Console, residual CSV, and named monitors Monitoring
expert_parameters Internal tuning for GPU, Krylov, AMG, and more Expert parameters

11.3 JSONC syntax

Arrays: Use array syntax for all list-valued keys. Both object arrays and string arrays must use brackets.

"mesh": [{ "file_name": "wing.cgns" }]
"mesh_zones": ["fluid"]
"mesh_markers": ["WALL", "FARFIELD"]

Comments: Line (//) and block (/* */) comments are permitted. Trailing commas are not valid JSONC and trigger parse errors.

Enums: Some fields accept case-insensitive aliases. Use canonical names in new files for clarity.

11.4 Configuration composition

Wake CFD applies configuration layers in the following order:

1. Base file (the file passed to the solver)
2. $extends chain (resolved recursively)
3. --overlay (JSON Merge Patch, RFC 7396)
4. --patch (JSON Patch, RFC 6902)

Example:

Linux:

./wake_3d_mixed case.jsonc --overlay mach-sweep.json --patch cfl-adjust.json

Windows PowerShell:

& "C:\Program Files\Wake CFD\bin\wake_3d_mixed.exe" case.jsonc --overlay mach-sweep.json --patch cfl-adjust.json

For composition mechanics and examples, see Running Wake CFD. For input-file inheritance patterns, see Input-file structure.