Command-line interface
The Quantas command-line interface is a Click/Rich frontend over the same
scientific workflows exposed by quantas.api. Click owns command
parsing, type conversion, validation, prompts, and dispatch. Rich owns the
interactive terminal presentation. Neither frontend changes the numerical
method.
Discover the command tree
Start with:
quantas --help
quantas --version
The scientific groups are:
quantas ha --help
quantas qha --help
quantas elasticity --help
quantas seismic --help
quantas eos --help
quantas thermoelasticity --help
Help is available at every level. For example:
quantas qha run --help
quantas thermoelasticity analysis profile --help
The generated Quantas command line reference is version-matched to the installed Click application. It combines exact command signatures with maintained, long-form option descriptions.
The common command pattern
Most modules separate calculation from later presentation or export:
input
→ run
→ native HDF5
→ inspect / plot / export
For example:
quantas elasticity run calcite.dat \
--2d \
--output calcite_elasticity.hdf5 \
--report calcite_elasticity.log
quantas elasticity plot calcite_elasticity.hdf5 \
--2d \
--property young \
--output calcite_young
The calculation is not repeated by the plotting command. The plot builder reads the stored scientific result and creates frontend-neutral plot specifications before the Matplotlib renderer writes concrete figures.
Command groups are scientifically different
The broad pattern is shared, but each module exposes the operations its science requires.
- HA and QHA
Run thermodynamic calculations, inspect or generate phonon input where appropriate, then export or plot stored temperature–pressure results.
- Elasticity and SEISMIC
Characterize an elastic tensor or acoustic field, persist the result, and later export directional data or render selected maps and surfaces.
- Thermoelasticity
Uses a staged workflow: input generation, cold finite-strain calibration, archive inspection, and Point/Grid/Profile analysis. The calibration HDF5 is not itself a P–T grid.
- EOS
Uses a fit/archive lifecycle. One dataset may produce several immutable fit records under different models and solvers. Accepted and last records are not necessarily the same. This is why EOS post-fit commands differ from the ordinary
run → plot/exportsequence.
Common output controls
The exact set of options depends on the command, but the following concepts are shared.
--outputSelects the principal native result or exported artifact. Scientific run commands normally write HDF5; export commands may write text or CSV.
--reportWrites deterministic plain text. Reports contain no ANSI sequences, Rich box drawing, or transient progress artifacts.
--forceAllows an existing destination to be replaced. Without it, Quantas refuses silent data loss.
--verbosity standard|extended|debugControls the amount of diagnostic information shown or written. It does not change numerical precision or scientific formulas.
--quietSuppresses ordinary terminal presentation where supported. Calculation and persistence still occur.
--no-progressDisables the live progress display. It does not disable warnings, change the result, or reduce the amount of work performed.
Read Command-line conventions for range syntax, repeatable options, unit selection, file naming, plotting presets, and exit-status conventions.
Terminal output and redirection
On an interactive terminal, Rich renders tables, warnings, errors, and live progress directly to the standard output streams:
ordinary text follows the terminal theme;
warnings are highlighted in yellow;
errors are highlighted in red;
progress bars are transient.
When output is redirected or terminal control is unavailable, Quantas emits plain text without ANSI escape sequences. Styling can also be disabled with:
QUANTAS_NO_ANSI=1 quantas elasticity run calcite.dat
or with the standard NO_COLOR environment variable.
Terminal text is not the native scientific result. Use --report for a
stable human-readable record and keep the HDF5 output for later calculations,
exports, and plots.
Units and numerical precision
CLI unit options control input interpretation or displayed/exported units as described by each command. They never act as a runtime floating-point precision selector.
All real calculations and native HDF5 floating values use float64;
complex-valued calculations use complex128. Display precision belongs to
report and plot renderers and does not alter stored data.
Errors and exit status
Quantas validates command syntax and scientific input before or during the workflow. A non-zero exit status indicates that the requested command did not complete successfully. Typical causes include:
malformed input;
incompatible units or dimensions;
missing optional capabilities;
an invalid scientific state, such as a non-positive density;
numerical non-convergence;
refusal to overwrite an existing file.
Warnings do not automatically imply command failure. They may mark extrapolation, marginal fit support, degeneracy, fallback behavior, or another condition that requires scientific interpretation.
EOS batch execution
EOS deserves special attention because quantas eos run controls one or
more fit jobs rather than producing only one immutable result envelope:
quantas eos run PV_quartz.dat \
--pv-eos BM \
--pv-order 3 \
--solver effective-variance
A heterogeneous analysis can be described by a strict specification file:
quantas eos run PV_topaz.dat --spec topaz.spec --dry-run
--dry-run resolves and validates the complete plan without fitting or
creating HDF5. Use it before a large candidate-model comparison. See
EOS fitting: implementation and workflow for lifecycle semantics and
EOS batch specification for the grammar.
Where to continue
Quantas command line provides the complete generated command reference.
Implementation and workflows explains method choices, defaults, convergence, and limitations.
Tutorials demonstrates end-to-end CLI calculations.
Results, reports, and plots explains the files created by the commands.