quantas eos

EOS differs intentionally from the other scientific groups. One dataset is often fitted repeatedly with different formulations, solvers, selections, constraints, and initial values. Quantas therefore stores immutable fit records in a persistent archive and tracks which record is accepted or marked as a candidate for each scientific slot.

Why run is different

run is a batch fitting controller rather than a single-result calculator. It parses and normalizes the dataset, resolves jobs, validates model and solver requirements, persists every attempted record, and applies explicit acceptance rules. A failed job may therefore be present in the archive even though the command exits unsuccessfully.

diagnose, plot, and calculate select an accepted slot or an explicit immutable record. They do not refit the data. The latest record is not necessarily the accepted record.

Important option families

  • domain and target options define the scientific slot;

  • P–V, V–T, and P–V–T options define the model rather than solver behavior;

  • MGD normalization is part of the physical model and must match the volume basis;

  • --fix, --initial, and --bound have different scientific meanings;

  • OLS, WLS, effective variance, and ODR use different uncertainty assumptions;

  • covariance scaling affects parameter uncertainties, not the optimum itself;

  • --dry-run validates the resolved plan without fitting or creating HDF5;

  • --failure-policy=continue continues later independent jobs but does not make the batch successful.

See EOS fitting: implementation and workflow for implementation and record semantics, EOS fitting tutorials for the P–V/V–T/P–V–T course, and EOS batch specification plus EOS native HDF5 archive for persistence.

Generated command reference

quantas eos

Fit equations of state and manage persistent EOS archives.

Unlike a single-pass scientific module, EOS commonly compares several models, solvers, constraints, and data selections. Every immutable fit attempt can be retained in one archive, while accepted and candidate records identify the interpretations selected for diagnosis, calculation, and plotting.

Usage

quantas eos [OPTIONS] COMMAND [ARGS]...

calculate

Evaluate a stored EOS model at selected states or regular grids.

ARCHIVE is queried by accepted slot or immutable record ID. Coordinates can be repeated, expanded from inclusive ranges, combined as Cartesian products, or paired element-wise. Optional covariance propagation estimates parameter-derived uncertainty without rerunning the fit.

Usage

quantas eos calculate [OPTIONS] ARCHIVE

Options

--slot <DOMAIN/TARGET>

Accepted result slot. Optional only when exactly one accepted result exists. This selects an archived record or evaluation coordinates and does not refit or modify the EOS archive.

--record-id <record_id>

Evaluate an explicit immutable record instead of the accepted result. This selects an archived record or evaluation coordinates and does not refit or modify the EOS archive.

--pressure <pressure>

Pressure value. Repeat for several values. This selects an archived record or evaluation coordinates and does not refit or modify the EOS archive.

--pressure-range <START:STOP:STEP>

Inclusive pressure grid. This selects an archived record or evaluation coordinates and does not refit or modify the EOS archive.

--coordinate <coordinate>

Volume or fitted-axis value. Repeat for several values. This selects an archived record or evaluation coordinates and does not refit or modify the EOS archive.

--coordinate-range <START:STOP:STEP>

Inclusive volume or fitted-axis grid. This selects an archived record or evaluation coordinates and does not refit or modify the EOS archive.

--temperature <temperature>

Temperature value in kelvin. Repeat for several values. This selects an archived record or evaluation coordinates and does not refit or modify the EOS archive.

--temperature-range <START:STOP:STEP>

Inclusive temperature grid in kelvin. This selects an archived record or evaluation coordinates and does not refit or modify the EOS archive.

--pairwise

Pair P/V and T values element-wise instead of constructing a Cartesian grid. This selects an archived record or evaluation coordinates and does not refit or modify the EOS archive.

--no-uncertainty

Evaluate central fitted values without propagating parameter covariance. This can reduce work for dense grids but does not imply that the calculated state is uncertainty-free.

--relative-step <relative_step>

Set the relative finite-difference step used when propagating parameter covariance to calculated quantities. Change it only after checking that the reported uncertainty is stable to smaller and larger steps.

Default:

1e-05

-o, --output <output>

Optional CSV destination for all calculated states. This controls persistence or presentation and does not change the scientific model.

-f, --force

Replace existing generated files without an interactive confirmation. Use this deliberately in reproducible scripts because overwritten results cannot be recovered by Quantas.

Arguments

ARCHIVE

Required argument

diagnose

Inspect residuals and model-specific diagnostics from an EOS archive.

ARCHIVE is queried by accepted slot or immutable record ID. The command reports selected and excluded observations, physical and standardized residuals, group provenance, and finite-strain diagnostics when the chosen formulation defines them; it never refits data.

Usage

quantas eos diagnose [OPTIONS] ARCHIVE

Options

--slot <DOMAIN/TARGET>

Accepted result slot. Optional only when exactly one accepted result exists. This selects an archived record or evaluation coordinates and does not refit or modify the EOS archive.

--record-id <record_id>

Inspect an explicit immutable record instead of the accepted result. This selects an archived record or evaluation coordinates and does not refit or modify the EOS archive.

--no-normalized-pressure

Omit finite-strain and normalized-pressure columns from the diagnostic table. Physical and standardized residuals remain available, and the archived fit record is not modified.

-o, --output <output>

Optional CSV destination for all diagnostic rows. This controls persistence or presentation and does not change the scientific model.

-f, --force

Replace existing generated files without an interactive confirmation. Use this deliberately in reproducible scripts because overwritten results cannot be recovered by Quantas.

Arguments

ARCHIVE

Required argument

plot

Generate EOS figures from an immutable HDF5 fit record.

ARCHIVE is queried by accepted slot or explicit record ID. Available plot types depend on the fitted domain and model. Data-selection, grouping, error-bar, curve-sampling, and style controls change only the figure representation.

Usage

quantas eos plot [OPTIONS] ARCHIVE

Options

--slot <DOMAIN/TARGET>

Accepted result slot. Optional only when exactly one accepted result exists. This affects the generated figure only and does not modify the stored scientific result.

--record-id <record_id>

Plot an explicit immutable record instead of the accepted result. This affects the generated figure only and does not modify the stored scientific result.

--plot <plot_types>

Plot type. Repeat for several types. Default: all available plots. This affects the generated figure only and does not modify the stored scientific result.

Options:

all | fit | residuals | standardized-residuals | normalized-pressure | coverage | isotherms | isobars

--list-plots

List plot types available for the selected record and exit. This is a discovery option: it prints the available choices and exits without calculation or file creation.

--preset <figure_preset>

Choose a named figure style. ‘screen’ favors interactive viewing, ‘publication’ uses print-oriented geometry and resolution, and ‘monochrome’ adds grayscale-safe rendering; the preset affects presentation only.

Default:

'screen'

Options:

screen | publication | monochrome

--uncertainties, --no-uncertainties

Draw input one-sigma error bars when available. This affects the generated figure only and does not modify the stored scientific result.

Default:

True

--excluded, --no-excluded

Display observations excluded from the fit. This affects the generated figure only and does not modify the stored scientific result.

Default:

True

--group-data, --no-group-data

Use separate data series for input groups. This affects the generated figure only and does not modify the stored scientific result.

Default:

True

--point-size <point_size>

Observation marker size in typographic points. This affects the generated figure only and does not modify the stored scientific result.

Default:

5.0

--curve-width <curve_width>

Fitted and calculated curve width. This affects the generated figure only and does not modify the stored scientific result.

Default:

1.8

--errorbar-width <errorbar_width>

Error-bar stroke width. This affects the generated figure only and does not modify the stored scientific result.

Default:

1.0

--errorbar-capsize <errorbar_capsize>

Error-bar cap size in typographic points. This affects the generated figure only and does not modify the stored scientific result.

Default:

2.5

--curve-points <curve_points>

Set the number of samples used to draw each smooth calculated curve. The default 300 affects only visual smoothness and never changes fitted parameters, residuals, or covariance.

Default:

300

--curve-color <curve_color>

Matplotlib-compatible color used for the primary fitted curve. This affects the generated figure only and does not modify the stored scientific result.

Default:

'black'

--excluded-color <excluded_color>

Matplotlib-compatible color used for excluded observations. This affects the generated figure only and does not modify the stored scientific result.

Default:

'0.55'

--grid, --no-grid

Override the figure-preset Cartesian-grid setting. Grid lines are graphical guides and do not represent additional calculated samples.

Default:

True

--legend, --no-legend

Display legends when a plot contains several series. This affects the generated figure only and does not modify the stored scientific result.

Default:

True

--title, --no-title

Override the figure-preset title setting. This affects only annotations in the rendered figure and never the numerical result.

Default:

True

--zero-pressure-point, --no-zero-pressure-point

Display finite zero-pressure observations in normalized-pressure plots. They are hidden by default to focus the diagnostic strain range.

Default:

False

--axis-label-font-size <axis_label_font_size>

Axis-label font size. Default: figure preset. This affects the generated figure only and does not modify the stored scientific result.

--legend-font-size <legend_font_size>

Legend font size. Default: figure preset. This affects the generated figure only and does not modify the stored scientific result.

--title-font-size <title_font_size>

Title font size. Default: figure preset. This affects the generated figure only and does not modify the stored scientific result.

--tick-label-font-size <tick_label_font_size>

Font size for axis tick labels. Default: Matplotlib setting. This affects the generated figure only and does not modify the stored scientific result.

--figure-width <figure_width>

Figure width in inches. Default: plot-specific preset geometry. This affects the generated figure only and does not modify the stored scientific result.

--figure-height <figure_height>

Figure height in inches. Default: plot-specific preset geometry. This affects the generated figure only and does not modify the stored scientific result.

--isotherm <isotherms>

Temperature in kelvin for a P-V-T isotherm. Repeat as needed. This affects the generated figure only and does not modify the stored scientific result.

--isobar <isobars>

Pressure for a P-V-T isobar. Repeat as needed. This affects the generated figure only and does not modify the stored scientific result.

-o, --output <output_dir>

Output directory. Default: archive base name + ‘_plots’. This affects the generated figure only and does not modify the stored scientific result.

--format <image_format>

Choose the static figure file format supported by the Matplotlib renderer. The format changes serialization only; vector formats are preferable when downstream editing is required.

Default:

'png'

Options:

png | pdf | svg

--dpi <dpi>

Override the raster resolution supplied by the selected figure preset. This affects PNG or other raster output only and does not change sampled scientific data.

--show

Display figures interactively after files are generated. Leave this disabled on headless, batch, or continuous-integration systems.

Arguments

ARCHIVE

Required argument

run

Run one non-interactive EOS batch from a data file and optional specification.

FILENAME supplies observations, uncertainties, groups, exclusions, and unit metadata. Direct CLI options generate one or more homogeneous jobs; ‘–spec’ supports a fully declarative heterogeneous plan. Every attempted fit is persisted, and acceptance is applied only after a successful record has been written.

Usage

quantas eos run [OPTIONS] FILENAME

Options

--spec <spec_path>

Read a strict ‘QUANTAS EOS SPEC 1’ batch plan. The file can define heterogeneous jobs, selections, constraints, acceptance, and failure policy; its filename suffix has no semantic meaning.

--pressure-unit, --punit <UNIT>

Input pressure unit override. File declaration or GPa is used when omitted. Input values are converted to Quantas internal canonical units before float64 calculation and persistence.

--length-unit, --lunit <UNIT>

Input length unit override; the corresponding cubic unit is used for volume. Input values are converted to Quantas internal canonical units before float64 calculation and persistence.

--temperature-unit, --tunit <temperature_unit>

Input temperature scale override. Normalized calculations always use kelvin. Input values are converted to Quantas internal canonical units before float64 calculation and persistence.

Options:

K | C | F

--domain <domain>

Scientific relationship fitted by every generated job. Changing it changes the states, data, or directions evaluated and may therefore affect runtime and the stored result.

Default:

'pv'

Options:

pv | vt | pvt

--fit <targets>

Target to fit. Repeat the option or use ‘all’ for all available targets. Changing it changes the states, data, or directions evaluated and may therefore affect runtime and the stored result.

Default:

'volume'

Options:

volume | a | b | c | all

--pv-eos <FAMILY>

P-V EOS family or alias: M, BM, NS/PT, Vinet, or Tait. This changes the physical model or interpretation and should be compared through the relevant scientific diagnostics.

Default:

'birch-murnaghan'

--pv-order <pv_order>

P-V EOS order. Ignored only by the orderless Murnaghan family. This changes the physical model or interpretation and should be compared through the relevant scientific diagnostics.

Default:

3

--vt-eos <FAMILY>

V-T family or alias: Berman, Fei, MHP, Salje, or KHP. This changes the physical model or interpretation and should be compared through the relevant scientific diagnostics.

Default:

'berman'

--vt-variant <VARIANT>

Optional V-T variant, for example linear, quadratic, general, or simplified. This changes the physical model or interpretation and should be compared through the relevant scientific diagnostics.

--pvt-coupling <pvt_coupling>

P-V-T coupling prescription. Thermal-pressure coupling defines its own thermal model and does not use –vt-eos. This changes the physical model or interpretation and should be compared through the relevant scientific diagnostics.

Default:

'linear'

Options:

linear | anderson-gruneisen | thermal-pressure

--thermal-pressure-model <thermal_pressure_model>

Oscillator model for thermal-pressure coupling. MGD requires –atoms-per-cell or –formula with –formula-units-per-cell.

Default:

'holland-powell-einstein'

Options:

holland-powell-einstein | mgd | mgd:q-compromise

--atoms-per-cell <atoms_per_cell>

Number of atoms in the crystallographic cell for MGD cell volumes. This changes the physical model or interpretation and should be compared through the relevant scientific diagnostics.

--formula <FORMULA>

Chemical formula of one formula unit, for example NaF. This changes the physical model or interpretation and should be compared through the relevant scientific diagnostics.

--formula-units-per-cell <Z>

Formula units per crystallographic cell; used with –formula. This changes the physical model or interpretation and should be compared through the relevant scientific diagnostics.

--fix <TARGET:]NAME=VALUE>

Fix one physical parameter at the supplied value and remove it from the free optimization vector. Repeat as needed; a target prefix limits scope. A fixed value is an external assumption, not a fitted result.

--initial <TARGET:]NAME=VALUE>

Override the starting value of a free parameter without fixing it. This can improve convergence but should not change a well-posed optimum; compare final records when sensitivity is suspected.

--bound <TARGET:]NAME=LOW:HIGH>

Override the admissible interval of a free parameter; use ‘none’ for an open side. A solution on a bound is a diagnostic condition and must not be interpreted automatically as a measured parameter.

--solver <solver>

Regression strategy. Weighted methods use the required uncertainties explicitly. Treat it as a numerical-method control and check sensitivity or convergence before changing the documented default.

Default:

'ols'

Options:

ols | wls | effective-variance | odr

--max-iterations <max_iterations>

Maximum solver iterations or model evaluations, depending on the selected solver. Treat it as a numerical-method control and check sensitivity or convergence before changing the documented default.

--ftol <ftol>

Function convergence tolerance. Treat it as a numerical-method control and check sensitivity or convergence before changing the documented default.

--xtol <xtol>

Parameter convergence tolerance. Treat it as a numerical-method control and check sensitivity or convergence before changing the documented default.

--gtol <gtol>

Gradient convergence tolerance where supported. Treat it as a numerical-method control and check sensitivity or convergence before changing the documented default.

--covariance-scaling <covariance_scaling>

Covariance policy. Weighted EOS fits default to EosFit-like inflate-only scaling. Treat it as a numerical-method control and check sensitivity or convergence before changing the documented default.

Options:

absolute | reduced-chi-square | inflate-only

--inner-max-iterations <inner_max_iterations>

Maximum WLS evaluations inside each effective-variance cycle. Treat it as a numerical-method control and check sensitivity or convergence before changing the documented default.

--odr-difference <odr_difference>

Finite-difference scheme used by the ODRPACK95 backend. Treat it as a numerical-method control and check sensitivity or convergence before changing the documented default.

Default:

'central'

Options:

central | forward

--odr-ndigit <odr_ndigit>

Reliable decimal digits in ODR model evaluations. Treat it as a numerical-method control and check sensitivity or convergence before changing the documented default.

--dry-run

Resolve units, defaults, jobs, models, constraints, and acceptance rules, then validate the complete plan without fitting or creating an HDF5 archive. Use this before long or heterogeneous batches.

--failure-policy <failure_policy>

Choose whether a failed job stops the batch immediately or allows later independent jobs to run. Continued execution does not make the overall batch successful and does not reuse a failed job automatically.

Default:

'stop'

Options:

stop | continue

--show-uncertainties

Print a separate table of input standard uncertainties. This controls persistence or presentation and does not change the scientific model.

--max-data-rows <max_data_rows>

Limit displayed input rows; all rows are shown when omitted. This controls persistence or presentation and does not change the scientific model.

--traceback, --no-traceback

Include or suppress a Python traceback in the report for unexpected exceptions. This changes diagnostic detail only and has no effect on expected Click validation errors or fit behavior.

Default:

False

-o, --output <output>

Native EOS HDF5 archive. Default: input base name + ‘_EOS.hdf5’. This controls persistence or presentation and does not change the scientific model.

-f, --force

Replace existing generated files without an interactive confirmation. Use this deliberately in reproducible scripts because overwritten results cannot be recovered by Quantas.

-r, --report <report>

Write a deterministic plain-text scientific report. When omitted, run commands use the primary input name with a ‘.log’ suffix; reports contain no ANSI styling or live progress.

-v, --verbosity <verbosity>

Select report detail: ‘standard’ gives the normal scientific summary, ‘extended’ adds complete tables, and ‘debug’ adds numerical diagnostics. The choice never changes stored numerical results.

Default:

'standard'

Options:

standard | extended | debug

-q, --quiet

Suppress terminal presentation while preserving calculation, HDF5 output, and the report. This is useful for scripts, redirected jobs, and automated validation.

Arguments

FILENAME

Required argument

spec-template

Generate a complete commented ‘QUANTAS EOS SPEC 1’ batch template.

OUTPUT defaults to ‘eos.spec’; its suffix has no semantic meaning. The template contains one active minimal job and commented examples for supported domains, model families, solvers, constraints, selection rules, and acceptance behavior.

Usage

quantas eos spec-template [OPTIONS] [OUTPUT]

Options

-f, --force

Replace existing generated files without an interactive confirmation. Use this deliberately in reproducible scripts because overwritten results cannot be recovered by Quantas.

Arguments

OUTPUT

Optional argument