EOS API

quantas.api.eos exposes an archive-oriented equation-of-state lifecycle. Unlike single-shot workflows, one dataset may generate many immutable fit records with different domains, formulations, solvers, constraints, and data selections. The public API therefore separates passive requests, fitting, batch execution, archive/session state, and post-fit analysis.

Typical direct fit

from quantas.api import eos

dataset = eos.read_input("PV_quartz.dat")
request = eos.FitRequest(
    model="BM3",
    domain=eos.FitDomain.PRESSURE_VOLUME,
    options=eos.FitOptions(solver_options=eos.OLSOptions()),
)
eos.validate_request(dataset, request)
result = eos.fit(dataset, request)

Typical persistent batch

plan = eos.BatchPlan(
    jobs=(eos.BatchJob(request=request, accept=True),),
)
batch = eos.run_batch(
    dataset,
    plan,
    "quartz_eos.hdf5",
    overwrite=True,
)

The archive can then be diagnosed, calculated, and plotted without refitting.

Reference sections

See also