Configuration files
KiT-RT uses a simple key-value format parsed by Config (see src/common/config.cpp). It is not strict TOML.
Syntax
One option per line: KEY = VALUE
Lists use parentheses: SCREEN_OUTPUT = (ITER, MASS, RMS_FLUX)
Comments often use % in existing examples
Boolean values use YES/NO
Relative paths are resolved from the config file directory
Minimal example
OUTPUT_DIR = ../../../result
OUTPUT_FILE = checkerboard_SN
LOG_DIR = ../../../result/logs
MESH_FILE = ../../mesh_files/checkerboard.su2
PROBLEM = CHECKERBOARD
SOLVER = SN_SOLVER
CFL_NUMBER = 0.5
TIME_FINAL = 0.4
BC_DIRICHLET = ( void )
QUAD_TYPE = GAUSS_LEGENDRE_TENSORIZED_2D
QUAD_ORDER = 4
VOLUME_OUTPUT = (MINIMAL)
Core options
File and paths:
OUTPUT_DIR, OUTPUT_FILE, LOG_DIR, LOG_FILE
MESH_FILE, CT_FILE, DATA_DIR
LOAD_RESTART_SOLUTION, SAVE_RESTART_SOLUTION_FREQUENCY
Solver setup:
SOLVER, PROBLEM, HPC_SOLVER
CFL_NUMBER, TIME_FINAL, RECONS_ORDER, TIME_INTEGRATION_ORDER
MAX_MOMENT_SOLVER, SPATIAL_DIM, SN_ALL_GAUSS_PTS
Physics and closures:
KERNEL, SPHERICAL_BASIS
ENTROPY_FUNCTIONAL, ENTROPY_OPTIMIZER
REGULARIZER_GAMMA, NEWTON_*, NEURAL_MODEL_*
Boundary and quadrature:
BC_DIRICHLET, BC_NEUMANN
QUAD_TYPE, QUAD_ORDER
Output control:
VOLUME_OUTPUT, VOLUME_OUTPUT_FREQUENCY
SCREEN_OUTPUT, SCREEN_OUTPUT_FREQUENCY
HISTORY_OUTPUT, HISTORY_OUTPUT_FREQUENCY
Current enum values (from code)
These names come from include/common/globalconstants.hpp and are the strings
accepted by the config parser.
SOLVER:
SN_SOLVER
PN_SOLVER
MN_SOLVER
MN_SOLVER_NORMALIZED
CSD_SN_SOLVER
CSD_PN
CSD_MN
PROBLEM:
LINESOURCE, LINESOURCE_1D
CHECKERBOARD, CHECKERBOARD_1D
STARMAP_VALIDATION, AIRCAVITY_1D
WATERPHANTOM, WATERPHANTOM_1D, RADIATIONCT
MELTINGCUBE, MELTINGCUBE_1D
HOHLRAUM, SYMMETRIC_HOHLRAUM, QUARTER_HOHLRAUM
LATTICE, HALF_LATTICE
QUAD_TYPE:
MONTE_CARLO
GAUSS_LEGENDRE_TENSORIZED, GAUSS_LEGENDRE_TENSORIZED_2D, GAUSS_LEGENDRE_1D
LEVEL_SYMMETRIC, LEBEDEV, LDFESA, TESSALATION, PRODUCT
MIDPOINT_1D, MIDPOINT_2D, MIDPOINT_3D
RECTANGULAR_1D, RECTANGULAR_2D, RECTANGULAR_3D
KERNEL:
ISOTROPIC, ISOTROPIC_1D
SPHERICAL_BASIS:
SPHERICAL_HARMONICS
SPHERICAL_MONOMIALS
SPHERICAL_MONOMIALS_ROTATED
ENTROPY_FUNCTIONAL:
QUADRATIC
MAXWELL_BOLTZMANN
BOSE_EINSTEIN
FERMI_DIRAC
ENTROPY_OPTIMIZER:
NEWTON
REGULARIZED_NEWTON
PART_REGULARIZED_NEWTON
REDUCED_NEWTON
REDUCED_PART_REGULARIZED_NEWTON
ML
VOLUME_OUTPUT:
ANALYTIC, MINIMAL, MOMENTS, DUAL_MOMENTS, MEDICAL
SCREEN_OUTPUT and HISTORY_OUTPUT:
ITER, WALL_TIME, SIM_TIME, MASS, RMS_FLUX
VTK_OUTPUT, CSV_OUTPUT
CUR_OUTFLOW, TOTAL_OUTFLOW, CUR_OUTFLOW_P1, TOTAL_OUTFLOW_P1
CUR_OUTFLOW_P2, TOTAL_OUTFLOW_P2, MAX_OUTFLOW
CUR_PARTICLE_ABSORPTION, TOTAL_PARTICLE_ABSORPTION, MAX_PARTICLE_ABSORPTION
TOTAL_PARTICLE_ABSORPTION_CENTER, TOTAL_PARTICLE_ABSORPTION_VERTICAL, TOTAL_PARTICLE_ABSORPTION_HORIZONTAL
PROBE_MOMENT_TIME_TRACE, VAR_ABSORPTION_GREEN, ABSORPTION_GREEN_BLOCK
AVG_ABSORPTION_GREEN_BLOCK_INTEGRATED, VAR_ABSORPTION_GREEN_BLOCK_INTEGRATED, ABSORPTION_GREEN_LINE
SAMPLER_NAME:
CLASSIFICATION_SAMPLER
REGRESSION_SAMPLER
HPC SN config pattern
The HPC path is selected with:
SOLVER = SN_SOLVER
HPC_SOLVER = YES
Example (from validation inputs):
PROBLEM = LATTICE
SOLVER = SN_SOLVER
HPC_SOLVER = YES
RECONS_ORDER = 2
TIME_INTEGRATION_ORDER = 2
QUAD_TYPE = GAUSS_LEGENDRE_TENSORIZED_2D
QUAD_ORDER = 4
Reference configs
Validated examples are under:
tests/input/validation_tests/SN_solver
tests/input/validation_tests/PN_solver
tests/input/validation_tests/MN_solver
tests/input/validation_tests/CSD_PN_solver
tests/input/validation_tests/CSD_MN_solver
tests/input/validation_tests/SN_solver_hpc