Configuration File
The config.yaml file provides the configuration parameters for the Bulk Parameters module.
An example configuration file:
global:
input_filename: eos.csv
method: fitting
nucleon_mass: 939.00
nB_min_filter: 0.05
verbose: 1
run_name: ""
derivatives:
finite_difference:
precision: 1
step_size: 0.002
step_type: relative
method: gsl
fitting:
isoscalar_expansion_order: 4
isovector_expansion_order: 4
limit_fitting_range: true
nB_range: 0.05
yQ_range: 0.1
allowed_ranges:
n0min: 0.0
n0max: 0.0
BEmin: 0.0
BEmax: 0.0
The full schema with all defaults is defined in api/OpenAPI_Specifications.yaml.
Global Settings
input_filename: (string, default: “eos.csv”)
Path to the EoS CSV file. Relative paths are resolved from the directory containing
config.yaml. Do not change this if you are using the MUSES Calculation Engine; the EoS file is automatically mounted to the container at/input/eos.csv.method: (string, default: “fitting”)
Method to compute the bulk parameters. Options are
fittingandderivative.nucleon_mass: (float, default: 939.00)
Nucleon mass in MeV, used to compute the binding energy per nucleon.
nB_min_filter: (float, default: 0.05)
Rows with baryon density below this threshold (fm-3) are excluded before the saturation search. Near-vacuum rows cause spurious \(P \approx 0\) zeros that can lead to false solutions for the saturation density in the root-finder.
verbose: (integer, default: 0)
Console output verbosity.
0— silent1— standard: progress and final results2— detailed: intermediate values3— debug: full solver output
run_name: (string, default: “”)
If non-empty, all output files are written to
output/<run_name>/instead ofoutput/. In the MUSES Calculation Engine, do not change this parameter.
Derivatives Settings
These parameters apply only when method: derivative.
method: (string, default: “gsl”)
Derivative backend. Options are
gsl(GSL cubic spline) andfinite_difference. The GSL backend supports up to second-order derivatives; third-order derivatives (Q0) requirefinite_difference. Settingisoscalar_expansion_order >= 3with thegslbackend raises a configuration error at startup.Note
isovector_expansion_orderhas no effect in derivative mode. J and L are always computed (using a backward stencil when the yQ grid stops at 0.5); Ksym, Qsym, and Zsym are alwaysNaN.
Finite Difference Settings
These parameters apply only when the derivatives method is finite_difference.
step_type: (string, default: “relative”)
How the step size is interpreted.
relativesets \(h = \text{step\_size} \times x\);absolutesets \(h = \text{step\_size}\).step_size: (float, default: 0.002)
Step size for the finite difference method.
precision: (integer, default: 1)
Order of the central finite difference stencil.
1— \(\mathcal{O}(h^2)\)2— \(\mathcal{O}(h^4)\)
Fitting Settings
These parameters apply only when method: fitting.
isoscalar_expansion_order: (integer, default: 3, range: 0–4)
Taylor expansion order for the isoscalar sector (BE, K0, Q0, Z0). Order n includes all terms through \(x^n\) in the expansion.
isovector_expansion_order: (integer, default: 2, range: 0–4)
Taylor expansion order for the isovector sector (J, L, Ksym, Qsym, Zsym).
limit_fitting_range: (boolean, default: false)
If
true, the fit uses only data withinnB_rangeof \(n_0\) and withinyQ_rangeof \(y_Q = 0.5\).nB_range: (float, default: 0.05)
Half-width of the density window around \(n_0\) used when
limit_fitting_rangeistrue(fm-3).yQ_range: (float, default: 0.1)
Half-width of the charge-fraction window around \(y_Q = 0.5\) used when
limit_fitting_rangeistrue.
Allowed Ranges
These optional bounds validate the computed output parameters. For each parameter, set
both min and max to 0.0 to disable the check. If a computed value falls outside its
range (and neither bound is zero), the run exits with status code 101.
Available keys: n0min, n0max, BEmin, BEmax, K0min, K0max,
Q0min, Q0max, Z0min, Z0max, Jmin, Jmax, Lmin, Lmax,
Ksymmin, Ksymmax, Qsymmin, Qsymmax, Zsymmin, Zsymmax.