Configuration File

The config.yaml file provides the configuration parameters required to execute the Synthesis module. This file defines various settings for the module, such as the type of synthesis to be performed, input files, and output configurations. The following sections provide an overview of the parameters available in the configuration file.

Global Settings

These parameters define the general settings and options for the module, and are under the global key:

  • run_name: (string, default: “”)

    Sets a name for the module run. This name will be used to create a subdirectory under /output/ where the output files will be stored.

    Important: When using Lepton in a workflow in the MUSES Calculation Engine (CE), do not setup a run_name. The CE uses static paths for the files, and setting a run_name will cause the CE to fail.

  • synthesis_type: (string, default: `’attach’`) Determines the type of synthesis to be performed. Options are:

    • attach: Attach EoS at a specified variable and value.

    • maxwell: Maxwell construction.

    • gibbs: Gibbs construction.

    • hyperbolic-tangent: Interpolated EoS using the hyperbolic tangent method.

  • check_eos_stability: (boolean, default: `false`) Enables a stability check for the nuclear equation of state, checking if pressure and chemical potential are not decreasing functions of baryon density, and if speed of sound is casual. The results are printed in the info.yaml file.

  • verbose: (integer, default: `0`, range: 0 to 4) Controls the verbosity level of the output:

    • 0: No output

    • 1: Minimal output

    • 2: Standard output

    • 3: Extended output

    • 4: Debug output

Input File Settings

Defines the input files required by the module. Important: In the CE, it is unnecessary to set up input files, as the CE uses static paths for the files, which are the default paths mentioned below.

  • model1_BetaEq_files: (object) Specifies the input files for the beta-equilibrated nuclear equation of state of the first model:

    • eos_input_file: (string, default: `”eos_beta_model1.csv”`) The beta-equilibrated nuclear EoS data file (CSV format).

    • particle_properties_input_file: (string, default: `”particle_properties_beta_model1.csv”`) The particle properties data file (CSV format).

  • model2_BetaEq_files: (object) Specifies the input files for the beta-equilibrated nuclear equation of state of the second model:

    • eos_input_file: (string, default: `”eos_beta_model2.csv”`) The beta-equilibrated nuclear EoS data file (CSV format).

    • particle_properties_input_file: (string, default: `”particle_properties_beta_model2.csv”`) The particle properties data file (CSV format).

  • model1_Grid_files: (object) Specifies the input files for the gridded nuclear equation of state of the first model. Only required for the Gibbs phase transition:

    • eos_input_file: (string, default: `”eos_grid_model1.csv”`) The gridded nuclear EoS data file (CSV format).

    • particle_properties_input_file: (string, default: `”particle_properties_grid_model1.csv”`) The particle properties data file (CSV format).

  • model2_Grid_files: (object) Specifies the input files for the gridded nuclear equation of state of the second model. Only required for the Gibbs phase transition:

    • eos_input_file: (string, default: `”eos_grid_model2.csv”`) The gridded nuclear EoS data file (CSV format).

    • particle_properties_input_file: (string, default: `”particle_properties_grid_model2.csv”`) The particle properties data file (CSV format).

  • lepton_files: (object) Specifies the input files for the lepton equation of state. Only required for the Gibbs phase transition:

    • eos_input_file: (string, default: `”lepton_eos.csv”`) The lepton EoS data file (CSV format).

    • particle_properties_input_file: (string, default: `”particle_properties_lepton.csv”`) The particle properties data file for leptons (CSV format).

Output File Settings

Controls the output files generated by the module, and are under the output key:

  • output_particle_properties: (boolean, default: `false`) If set to true, the module outputs particle properties data. Requires the relevant input file specified by particle_properties_input_file.

  • output_compOSE: (boolean, default: `false`) If set to true, the module outputs the parameters for creating the compOSE file. Requires the eos_input_files to be specified.

  • output_derivatives: (boolean, default: `false`) If set to true, the module outputs the derivatives of the beta-equilibrated equation of state.

  • output_hdf5: (boolean, default: `false`) If set to true, the module outputs data in HDF5 format, in addition to CSV.

Derivatives Settings

Parameters for controlling numerical derivatives, under the derivatives key: riptions

  • method (string, default: ‘gsl’): Specifies the method to calculate derivatives. Options: - ‘gsl’: Uses the GNU Scientific Library for derivative calculations. - ‘finite_difference’: Uses a finite difference approach with custom settings.

  • finite_difference (object): Controls settings specific to the finite difference method.

    • step_type (string, default: ‘relative’): Defines how the step size is determined: - ‘relative’: The step size is proportional to the value being differentiated. - ‘absolute’: The step size is fixed.

    • step_size (number, default: 5.e-3, range: 0.0 to 1.0): Sets the magnitude of the step size for derivatives, interpreted based on step_type.

    • precision (integer, default: 1, range: 1 to 3): Specifies the order of accuracy for the finite difference method: - 1: First order - 2: Second order - 3: Third order

Interpolation Method Settings

Settings for the hyperbolic-interpolation method used during synthesis, under the interpolation_method key:

  • number_of_points: (integer, default: `150`, minimum: 1) Specifies the number of points calculated in the region obtained by the interpolation method.

  • y_variable: (string, default: `”pressure”`) The variable to interpolate to produce a new EoS. Options: pressure, energy_density, speed_of_sound_squared.

  • x_variable: (string, default: `”baryon_density”`) The variable with respect to which the y_variable will be interpolated. Options: baryon_density, baryon_chemical_potential. The baryon_chemical_potential option is only available for y_variable = pressure.

  • use_thermodynamic_consistency: (boolean, default: `true`) If set to true, the module uses thermodynamic consistency to calculate the interpolated EoS. If false, it interpolates all thermodynamic variables independently.

  • x_variable_midpoint: (number, default: `0.0`) Sets the midpoint of the interpolation region.

  • Gamma: (number, default: `0.0`) Specifies the width of the interpolation region.

Attach Method Settings

Parameters for the attachment method, under the attach_method key:

  • attach_variable: (string, default: `”baryon_chemical_potential”`) The variable used to attach the two EoS. Options include various thermodynamic variables like temperature, baryon_density, energy_density, etc.

  • attach_value: (number, default: `1300.0`) The value of the attach_variable used to attach the two EoS.

compOSE Options

Defines options for generating the compOSE file, under the compOSE_options key:

  • baryon_density_spacing: (string, default: `linear`) Specifies the type of spacing in baryon density. Options: linear, logarithmic.

  • baryon_density_points: (integer, default: `301`) Sets the number of points in baryon density.

  • charge_fraction_spacing: (string, default: `linear`) Specifies the type of spacing in charge fraction. Options: linear, logarithmic.

  • charge_fraction_points: (integer, default: `60`) Sets the number of points in the charge fraction.