Usage with the MUSES Calculation Engine
Module name
module: eos_inverter
Labels
Input
Label |
Description |
Path (inside container) |
|---|---|---|
|
Configuration of the module runtime options |
|
|
Equation of state data to be inverted, in CSV format |
|
|
Equation of state data to be inverted, in HDF5 format |
|
|
Equation of state data to be inverted, in |
|
Only one of eos_csv, eos_hdf5, or eos_dat is required, matching
input.format in the config.
Note
The paths above reflect the fixed mount points used by the MUSES Calculation Engine. When running the module manually (see Installation), input.path in the config may instead point directly to any EoS table file path relative to /opt.
Output
Label |
Description |
Path (inside container) |
|---|---|---|
|
Module execution status |
|
|
Inverted equation of state data, in CSV format |
|
|
Inverted equation of state data, in HDF5 format |
|
Only one of inverted_eos_csv or inverted_eos_hdf5 is produced, matching
output.format in the config.
Workflow example
The snippet below shows a typical CE workflow that pipes the output of an
eos_module into the eos_inverter module:
processes:
- name: <<eos_process_name>>
module: <<ce_eos_module>>
config:
{}
- name: eos_inverter
module: eos_inverter
config:
input:
format: hdf5
grid:
mode: explicit
output_grid: [s, nB, nS, nQ]
pipes:
eos_hdf5:
label: eos_file
module: <<ce_eos_module>>
process: <<eos_process_name>>
components:
- type: chain
name: workflow
sequence:
- <<eos_process_name>>
- eos_inverter
The eos_hdf5 pipe maps the upstream eos_file output label of the
<<ce_eos_module>> to the eos_hdf5 input label of this module.
Troubleshooting
- The module exits with status 500.
status.yamlcontains a code of500for any failure — a bad config file, an invalid grid definition, an EoS table that cannot be read, or an unrecoverable error during inversion. Inspect themessagefield in/opt/output/status.yamland the console/log output for the underlying exception.- Many grid points are filled with NaN (``eos_type = -1``).
The root-finder failed to converge at those points, and either the
backup_eosmodels were disabled or none of them converged either. Enablebackup_eos.enabled: trueand check that the requested output-grid range is physically reachable. Ifoutput.on_inversion_failure: excludeis set, failed points are dropped from the output entirely instead of being written as NaN.- Solutions near the table boundary look unphysical.
Enable
output.enforce_output_envelope: trueso that stable-phase table solutions whose output-space coordinates fall outside the envelope of the raw table are rejected in favor of a backup EoS. See Configuration File for the relatedenvelope_bandwidthparameter.- Causality or stability filters reject too many solutions.
output.prohibit_acausal_cs2andoutput.restrict_mu_T_ratiosdiscard otherwise-converged solutions that fail \(0 \leq c_s^2 \leq 1\) or \(|\mu_i|/T < 3.5\). Disabling these checks keeps more points but no longer guarantees physicality of the returned state.- Configuration error: “signed log grids crossing zero require an odd number of points”.
A
gridaxis withscale: logwhose range spans negative and non-negative values (e.g.min: -1.0, max: 1.0) must use an oddpointscount so the grid can place a point at theinnercutoff on each side of zero.
For questions, issues or bug reports, open an issue on the GitLab repository of the module, post on the MUSES Forum, or contact the lead developer:
Mateus Reinke Pelicer (mateus.reinke@gmail.com)