Quick Start

  1. Place your EoS CSV file in input/ and edit input/config.yaml:

    global:
      input_filename: my_eos.csv   # relative to the "input" directory
      method: fitting              # or "derivative"
      nucleon_mass: 939.0          # MeV
      nB_min_filter: 0.05          # fm^-3, rows below this density are excluded
      verbose: 0                   # 0=silent, 1=standard, 2=detailed, 3=debug
    fitting:
      isoscalar_expansion_order: 4
      isovector_expansion_order: 3
    
  2. Run from src/:

    ./bulk
    
  3. Results are written to output/saturation.csv. To write output to a named subdirectory, set global.run_name in the config — output then goes to output/<run_name>/saturation.csv.

The optional command-line argument controls which config is read:

./bulk my_run   # reads input/my_run/config.yaml

Config Utilities

Validate an existing config against the OpenAPI schema (fills missing fields with defaults):

python3 src/validate_config.py --config_file_path input/

Generate a config from scratch (all flags optional; defaults used for omitted fields):

python3 src/create_config.py --config_file_path input/ \
    --method fitting --isoscalar_expansion_order 4