Releases: CPrescher/peritheos
Release list
Peritheos 0.9.0
This release adds Birch–Murnaghan references to the double-Debye Helmholtz
models and optional material families for catalog browsing. Existing material
and EOS identifiers, numerical records, and flat discovery remain unchanged.
Added
- BM2, BM3, and BM4 references for both double-Debye Helmholtz models in
Python, Rust, and.eosmatloading, with reference energies consistent
with pressure in both absolute and reference-temperature modes. - Optional material family metadata and curated bridgmanite, Mg–Fe monoxide,
post-perovskite, phase D, NaAlSiO4 calcium-ferrite type, magnesite, olivine,
and garnet families. Python provides family lookup, exact family
filters, and grouping of catalog/search results with standalone fallback.
Existing material identifiers, flat discovery, and EOS records are preserved.
Python and Rust validate and round-trip the optional.eosmatfamily_id;
Rust exposesMaterial::family_id().
Compatibility
- Python's existing Vinet double-Debye constructors remain supported, and
.eosmatstays at format 3. Older readers cannot load the newly supported
Birch–Murnaghan/double-Debye model combinations. - Rust double-Debye types now accept a reference-EOS type parameter, defaulting
toVinet. The two correspondingThermalModelvariants hold models with
IsothermalModelreferences; callers constructing or destructuring those
variants directly must account for that type change.
Peritheos 0.8.0
This release expands the model and dataset APIs and revises
the scientific catalog. It contains 210 material documents, 209 executable
materials, and 573 primary-source-validated EOS records. Source validation
checks the published parameterization; it does not imply independent refit
parity or a recommendation for every quantitative application.
Added
- Typed observation loading through
Material.get_dataset(),Dataset,
DatasetColumn,DatasetResource, andPressureVolumeData. Embedded and
packaged CSV data expose read-only arrays, verified resource checksums,
column metadata, unit conversion, and pressure-volume views with reported
uncertainties.DatasetErrorandDatasetLookupErrorprovide typed failures;
the existing rawMaterial.datasetsmappings remain available. EulerianFiniteStrainAcoustic,fit_acoustic_finite_strain(), and
AcousticFitResultfor joint density/P-wave/S-wave velocity fitting,
including optional density errors, bounds, robust losses, covariance,
adjusted observations, and JSON-safe diagnostics.- Python and Rust
Vinet3and the Fratanduono et al. (2020) 298 K Cu reference
record, completing the implementation described prematurely in the 0.7.0
notes. Same-run Cu volumes now support Shen–Smith pressure reconstruction;
reduced isentropic states are not treated as independent 298 K fit data. - Thermal model APIs and
.eosmatregistrations forDewaele2006,
DebyeQuadraticThermalPressure,HollandPowellThermalPressure,
AsymptoticPowerLawMieGruneisenDebyeExcess, and
SoundVelocityDebyeHelmholtz. These cover single-Debye iron scales with
anharmonic/electronic terms, Fei's quadratic Debye pressure, a composable
Holland–Powell thermal term, a quadratic excess free energy, and a
sound-velocity-derived Debye model. Native implementations support the first
four; the sound-velocity model provides Python thermodynamic and shock-state
calculations.Dewaele2006includes the exactgamma_inf=0limit. MieGruneisenDebyereference-isentrope subtraction and optionalCvmax,
with native support for the BM3 shock-static construction.Tange2009Debye
exposesconstrained_reference_parameters()for the source's coupled ambient
elastic and heat-capacity constraints.- Cubic compressibility (
bulk_modulus_law="reciprocal_cubic") and a
logarithmic temperature correction toK0_primeinThermalReferenceStateEOS,
including native evaluation and fitting. The existing linear modulus law
remains the default; these laws define a mechanical P-V-T surface. - Complete caloric Helmholtz observables for
DorogokupetsOganov2007, and
ionic, anharmonic, and total entropy/internal energy for both double-Debye
Helmholtz models, consistent with their reference-isotherm subtractions. - The executable
ruby_sokolova_2013calibration in Python and Rust, with
explicit provenance for the Sokolova pressure-scale reconstruction. - Primary-source Fe, Fe0.9Ni0.1, and NaCl-B2 records from Brown (2000),
Dubrovinsky (2000), Dewaele (2006), Yamazaki (2012), and Sakai (2014): 43
published records and 348 observations, with qualified regression audits.
Fei et al. (2016) adds two 300 K hcp-Fe BM3 alternatives, its thermal pressure
surface, and all 96 supplementary observations; remaining source and partial
refit discrepancies are documented. - Hirose et al. (2008) Au: the 300 K isotherm, both thermal fits, and all 21
paired Au/MgO observations. Sakai et al. (2018) adds the hcp-Re Vinet scale
on Yokoo Pt, all 58 Figure 10 vector markers, and a 26-point RP01 refit with
coefficient and uncertainty parity; alternate selections remain diagnostics. - Source-owned MgSiO3 records from Wang (2004), Zhou (2014), and Komabayashi
(2008), MgAl2O4 records from Irifune (2002), Ono (2006), and Sueda (2009),
and high-/low-spin ferropericlase records from Fei (2007) and Marquardt
(2009). Source-fit alternatives, published errors, staged protocols, and
independently derived refits are distinguished in their provenance. - Separate Ye et al. (2017) Au/Pt/MgO 300 K standards and Zhu et al. (2025)
thermal P-V-T records. The corrected Ye supplements reproduce the printed
fits and errors; Zhu's released v3 optimizer/property coefficients and
bundled thermal inputs support the thermal reconstruction. Differences
from the preprint and standalone calculators remain explicit. - Fei et al. (2004) Au/Pt pressure standards, a separately identified Fu
CaSiO3 literature-data refit, and Kuznetsov (2002) fcc/hcp Pb reference
isotherms. The Pb isotherms do not establish a refit of the unpublished
full thermal observation set.
Corrected
- Chen et al. (2018) tetragonal CaSiO3 now uses the source-stated Vinet EOS,
replacingca_perovskite_tetragonal_chen_2018_bm2with
ca_perovskite_tetragonal_chen_2018_vinet. All seven table rows, the Z=4
volume normalization, two-sigma errors, and Pt calibration are preserved.
Numerical agreement remains qualified because source weights and pressure
errors are unavailable; no separate refit record is introduced. - Zhao et al. (1997) jadeite now includes its complete 300–1280 K thermal
relation and the fitted reference coefficientV0=403 ų, replacing the
measured403.32(8) ųtable value. The 31 hydrostatic states and Decker
NaCl lineage support a qualified refit with unresolved source weighting. - Restored the complete Fischer et al. (2011) B1/B8 FeO thermal relations,
Anzellini et al. (2025) Ir BM3 plus Holland–Powell thermal EOS, and
Mosenfelder et al. (2009) MgSiO3 post-perovskite shock-static EOS. Ir uses
the mean pyrometry temperature for its 122 supplementary observations;
Mosenfelder's reconstruction uses 48 static states and six PPv shock states. - Holmes et al. (1989) Pt now maps the exact published universal-equation
coefficients to Vinet parameters instead of using their rounded elastic
interpretations. Its approximate thermal extension still uses the published
rounded modulus; the seven shock observations qualify the curve rather than
independently reproducing the unavailable theoretical fit. - The Au/Pt/MgO
*_zhu_2025_vinet_300knames now resolve as aliases of the
source-correct*_ye_2017_vinet_300kidentifiers. Zhu's thermal models have
separate*_zhu_2025_pvtidentifiers. - Source-only cards are skipped by executable catalog enumeration. Coesite-V
remains accessible through the document API, but cannot be constructed as
aMaterialwithout an executable EOS.
Scientific evidence and limitations
- Consolidated recovered source tables, digitizations, deterministic audits,
and record-level refit results. These include Sun (2016/2022) and Noguchi
(2013) CaSiO3, Li (2006) acoustic MgO, Noguchi (1999) shock-reduced NiO,
Redfern magnesite, Datchi diamond, and MgSiO3 staged fits. Akins (2004)
liquid MgSiO3 retains a qualifiedsimilarsource-equation check from three
reduced shock states; it does not establish strict fit parity. Published values
remain distinct from diagnostic refits. Noguchi's subscription-only table
is represented by a row-free reproducibility artifact and local-input script. - Dewaele (2019) metal evidence is consolidated without claiming completion of
all 30 records. The common ledger classifies 24 records assimilarusing
two-ruby-scale refits within the printed 95% intervals, without inferred
refit covariance. Recovered Fe EPAPS observations additionally support both
scale reductions in the dedicated audit, although the common ledger still
reports discrepancies for Fe under its different fitting path. - All 41 Lazicki Be helium-run rows are bundled, including the version-of-record
a=2.162 Åat 24.6 GPa and the superseded manuscript token2.262 Åin
provenance. The two Be records nevertheless remainnot_refittablein the
current common ledger, and the dedicated audit has not integrated this
recovery. The earlier claim that 26 records were linked to completed refits
is therefore not the released validation state; neither is the old claim
that the Be table is unavailable. - hcp-Pb retains 17 tabulated Dewaele rows, 21 digitized Kuznetsov Figure 3
markers (seven room-temperature and 14 thermally reduced), and a separate
nine-marker selection recovered from Dewaele Figure 2. The 24-point
room-temperature combination, 38-point all-marker combination, and 26-point
Figure 2 combination are distinct diagnostics. The current common ledger
evaluates the 21 Kuznetsov markers alone and reportsparity_not_achieved;
the dedicated metal audit fits the 17 Dewaele rows alone. No combined
selection establishes the unpublished original rows, weights, pressure-scale
handling, or full-fit parity. Published Pb coefficients are preserved. - Anderson Au, Dorogokupets–Oganov Pt, Sokolova's global calibration, and
Tange MgO retain qualified component/partial reconstructions rather than
claims of complete global-refit parity. The Luo MgO full refit remains
not_refittable; derived diamond composites usesource_reconstruction.
Funamori (1998) transformation-derived MgAl2O4 curves remain executable
source constructions with no statistically independent regression to rerun. - Sun (2019) liquid FeSiO3 audits distinguish the 40 liquid and six nonliquid
table states and digitized thermal-fit inputs from an exact numerical source
regression. Ismailova Fe0.88SiO3, Cohen–Lin FeSiO3, and Dorogokupets (2015)
MgSiO3 retain explicit missing-input or fit-protocol limitations. Recovered
checkpoints and curve agreement do not establish unavailable source data.
See the record-level refit ledger and
paper investigation ledger for the
qualified outcomes and links to individual reproductions.
Removed and compatibility
- Removed 92 Delta-project benchmark records (50 code-specific PBE curves and
42 expe...
Peritheos 0.7.0
Added
-
Added a 200-record experimental-metal EOS tranche, the Baonza pseudospinodal
EOS with native evaluation and fitting support, and the phase-specific hcp-Pb
material card. The expanded catalog now contains 286 materials and 813
primary-source-validated EOS records. -
Added seven primary-source-validated LitCurate EOS records from four papers:
two Kubo et al. (2000) Mg0.9Al0.2Si0.9O3 bridgmanite BM3 fits, two Kubo et
al. (2006) MgGeO3 post-perovskite sensitivity fits, two Matsui et al. (2012)
high-spin ferropericlase BM3-MGD models, and the Koemets et al. (2023) FA50
Pnma bridgmanite BM2. Complete source tables, phase-specific fit masks,
deterministic reproductions, pressure-scale provenance, and explicit
accept/hold/reject decisions for every same-paper LitCurate row are bundled. -
Added a generated paper-level investigation ledger covering every audited
primary source, including coefficient discrepancies, unavailable direct
refits, and papers withheld or deferred without a production EOS record. -
Added a primary-source-validated absolute-zero Vinet-MGD EOS for cubic boron
nitride from Datchi et al. (2007). The explicit absolute thermal-pressure
baseline reproduces all 66 Table IV states at 0.584 GPa RMSE and the paper's
independent 300 K zero-pressure volume. -
Added Suzuki's (2016) epsilon-FeOOH BM3 thermal EOS with an explicit
reference-temperature linear-expansivity convention, all 33 Table 1 P-V-T
observations, and a refit recovering every free coefficient within 0.40
published standard deviations. -
Added Noguchi et al.'s (2013) non-default 700 K BM2-MGD CaSiO3 perovskite
EOS, preserving its cubic-phase domain, Fei et al. Pt calibration, and
staged-refit parity without redistributing the subscription-only table. -
Audited Katsura et al.'s (2004) 127-row ringwoodite dataset and documented
why its thermal EOS remains excluded: the published coefficients cannot be
reproduced with the chemically required seven-atom normalization. -
Added Fu et al. (2024) BM2 and BM3 records for Fe-Al-bearing bridgmanite,
with the complete 22-row primary compression dataset, Au pressure-scale
provenance, independent reproduction, and record-specific tests. -
Added phase-restricted principal Hugoniots for B1 MgO and B1 NiO. The MgO
relation preserves the published coefficients and uncertainties; the NiO
relation is a documented OLS derivation from all eight published final-state
observations with the elastic precursor excluded. -
Added primary-source-validated Sun et al. (2016, 2022) CaSiO3-perovskite
records: a 300 K tetragonal I4/mcm BM3 isotherm with the published Z=1
volume converted to the conventional Z=4 cell, and a high-temperature cubic
Pm-3m BM3-Mie-Gruneisen-Debye EOS with explicit metastable-reference-state,
phase-validity, and Fei et al. Pt pressure-scale metadata. -
Added the Luo et al. (2023) B1-MgO pressure scale as a 0 K Vinet curve plus
the published absolute second-order thermal-pressure polynomial, with all
five new shock states and the complete 576-value Tables II--III P-V-T grid. -
Added the primary-source-audited Dewaele et al. (2000) B1-MgO BM3-MGD EOS
and all 61 P-V-T observations from its Table 2. The record preserves the
Jamieson platinum pressure basis, distinguishes adopted, fitted, and fixed
quantities, reproduces the paper's 145 GPa BM3 benchmark atV/V0=0.667,
and recoversqwithin combined two-sigma uncertainty from the 41 new heated
rows withgamma0fixed as in the source's staged procedure. The paper's
Murnaghan, Vinet, logarithmic, and alternate
BM3 rows are documented as comparison fits rather than duplicate EOS records. -
Added a primary-source-validated Vinet--Mie--Gruneisen--Debye EOS for cubic
CaSiO3 perovskite from Kawai and Tsuchiya (2014), together with all 60
published Table 1 isochor benchmarks, explicit computational provenance,
source inconsistencies, and a documented raw-data/refit limitation. -
Added the Wang et al. (2012) stishovite Vinet-Mie--Gruneisen--Debye EOS and
all 56 Table 1 P-V-T observations with simultaneous Au calibrant volumes and
printed uncertainties. The source's equally successful BM3 alternative,
300 K thermal reference correction, Tsuchiya (2003) Au calibration lineage,
numerical Table 3 checks, and an errors-in-variables parity refit are fully
documented. -
Added the two distinct Reynard et al. (1996) MgSiO3-akimotoite BM3 fits on
the ruby-fluorescence and preferred ice-VII pressure assignments, together
with all 16 Table 1 unit-cell observations, paired ice-VII calibrant volumes,
pressure-scale provenance, independent high-pressure reproductions, and
parity-checked refits with the published 212 GPa bulk modulus held fixed. -
Added the Schulze et al. (2018) Phase Egg single-crystal BM3 EOS and all 16
printed compression rows, with the excluded ambient observation flagged and
the 15-row fit independently reproduced. The record distinguishes the
analyzedAl0.98Si0.92H1.39O4composition from the idealAlSiO3OH
structural model, traces the hydrogen coordinate to Schmidt et al. (1998),
and explains why the paper's Vanpeteghem-data refit is not a second EOS for
the 2018 specimen. The Dewaele et al. (2008) ruby calibration used by the
experiment is now executable and linked explicitly. -
Added one primary-sourced static 0 K Phase Egg LP BM3 record from Mookherjee
et al. (2019), including the official 11-row supplementary P-V grid,
diffraction-ready Schmidt et al. (1998) structure, published-value
reproduction, and diagnostic coefficient-parity refit. The canonical final
DOI is10.2138/am-2019-6694; the 2018 accepted-manuscript DOI is retained
only as source lineage to prevent a duplicate publication record. -
Added the selected Shi et al. (2022) Rh2O3(II)-type Al2O3 BM3-MGD thermal
EOS as a distinctPbcnphase, with all 75 official supplementary P-T-V
observations, published uncertainties, Pt pressure-scale provenance,
source-state reproduction, and an independent errors-in-variables refit.
The audit documents all eight corundum/Rh2O3(II) sensitivity fits and avoids
treating LitCurate's flattened BM3 rows as independent isothermal records. -
Added the Campbell and Heinz (1994) RbCl-B2 BM3 material, including all 24
Table 1 observations and a parity-checked refit. Corrected the CsCl resource,
which had mistakenly contained an incomplete subset of the RbCl table, and
added all nine Yagi (1978) CsCl compression ratios needed for the complete
22-point parity reproduction. -
Added Birch-Murnaghan Eulerian finite-strain/normalized-stress diagnostics,
including first-order P-V error propagation and fitted-model curves. The
numerical API is plotting-library independent; an executable notebook shows
how to produce the conventional F-f plot with Matplotlib. -
Added phase-specific linear
Us-upshock Hugoniot EOSs in Python and Rust,
including Rankine--Hugoniot pressure-volume inversion, velocity, density,
energy, tangent-modulus, uncertainty propagation, OLS/WLS/errors-in-variables
fitting, JSON-serializable fit results, and typed precursor, mass-basis, and
branch-domain APIs. Hugoniots remain inMaterial.eos_records, with filtered
hugoniot_recordsandequilibrium_recordsviews and category-scoped
defaults. Loading history and transformed-branch identity are independent;
record evaluation enforces the declared branch domain, whileV0,rho0,
formula units, and molar mass are cross-validated. Structured derivation
metadata covers coefficients obtained from SESAME or published tables. -
Added a bundled executable pressure-calibration library for the Mao (1978),
Mao--Xu--Bell (1986), Dewaele (2004, 2008), Holzapfel (2005), and
Dorogokupets--Oganov (2007), and IPPS-Ruby2020 ruby R1 scales in Python and
Rust, together with the Akahama--Kawamura (2006) and Eremets et al. (2023)
diamond-anvil Raman-edge scales. All 34
identified ruby-calibrated material records now link to an exact calibration
identifier. Public APIs convert ruby scales through the R1 wavelength ratio,
diamond scales through the Raman wavenumber ratio, transform XRD pressure
scales through virtual same-standard volumes, and recursively normalize a
material EOS through its recorded calibration graph. An explicit edge
registry preserves the sources and transformations for simultaneous and
jointly optimized cross-calibrations. New records add the Fratanduono (2021)
Au anchor and the Tateno (2019) and Chidester (2021) B2-KCl thermal EOSs; the
complete 155-row Chidester KCl/Pt-derived-pressure table is bundled. The
complete Dorogokupets--Oganov (2007) Pt four-oscillator thermal EOS is now
implemented in Python and Rust and makes the Chidester KCl-to-Pt edge
executable, including the published KCl-effective-to-Pt-surface temperature
transformation.
Observation-level re-reduction from paired measured calibrant volumes remains
available as a separate operation. A dedicated pressure-scale normalization
guide documents valid same-standard, ruby, and cross-material paths, the
qualifying literature, validity and uncertainty rules, and current library
coverage. A set-level route helper now finds and ranks XRD-standard targets
reachable from every supplied EOS, with an executable notebook covering
direct, optical, recursive, and temperature-transforming routes. -
Added the complete 51-row Somayazulu et al. (2023) B4C P-V-T table as a
provenance-bearing.eosmatdataset, linked it to new MGD and Berman thermal
records, and added a reproducible comparison of published, effective-
variance, and latent-coordinate fits. The open-source EosFit engine audit
also adds an explicit truncated-quadraticbermanreference-volume law in
Python, Rust, and the interchange schema. An opt-in
b4c_somayazulu_2023_berman_refitrecord carries the EosFit7c public-data
refit ...
Peritheos 0.6.0
Added
- Added the generic
DoubleDebyeHelmholtzfull-free-energy EOS with a Vinet
0 K cold curve, volume-dependent double-Debye modes and weights, zero-point
motion, a volume-dependent$T^2$ correction, analytic pressure, normal
pressure/volume/temperature inversion, fitting support, and documented
Benedict et al. diamond parameters as an example rather than model defaults.
The public Rust core implements the same Helmholtz, pressure, caloric, and
inversion equations and loads the model through native.eosmatdispatch. - Added the Benedict et al. (2014) diamond coefficients as an audited material
record in both the curated catalog and bundled.eosmatlibrary, with
explicit per-atom/conventional-cell conversion and cold-curve caveats. - Added DAC two-volume temperature inversion for absolute Helmholtz models by
defining the confined thermal pressure relative to the 300 K isotherm; the
material-record wrapper accepts conventional-cell volumes directly. - Added native Rust loading for canonical Peritheos format-3 and legacy
Dioptas format-2.eosmatfiles, with executable runtime-dispatched EOS
records, preserved JSON extensions, and automatic conventional-cell to
molar-volume conversion for energy-based thermal models. - Added eight executable notebook tutorials covering pressure calibration,
material-library exploration,.eosmatround trips, room-temperature EOS
and gold-scale comparisons, thermal state surfaces, DAC temperature
sensitivity, and fit-to-prediction uncertainty propagation.
Fixed
- Corrected the scientific provenance of all eleven Sokolova pressure scales:
their reference inputs and final coefficients originate in Sokolova et al.
(2013), Tables 1 and 4, while the 2016 paper is the spreadsheet
implementation/correction source. Each material record now carries structured
source lineage and fitting-data caveats. The misleading_sokolova_2016
record identifiers and public constants were removed in favor of
_sokolova_2013;Sokolova2016remains the corrected calculator formalism. - Replaced the migrated InN BM3/experimental-volume hybrid with Muñoz and
Kunc's published theoretical wurtzite Murnaghan fit, including a reference
volume reconstructed from their Table 1 theoretical lattice constants. - Made the Campbell--Heinz B2-KCl entry an explicit two-primary-source
composite: its absoluteV0and propagated error now follow from the
published B2/B1 volume ratio and Dewaele et al.'s B1 reference volume. - Consolidated duplicate
majorite/mgsio3-majmaterials, corrected the
Hanfland lithium equation family from BM3 to its combined-phase Vinet form,
and removed the unsupported Fei-FeO and Hixson-W standalone BM3 records. - Resolved the remaining primary-source blockers for CsCl, magnetite, Li,
majorite, MW60 magnesiowuestite, NiS, phase D, cubic SnO2, and SrO B1/B2.
Corrected equation orders, cell conventions, phases, fitted-versus-fixed
flags, ranges, and all printed parameter errors. Phase D now has distinct
AntA and AntB reference-volume records, and the inherited unsupported
majorite error and tenfold SnO2 volume-error transcription are removed. - Marked the published parameter errors for 14 Al, Cu, W, Ni, Ag, diamond,
alpha/omega-Ti, Si-V/Si-VII/Si-X, Re, corundum, and LiF records as 95%
confidence half-widths. File-loaded uncertainty propagation now converts
these intervals to normal-equivalent standard errors instead of treating
them as one-standard-deviation errors. - Corrected the imported Dioptas Fei et al. (2007) Au and Ne records to use
MieGruneisenDebyewithdebye_temperature_law="variable_exponent"rather
than the implicitintegrated_gruneisendefault. The.eosmatrecords
preserve the original behavior and cite equation 3 in explicit
migration-correction metadata. - Corrected the Hazen--Finger (1979) zircon record from an inconsistent BM2
representation to BM3 with the published assumedK0' = 6.5, including the
reportedV0uncertainty. - Corrected the Holmes et al. (1989) platinum record from BM3 to its published
universal (Vinet) isotherm, restored its model reference volume and
0--550 GPa static range, and represented Equation (12) with the published
constant thermal-pressure coefficient. - Restored the Ross (1997) magnesite fitted
V0and uncertainty and normalized
the Haines et al. (2001) Mo2C reference volume from the primary specimen's
measured ambient lattice parameters. - Corrected primary-source values and error metadata for CaSiO3, CaO B1/B2,
rutile GeO2/SnO2, PbS B1, wadsleyite, jadeite, and B2 KCl; corrected the
migrated B2-KCl thermal component to Walker et al.'s additive BE1 form and
retained the published uncertainty of its directly fittedalpha0*K0
product. Published errors are retained even where the associated value was
fixed during a fit, as for Shim et al.'s CaSiO3V0. - Replaced the migrated Anderson et al. Au
AlphaKTapproximation with the
exact Equation (29) logarithmic-volume linear thermal pressure, restored its
density-derived reference volume, Table V domain, and partial published
(dKT/dT)Vuncertainty, and promoted the record after primary-source review. - Removed the Martinez et al. aragonite global HT-BM3 record: Table 7 omits
its fittedV0(298 K), and the remaining coefficients do not reproduce the
printed 64-point table under documented pressure- or volume-residual least
squares. The independently reproducible staged BM2 result is retained and
extended with its published Equation (2)K0(T)slope and Equation (3)
direct-linear reference-volume law. - Promoted the Scott et al. (2001) cementite BM3 record after checking the
complete primary article: the ambientV0, weighted-fit coefficients, all
printed errors, 300 K reference state, and compression interval are now
traced to pages 1875--1877. The measuredV0is explicitly fixed in the
fit metadata, and the unreported covariance/confidence convention remains
documented rather than inferred. - Corrected the Clendenen and Drickamer (1966) CoO record from an inherited
BM3 representation to the published Murnaghan Equation 4, restored the
Table II ambient cell and Table III 30.8 GPa range, and retained null errors
because the primary paper reports no parameter uncertainty or covariance. - Promoted the Noguchi et al. (1999) NiO shock-derived 300 K BM3 isotherm after
checking the official 1998 primary conference paper for the sample reference
lattice, its propagated uncertainty, and the Mie--Gruneisen reduction. The
final journal article supplies the 147.6 GPa range andK0/K0'; their
errors remain null because the authors do not report them.
Added (catalog and native backend)
-
An executable documentation notebook using the complete printed Martinez et
al. (1996) aragonite Table 3 dataset to demonstrate 298 K and staged-isotherm
BM2 fitting, thermal-trend recovery, scaled joint P-V-T fitting, residual
visualization, and uncertainty/chi-square interpretation. -
A reproducible primary-source audit for the curated migrated
.eosmatEOS
records. All 147 bundled records are now directly validated against original
publications, official supplements, or stable institutional reports, and no
record remains pending or deferred. The
bundled machine-readable ledger records source locations, the independently
checked Shen--Smith (2026) Vinet fits and errors, the B4C order inconsistency,
and the restored Hanfland graphiteV0uncertainty. -
A mechanism-oriented
ThermalReferenceStateEOSimplementation for the
temperature-dependentV0(T)/K0(T)formulation used by the validated ice
VI/VII records. It now supports a genericthermal_expansion_law, including
exact analytical integration ofalpha0+alpha1*T; the constant law remains
backward compatible. A separatereference_volume_law="linear_temperature"
represents a directly linear mean-expansion relation without conflating it
with integrated instantaneous expansivity. The DioptasAlphaKTinterchange
type maps to the canonicalthermal_reference_statemodel identifier. -
Primary-source-validated native material records for the Martinez et al.
(1996) staged aragonite BM2 P-V-T parameterization and the Dewaele et al. (2012) B2-KCl
P-V-T pressure calibration. KCl uses the paper's Vinet reference isotherm,
additive thermal-pressure term, fixed fictiveV0, and explicit
experimental-versus-computational validity provenance. It is the preferred
kcl.eosmatrecord. After primary-source corrections and duplicate removal,
the catalog now contains 147 records, all validated. -
Primary-audit corrections restore Sokolova
n/Z, silica Debyen, and
iceTrinputs omitted by migration; every validated migrated record is
constructability-tested. -
A reproducible BurnMan/Pytheos public-API black-box comparison report,
deliberately separated from primary-source validation and test baselines. -
Executable
Materialconversion through the same canonical.eosmat
format 3 used for Dioptas exchange. Optional symmetry, lattice, space-group,
atom-site, peak, and unknown extension fields survive a Peritheos round
trip; cell-to-molar volume conversion is explicit per EOS record. Loading
uses a fixed model registry, refuses unaudited records by default, and keeps
snapshot-v2 reading only for compatibility. -
A configurable
debye_temperature_lawonMieGruneisenDebye, with
integrated_gruneisenas the backward-compatible default and
variable_exponentfor sources that directly publish a volume-dependent
exponent. Also added the mechanism-named
MultiOscillatorGruneisenThermalEOSclass, which accepts any
isothermalEosBaseand uses a generic numerical$dK/dP$ fallback where
needed; the earlier paper-named imports remain compatibility aliases. -
A first-class
Material/EOSRecordcatalog API with...
Peritheos 0.5.0
Added
- A comprehensive equation reference for every public isothermal and thermal
EOS, including parameter definitions, model domains, numerical inversion,
thermoelastic identities, fitting diagnostics, uncertainty propagation, and
explicit public-unit conversion factors. - Documentation distinguishing the equations typeset in Sokolova et al. (2016)
from the accompanying Excel workbook calculation implemented by
Sokolova2016, including differences in the bulk-modulus derivative,
characteristic-temperature multiplier, oscillator pressure contributions,
reference-isotherm subtraction, and working pressure units. - Temperature inversion from pressure and volume for all thermal EOS models,
including NumPy broadcasting throughtemperature()and
calculate_temperature(). - Coupled temperature inference from ambient and heated volumes with a
fractional DAC confinement contribution throughtemperature_from_volumes().
The empiricalf_dac * thermal_pressurepressure increment is solved in its
algebraically reduced form and requires0 <= f_dac < 1.
Documentation distinguishes this fraction of EOS thermal pressure from a
fraction of cold pressure and describes its physical limits, calibration,
identifiability, baseline-drift, and uncertainty constraints. - Fixed-volume preparation for temperature inversion, avoiding repeated
Sokolova volume-integral evaluations during root finding.
Changed
- Refreshed the locked runtime, development, documentation, and release
dependencies to their latest versions compatible with the supported Python
and declared package-version ranges. - The minimum supported SciPy version is now 1.9.3, ensuring a stable binary
installation and numerical fitting path on Python 3.9 across supported
platforms. - Documentation now uses Material for MkDocs with responsive navigation,
improved search and code presentation, and automatic light and dark themes. - The model overview now focuses on model selection and reference-EOS
compatibility, while advanced two-volume DAC analysis has moved out of the
introductory tutorial into a dedicated guide.
Peritheos 0.4.0
Added
- Branch-aware coverage enforcement, Ruff lint and formatting gates, and a
minimum-supported-dependency CI job. - Literature-tagged numerical cases for all public EOS families and an
independently solvable weighted least-squares fitting benchmark. - Automatic GitHub Releases with source and wheel artifacts.
- Citation metadata, API stability, contribution, security, support, conduct,
issue, and pull-request policies. - Versioned Read the Docs builds using the locked uv documentation environment.
- Joint reference-isotherm and thermal parameter fitting with complete
cross-covariance throughfit_joint_eos. - Per-observation correlated P-V and P-V-T covariance matrices and robust
least-squares losses for all fitting entry points. - Human-readable fit summaries and versioned, JSON-safe result export including
model parameters, covariance, adjusted observations, diagnostics, and solver
metadata.
Changed
- Uncertainty propagation tests now cover Monte Carlo state sampling, invalid
covariance and option handling, one-sided numerical derivatives, wrapper
behavior, and failed sampling; branch-aware project coverage exceeds 90%. - Corrected the fourth-order Birch-Murnaghan documentation to match its
implemented Eulerian-strain signs and exponents. - Package maturity metadata now identifies the 0.4 development line as beta.
- The minimum supported NumPy version is now 1.21, matching the public typing
APIs used by Peritheos. - Distribution package discovery is restricted to
peritheos, preventing
generated documentation directories from entering or blocking builds.