peritheos 0.5.0__tar.gz → 0.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- peritheos-0.6.0/Cargo.lock +452 -0
- peritheos-0.6.0/Cargo.toml +20 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/PKG-INFO +81 -29
- peritheos-0.5.0/peritheos.egg-info/PKG-INFO → peritheos-0.6.0/README.md +67 -44
- peritheos-0.6.0/crates/peritheos-core/Cargo.toml +19 -0
- peritheos-0.6.0/crates/peritheos-core/README.md +39 -0
- peritheos-0.6.0/crates/peritheos-core/src/batch.rs +249 -0
- peritheos-0.6.0/crates/peritheos-core/src/eosmat.rs +1020 -0
- peritheos-0.6.0/crates/peritheos-core/src/error.rs +51 -0
- peritheos-0.6.0/crates/peritheos-core/src/isothermal.rs +642 -0
- peritheos-0.6.0/crates/peritheos-core/src/lib.rs +324 -0
- peritheos-0.6.0/crates/peritheos-core/src/quadrature.rs +135 -0
- peritheos-0.6.0/crates/peritheos-core/src/root.rs +230 -0
- peritheos-0.6.0/crates/peritheos-core/src/thermal.rs +1723 -0
- peritheos-0.6.0/crates/peritheos-core/src/validation.rs +53 -0
- peritheos-0.6.0/crates/peritheos-core/tests/batch.rs +107 -0
- peritheos-0.6.0/crates/peritheos-core/tests/data/isothermal_compatibility_cases.json +82 -0
- {peritheos-0.5.0 → peritheos-0.6.0/crates/peritheos-core}/tests/data/literature_reference_cases.json +1 -1
- peritheos-0.6.0/crates/peritheos-core/tests/data/thermal_compatibility_cases.json +57 -0
- peritheos-0.6.0/crates/peritheos-core/tests/eosmat.rs +155 -0
- peritheos-0.6.0/crates/peritheos-core/tests/isothermal.rs +210 -0
- peritheos-0.6.0/crates/peritheos-core/tests/thermal.rs +584 -0
- peritheos-0.6.0/crates/peritheos-fit/Cargo.toml +19 -0
- peritheos-0.6.0/crates/peritheos-fit/README.md +54 -0
- peritheos-0.6.0/crates/peritheos-fit/src/eos.rs +691 -0
- peritheos-0.6.0/crates/peritheos-fit/src/lib.rs +2216 -0
- peritheos-0.6.0/crates/peritheos-python/Cargo.toml +25 -0
- peritheos-0.6.0/crates/peritheos-python/README.md +5 -0
- peritheos-0.6.0/crates/peritheos-python/src/lib.rs +1287 -0
- peritheos-0.6.0/crates/peritheos-python/src/native_fit.rs +637 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/docs/api-stability.md +20 -0
- peritheos-0.6.0/docs/api.md +305 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/docs/dac-thermal-pressure.md +22 -11
- peritheos-0.6.0/docs/development.md +135 -0
- peritheos-0.6.0/docs/dioptas-integration.md +189 -0
- peritheos-0.6.0/docs/eosmat-schema.md +350 -0
- peritheos-0.6.0/docs/equation-reference.md +721 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/docs/fitting.md +41 -4
- {peritheos-0.5.0 → peritheos-0.6.0}/docs/index.md +27 -1
- peritheos-0.6.0/docs/javascripts/mathjax.js +12 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/docs/models.md +36 -12
- peritheos-0.6.0/docs/notebooks/aragonite-eos-fitting.ipynb +661 -0
- peritheos-0.6.0/docs/notebooks/compare-gold-pressure-scales.ipynb +322 -0
- peritheos-0.6.0/docs/notebooks/compare-room-temperature-eos.ipynb +374 -0
- peritheos-0.6.0/docs/notebooks/dac-temperature-sensitivity.ipynb +399 -0
- peritheos-0.6.0/docs/notebooks/data/martinez-1996-aragonite-table3.csv +65 -0
- peritheos-0.6.0/docs/notebooks/eosmat-roundtrip.ipynb +326 -0
- peritheos-0.6.0/docs/notebooks/exploring-material-library.ipynb +368 -0
- peritheos-0.6.0/docs/notebooks/fit-to-prediction-uncertainty.ipynb +364 -0
- peritheos-0.6.0/docs/notebooks/pressure-calibration-quickstart.ipynb +346 -0
- peritheos-0.6.0/docs/notebooks/thermal-eos-state-surfaces.ipynb +323 -0
- peritheos-0.6.0/docs/pressure-standards.md +457 -0
- peritheos-0.6.0/docs/references.md +310 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/docs/requirements.txt +2 -0
- peritheos-0.6.0/docs/rust-completion-plan.md +48 -0
- peritheos-0.6.0/docs/rust-migration.md +285 -0
- peritheos-0.6.0/docs/scirs2-feasibility.md +193 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/docs/thermoelastic-properties.md +1 -1
- {peritheos-0.5.0 → peritheos-0.6.0}/docs/uncertainty.md +3 -2
- {peritheos-0.5.0 → peritheos-0.6.0}/docs/units.md +19 -0
- peritheos-0.6.0/docs/validation.md +334 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/mkdocs.yml +19 -0
- peritheos-0.6.0/peritheos/__init__.py +50 -0
- peritheos-0.6.0/peritheos/data/__init__.py +1 -0
- peritheos-0.6.0/peritheos/data/eosmat-v3.schema.json +461 -0
- peritheos-0.6.0/peritheos/data/materials/DIOPTAS_LICENSE.txt +24 -0
- peritheos-0.6.0/peritheos/data/materials/README.md +101 -0
- peritheos-0.6.0/peritheos/data/materials/__init__.py +1 -0
- peritheos-0.6.0/peritheos/data/materials/akimotoite.eosmat +125 -0
- peritheos-0.6.0/peritheos/data/materials/almandine.eosmat +133 -0
- peritheos-0.6.0/peritheos/data/materials/alpha_quartz.eosmat +116 -0
- peritheos-0.6.0/peritheos/data/materials/alumina.eosmat +165 -0
- peritheos-0.6.0/peritheos/data/materials/aluminum.eosmat +275 -0
- peritheos-0.6.0/peritheos/data/materials/aragonite.eosmat +155 -0
- peritheos-0.6.0/peritheos/data/materials/argon_hcp.eosmat +102 -0
- peritheos-0.6.0/peritheos/data/materials/b4c.eosmat +151 -0
- peritheos-0.6.0/peritheos/data/materials/boron_nitride.eosmat +114 -0
- peritheos-0.6.0/peritheos/data/materials/boron_nitride_hexagonal.eosmat +118 -0
- peritheos-0.6.0/peritheos/data/materials/boron_phosphide.eosmat +123 -0
- peritheos-0.6.0/peritheos/data/materials/bridgmanite.eosmat +303 -0
- peritheos-0.6.0/peritheos/data/materials/ca_perovskite.eosmat +213 -0
- peritheos-0.6.0/peritheos/data/materials/calcite.eosmat +119 -0
- peritheos-0.6.0/peritheos/data/materials/calcium_carbonate_post_aragonite.eosmat +236 -0
- peritheos-0.6.0/peritheos/data/materials/cao.eosmat +127 -0
- peritheos-0.6.0/peritheos/data/materials/cao_b2.eosmat +131 -0
- peritheos-0.6.0/peritheos/data/materials/cementite.eosmat +132 -0
- peritheos-0.6.0/peritheos/data/materials/cerium_dioxide.eosmat +119 -0
- peritheos-0.6.0/peritheos/data/materials/chromium.eosmat +106 -0
- peritheos-0.6.0/peritheos/data/materials/cobalt_hcp.eosmat +105 -0
- peritheos-0.6.0/peritheos/data/materials/coesite.eosmat +150 -0
- peritheos-0.6.0/peritheos/data/materials/coo.eosmat +165 -0
- peritheos-0.6.0/peritheos/data/materials/copper.eosmat +272 -0
- peritheos-0.6.0/peritheos/data/materials/cscl.eosmat +122 -0
- peritheos-0.6.0/peritheos/data/materials/diamond.eosmat +500 -0
- peritheos-0.6.0/peritheos/data/materials/e_feooh.eosmat +124 -0
- peritheos-0.6.0/peritheos/data/materials/fayalite.eosmat +151 -0
- peritheos-0.6.0/peritheos/data/materials/fe.eosmat +112 -0
- peritheos-0.6.0/peritheos/data/materials/fe2o3.eosmat +116 -0
- peritheos-0.6.0/peritheos/data/materials/fe3o4.eosmat +134 -0
- peritheos-0.6.0/peritheos/data/materials/fe3s.eosmat +221 -0
- peritheos-0.6.0/peritheos/data/materials/feh2.eosmat +168 -0
- peritheos-0.6.0/peritheos/data/materials/feh3.eosmat +116 -0
- peritheos-0.6.0/peritheos/data/materials/feo.eosmat +121 -0
- peritheos-0.6.0/peritheos/data/materials/feo_b8_2.eosmat +121 -0
- peritheos-0.6.0/peritheos/data/materials/fes.eosmat +114 -0
- peritheos-0.6.0/peritheos/data/materials/forsterite.eosmat +149 -0
- peritheos-0.6.0/peritheos/data/materials/geo2_rutile.eosmat +142 -0
- peritheos-0.6.0/peritheos/data/materials/goethite.eosmat +126 -0
- peritheos-0.6.0/peritheos/data/materials/gold.eosmat +578 -0
- peritheos-0.6.0/peritheos/data/materials/graphite.eosmat +124 -0
- peritheos-0.6.0/peritheos/data/materials/ice_vi.eosmat +180 -0
- peritheos-0.6.0/peritheos/data/materials/ice_vii.eosmat +220 -0
- peritheos-0.6.0/peritheos/data/materials/iceviii.eosmat +348 -0
- peritheos-0.6.0/peritheos/data/materials/indium_nitride.eosmat +138 -0
- peritheos-0.6.0/peritheos/data/materials/iridium.eosmat +111 -0
- peritheos-0.6.0/peritheos/data/materials/iron.eosmat +175 -0
- peritheos-0.6.0/peritheos/data/materials/iron_carbide_fe7c3.eosmat +197 -0
- peritheos-0.6.0/peritheos/data/materials/kbr_b1.eosmat +121 -0
- peritheos-0.6.0/peritheos/data/materials/kbr_b2.eosmat +121 -0
- peritheos-0.6.0/peritheos/data/materials/kcl.eosmat +418 -0
- peritheos-0.6.0/peritheos/data/materials/kcl_b1.eosmat +121 -0
- peritheos-0.6.0/peritheos/data/materials/lead_fcc.eosmat +109 -0
- peritheos-0.6.0/peritheos/data/materials/li_bcc.eosmat +140 -0
- peritheos-0.6.0/peritheos/data/materials/lif_b1.eosmat +115 -0
- peritheos-0.6.0/peritheos/data/materials/magnesite.eosmat +141 -0
- peritheos-0.6.0/peritheos/data/materials/magnesium_bcc.eosmat +114 -0
- peritheos-0.6.0/peritheos/data/materials/magnesium_hcp.eosmat +114 -0
- peritheos-0.6.0/peritheos/data/materials/majorite.eosmat +834 -0
- peritheos-0.6.0/peritheos/data/materials/manganese_alpha.eosmat +136 -0
- peritheos-0.6.0/peritheos/data/materials/manifest.json +21 -0
- peritheos-0.6.0/peritheos/data/materials/mg7si2o8.eosmat +336 -0
- peritheos-0.6.0/peritheos/data/materials/mgfe60o.eosmat +180 -0
- peritheos-0.6.0/peritheos/data/materials/mgo.eosmat +427 -0
- peritheos-0.6.0/peritheos/data/materials/mgsio3_post_perovskite.eosmat +209 -0
- peritheos-0.6.0/peritheos/data/materials/molybdenum.eosmat +273 -0
- peritheos-0.6.0/peritheos/data/materials/molybenum_carbide_mo2c.eosmat +152 -0
- peritheos-0.6.0/peritheos/data/materials/naalsi2o6.eosmat +184 -0
- peritheos-0.6.0/peritheos/data/materials/naalsio4_calcium_ferrite.eosmat +168 -0
- peritheos-0.6.0/peritheos/data/materials/nacl_b1.eosmat +116 -0
- peritheos-0.6.0/peritheos/data/materials/nacl_b2.eosmat +179 -0
- peritheos-0.6.0/peritheos/data/materials/neon_fcc.eosmat +201 -0
- peritheos-0.6.0/peritheos/data/materials/nickel.eosmat +105 -0
- peritheos-0.6.0/peritheos/data/materials/nickel_oxide.eosmat +124 -0
- peritheos-0.6.0/peritheos/data/materials/niobium.eosmat +299 -0
- peritheos-0.6.0/peritheos/data/materials/nis.eosmat +122 -0
- peritheos-0.6.0/peritheos/data/materials/orthoenstatite.eosmat +180 -0
- peritheos-0.6.0/peritheos/data/materials/osmium.eosmat +106 -0
- peritheos-0.6.0/peritheos/data/materials/palladium.eosmat +106 -0
- peritheos-0.6.0/peritheos/data/materials/pbs_b1.eosmat +147 -0
- peritheos-0.6.0/peritheos/data/materials/perovskite_orthorhombic.eosmat +1186 -0
- peritheos-0.6.0/peritheos/data/materials/phase_d.eosmat +630 -0
- peritheos-0.6.0/peritheos/data/materials/platinum.eosmat +422 -0
- peritheos-0.6.0/peritheos/data/materials/praseodymium_dioxide.eosmat +119 -0
- peritheos-0.6.0/peritheos/data/materials/pyrope.eosmat +133 -0
- peritheos-0.6.0/peritheos/data/materials/rhenium.eosmat +107 -0
- peritheos-0.6.0/peritheos/data/materials/rhodium.eosmat +110 -0
- peritheos-0.6.0/peritheos/data/materials/ringwoodite.eosmat +136 -0
- peritheos-0.6.0/peritheos/data/materials/ruthenium.eosmat +110 -0
- peritheos-0.6.0/peritheos/data/materials/seifertite.eosmat +150 -0
- peritheos-0.6.0/peritheos/data/materials/silica_cacl2.eosmat +150 -0
- peritheos-0.6.0/peritheos/data/materials/silicon.eosmat +109 -0
- peritheos-0.6.0/peritheos/data/materials/silicon_carbide_b1.eosmat +116 -0
- peritheos-0.6.0/peritheos/data/materials/silicon_carbide_b3.eosmat +118 -0
- peritheos-0.6.0/peritheos/data/materials/silicon_v.eosmat +108 -0
- peritheos-0.6.0/peritheos/data/materials/silicon_vii.eosmat +108 -0
- peritheos-0.6.0/peritheos/data/materials/silicon_x.eosmat +108 -0
- peritheos-0.6.0/peritheos/data/materials/silver.eosmat +270 -0
- peritheos-0.6.0/peritheos/data/materials/sio2_stv_andr.eosmat +111 -0
- peritheos-0.6.0/peritheos/data/materials/sno2.eosmat +142 -0
- peritheos-0.6.0/peritheos/data/materials/sno2_cubic_27gpa.eosmat +203 -0
- peritheos-0.6.0/peritheos/data/materials/sno2_pa_3_at_48gpa.eosmat +203 -0
- peritheos-0.6.0/peritheos/data/materials/sro.eosmat +129 -0
- peritheos-0.6.0/peritheos/data/materials/sro_b2.eosmat +120 -0
- peritheos-0.6.0/peritheos/data/materials/tantalum.eosmat +381 -0
- peritheos-0.6.0/peritheos/data/materials/titanium_alpha.eosmat +114 -0
- peritheos-0.6.0/peritheos/data/materials/titanium_omega.eosmat +120 -0
- peritheos-0.6.0/peritheos/data/materials/tungsten.eosmat +342 -0
- peritheos-0.6.0/peritheos/data/materials/wadsleyite.eosmat +260 -0
- peritheos-0.6.0/peritheos/data/materials/zinc_oxide_rocksalt.eosmat +115 -0
- peritheos-0.6.0/peritheos/data/materials/zinc_oxide_wurtzite.eosmat +119 -0
- peritheos-0.6.0/peritheos/data/materials/zircon.eosmat +177 -0
- peritheos-0.6.0/peritheos/data/materials/zirconium_alpha.eosmat +118 -0
- peritheos-0.6.0/peritheos/data/materials/zirconium_beta.eosmat +117 -0
- peritheos-0.6.0/peritheos/data/materials/zirconium_omega.eosmat +124 -0
- peritheos-0.6.0/peritheos/data/primary-source-audit.json +2738 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/peritheos/eos/__init__.py +174 -2
- {peritheos-0.5.0 → peritheos-0.6.0}/peritheos/eos/rt/bm.py +13 -42
- peritheos-0.6.0/peritheos/eos/rt/holzapfel.py +140 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/peritheos/eos/rt/murnaghan.py +5 -9
- {peritheos-0.5.0 → peritheos-0.6.0}/peritheos/eos/rt/natural_strain.py +11 -31
- {peritheos-0.5.0 → peritheos-0.6.0}/peritheos/eos/rt/tait.py +7 -4
- {peritheos-0.5.0 → peritheos-0.6.0}/peritheos/eos/rt/vinet.py +5 -9
- peritheos-0.6.0/peritheos/eos/thermal/__init__.py +32 -0
- peritheos-0.6.0/peritheos/eos/thermal/double_debye_helmholtz.py +444 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/peritheos/eos/thermal/holland_powell.py +29 -0
- peritheos-0.6.0/peritheos/eos/thermal/linear.py +280 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/peritheos/eos/thermal/mie_gruneisen.py +231 -3
- peritheos-0.5.0/peritheos/eos/thermal/sokolova2016.py → peritheos-0.6.0/peritheos/eos/thermal/multi_oscillator.py +76 -11
- peritheos-0.6.0/peritheos/eos/thermal/sokolova2016.py +16 -0
- peritheos-0.6.0/peritheos/eosmat.py +458 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/peritheos/fitting.py +180 -18
- peritheos-0.6.0/peritheos/materials.py +3095 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/peritheos/uncertainty.py +39 -15
- {peritheos-0.5.0 → peritheos-0.6.0}/pyproject.toml +17 -8
- peritheos-0.6.0/scripts/apply_primary_source_audit.py +2884 -0
- peritheos-0.6.0/scripts/compare_external_black_boxes.py +123 -0
- peritheos-0.6.0/scripts/import_dioptas_eos_database.py +200 -0
- peritheos-0.6.0/scripts/verify-rust-packages.sh +32 -0
- peritheos-0.5.0/CHANGELOG.md +0 -149
- peritheos-0.5.0/CITATION.cff +0 -20
- peritheos-0.5.0/CODE_OF_CONDUCT.md +0 -19
- peritheos-0.5.0/CONTRIBUTING.md +0 -46
- peritheos-0.5.0/MANIFEST.in +0 -9
- peritheos-0.5.0/README.md +0 -184
- peritheos-0.5.0/SECURITY.md +0 -25
- peritheos-0.5.0/SUPPORT.md +0 -14
- peritheos-0.5.0/docs/api.md +0 -150
- peritheos-0.5.0/docs/development.md +0 -46
- peritheos-0.5.0/docs/equation-reference.md +0 -432
- peritheos-0.5.0/docs/references.md +0 -55
- peritheos-0.5.0/docs/validation.md +0 -79
- peritheos-0.5.0/peritheos/__init__.py +0 -16
- peritheos-0.5.0/peritheos/eos/rt/holzapfel.py +0 -197
- peritheos-0.5.0/peritheos/eos/thermal/__init__.py +0 -15
- peritheos-0.5.0/peritheos.egg-info/SOURCES.txt +0 -67
- peritheos-0.5.0/peritheos.egg-info/dependency_links.txt +0 -1
- peritheos-0.5.0/peritheos.egg-info/requires.txt +0 -2
- peritheos-0.5.0/peritheos.egg-info/top_level.txt +0 -1
- peritheos-0.5.0/setup.cfg +0 -4
- peritheos-0.5.0/tests/test_bm.py +0 -195
- peritheos-0.5.0/tests/test_eos_api.py +0 -102
- peritheos-0.5.0/tests/test_fitting.py +0 -479
- peritheos-0.5.0/tests/test_holzapfel.py +0 -157
- peritheos-0.5.0/tests/test_literature_reference_cases.py +0 -63
- peritheos-0.5.0/tests/test_murnaghan.py +0 -58
- peritheos-0.5.0/tests/test_natural_strain.py +0 -61
- peritheos-0.5.0/tests/test_numerical_stress.py +0 -271
- peritheos-0.5.0/tests/test_package_metadata.py +0 -17
- peritheos-0.5.0/tests/test_tait.py +0 -73
- peritheos-0.5.0/tests/test_thermal_mie_gruneisen.py +0 -145
- peritheos-0.5.0/tests/test_thermal_sokolova.py +0 -392
- peritheos-0.5.0/tests/test_thermoelastic_api.py +0 -134
- peritheos-0.5.0/tests/test_uncertainty.py +0 -546
- peritheos-0.5.0/tests/test_units.py +0 -43
- peritheos-0.5.0/tests/test_vinet.py +0 -97
- {peritheos-0.5.0 → peritheos-0.6.0}/LICENSE +0 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/docs/getting-started.md +0 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/docs/project-policies.md +0 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/peritheos/constants.py +0 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/peritheos/eos/rt/__init__.py +0 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/peritheos/units.py +0 -0
- {peritheos-0.5.0 → peritheos-0.6.0}/peritheos/utils.py +0 -0
|
@@ -0,0 +1,452 @@
|
|
|
1
|
+
# This file is automatically @generated by Cargo.
|
|
2
|
+
# It is not intended for manual editing.
|
|
3
|
+
version = 4
|
|
4
|
+
|
|
5
|
+
[[package]]
|
|
6
|
+
name = "autocfg"
|
|
7
|
+
version = "1.5.1"
|
|
8
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9
|
+
checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
|
|
10
|
+
|
|
11
|
+
[[package]]
|
|
12
|
+
name = "cfg-if"
|
|
13
|
+
version = "1.0.4"
|
|
14
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
15
|
+
checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
|
|
16
|
+
|
|
17
|
+
[[package]]
|
|
18
|
+
name = "crossbeam-deque"
|
|
19
|
+
version = "0.8.7"
|
|
20
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
21
|
+
checksum = "5181e0de7b61eb03a81e347d6dd8797bae9da5146707b51077e2d71a54ec0ceb"
|
|
22
|
+
dependencies = [
|
|
23
|
+
"crossbeam-epoch",
|
|
24
|
+
"crossbeam-utils",
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
[[package]]
|
|
28
|
+
name = "crossbeam-epoch"
|
|
29
|
+
version = "0.9.20"
|
|
30
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
31
|
+
checksum = "2d6914041f254d6e9176c01941b21115dcfb7089e55135a35411081bd106ef3f"
|
|
32
|
+
dependencies = [
|
|
33
|
+
"crossbeam-utils",
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
[[package]]
|
|
37
|
+
name = "crossbeam-utils"
|
|
38
|
+
version = "0.8.22"
|
|
39
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
40
|
+
checksum = "61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17"
|
|
41
|
+
|
|
42
|
+
[[package]]
|
|
43
|
+
name = "either"
|
|
44
|
+
version = "1.18.0"
|
|
45
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
46
|
+
checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34"
|
|
47
|
+
|
|
48
|
+
[[package]]
|
|
49
|
+
name = "getrandom"
|
|
50
|
+
version = "0.2.17"
|
|
51
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
52
|
+
checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0"
|
|
53
|
+
dependencies = [
|
|
54
|
+
"cfg-if",
|
|
55
|
+
"libc",
|
|
56
|
+
"wasi",
|
|
57
|
+
]
|
|
58
|
+
|
|
59
|
+
[[package]]
|
|
60
|
+
name = "heck"
|
|
61
|
+
version = "0.5.0"
|
|
62
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
63
|
+
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
|
|
64
|
+
|
|
65
|
+
[[package]]
|
|
66
|
+
name = "itoa"
|
|
67
|
+
version = "1.0.18"
|
|
68
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
69
|
+
checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
|
|
70
|
+
|
|
71
|
+
[[package]]
|
|
72
|
+
name = "libc"
|
|
73
|
+
version = "0.2.189"
|
|
74
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
75
|
+
checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
|
|
76
|
+
|
|
77
|
+
[[package]]
|
|
78
|
+
name = "matrixmultiply"
|
|
79
|
+
version = "0.3.11"
|
|
80
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
81
|
+
checksum = "3f607c237553f086e7043417a51df26b2eb899d3caff94e6a67592ff992fedc7"
|
|
82
|
+
dependencies = [
|
|
83
|
+
"autocfg",
|
|
84
|
+
"rawpointer",
|
|
85
|
+
]
|
|
86
|
+
|
|
87
|
+
[[package]]
|
|
88
|
+
name = "memchr"
|
|
89
|
+
version = "2.8.3"
|
|
90
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
91
|
+
checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
|
|
92
|
+
|
|
93
|
+
[[package]]
|
|
94
|
+
name = "ndarray"
|
|
95
|
+
version = "0.17.2"
|
|
96
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
97
|
+
checksum = "520080814a7a6b4a6e9070823bb24b4531daac8c4627e08ba5de8c5ef2f2752d"
|
|
98
|
+
dependencies = [
|
|
99
|
+
"matrixmultiply",
|
|
100
|
+
"num-complex",
|
|
101
|
+
"num-integer",
|
|
102
|
+
"num-traits",
|
|
103
|
+
"portable-atomic",
|
|
104
|
+
"portable-atomic-util",
|
|
105
|
+
"rawpointer",
|
|
106
|
+
]
|
|
107
|
+
|
|
108
|
+
[[package]]
|
|
109
|
+
name = "num-complex"
|
|
110
|
+
version = "0.4.6"
|
|
111
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
112
|
+
checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495"
|
|
113
|
+
dependencies = [
|
|
114
|
+
"num-traits",
|
|
115
|
+
]
|
|
116
|
+
|
|
117
|
+
[[package]]
|
|
118
|
+
name = "num-integer"
|
|
119
|
+
version = "0.1.47"
|
|
120
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
121
|
+
checksum = "7ce2d95d4b3734dc35aa2f45e1aa22cd416814592a4f9d9205e11affd5b8e10b"
|
|
122
|
+
dependencies = [
|
|
123
|
+
"num-traits",
|
|
124
|
+
]
|
|
125
|
+
|
|
126
|
+
[[package]]
|
|
127
|
+
name = "num-traits"
|
|
128
|
+
version = "0.2.19"
|
|
129
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
130
|
+
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
|
|
131
|
+
dependencies = [
|
|
132
|
+
"autocfg",
|
|
133
|
+
]
|
|
134
|
+
|
|
135
|
+
[[package]]
|
|
136
|
+
name = "numpy"
|
|
137
|
+
version = "0.29.0"
|
|
138
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
139
|
+
checksum = "6a5b15d63a5ff39e378daed0e1340d3a5964703ea9712eb09a0dc66fade996f4"
|
|
140
|
+
dependencies = [
|
|
141
|
+
"libc",
|
|
142
|
+
"ndarray",
|
|
143
|
+
"num-complex",
|
|
144
|
+
"num-integer",
|
|
145
|
+
"num-traits",
|
|
146
|
+
"pyo3",
|
|
147
|
+
"pyo3-build-config",
|
|
148
|
+
"rustc-hash",
|
|
149
|
+
]
|
|
150
|
+
|
|
151
|
+
[[package]]
|
|
152
|
+
name = "once_cell"
|
|
153
|
+
version = "1.21.4"
|
|
154
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
155
|
+
checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
|
|
156
|
+
|
|
157
|
+
[[package]]
|
|
158
|
+
name = "peritheos-core"
|
|
159
|
+
version = "0.6.0"
|
|
160
|
+
dependencies = [
|
|
161
|
+
"serde",
|
|
162
|
+
"serde_json",
|
|
163
|
+
]
|
|
164
|
+
|
|
165
|
+
[[package]]
|
|
166
|
+
name = "peritheos-fit"
|
|
167
|
+
version = "0.6.0"
|
|
168
|
+
dependencies = [
|
|
169
|
+
"peritheos-core",
|
|
170
|
+
"rand",
|
|
171
|
+
]
|
|
172
|
+
|
|
173
|
+
[[package]]
|
|
174
|
+
name = "peritheos-python"
|
|
175
|
+
version = "0.6.0"
|
|
176
|
+
dependencies = [
|
|
177
|
+
"numpy",
|
|
178
|
+
"peritheos-core",
|
|
179
|
+
"peritheos-fit",
|
|
180
|
+
"pyo3",
|
|
181
|
+
"rayon",
|
|
182
|
+
]
|
|
183
|
+
|
|
184
|
+
[[package]]
|
|
185
|
+
name = "portable-atomic"
|
|
186
|
+
version = "1.15.0"
|
|
187
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
188
|
+
checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85"
|
|
189
|
+
|
|
190
|
+
[[package]]
|
|
191
|
+
name = "portable-atomic-util"
|
|
192
|
+
version = "0.2.7"
|
|
193
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
194
|
+
checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618"
|
|
195
|
+
dependencies = [
|
|
196
|
+
"portable-atomic",
|
|
197
|
+
]
|
|
198
|
+
|
|
199
|
+
[[package]]
|
|
200
|
+
name = "ppv-lite86"
|
|
201
|
+
version = "0.2.21"
|
|
202
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
203
|
+
checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
|
|
204
|
+
dependencies = [
|
|
205
|
+
"zerocopy",
|
|
206
|
+
]
|
|
207
|
+
|
|
208
|
+
[[package]]
|
|
209
|
+
name = "proc-macro2"
|
|
210
|
+
version = "1.0.107"
|
|
211
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
212
|
+
checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
|
|
213
|
+
dependencies = [
|
|
214
|
+
"unicode-ident",
|
|
215
|
+
]
|
|
216
|
+
|
|
217
|
+
[[package]]
|
|
218
|
+
name = "pyo3"
|
|
219
|
+
version = "0.29.2"
|
|
220
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
221
|
+
checksum = "4688ddedf473e32662b9b067670129a8afb8c18e351482c70d62ba4a88171e8b"
|
|
222
|
+
dependencies = [
|
|
223
|
+
"libc",
|
|
224
|
+
"once_cell",
|
|
225
|
+
"portable-atomic",
|
|
226
|
+
"pyo3-build-config",
|
|
227
|
+
"pyo3-ffi",
|
|
228
|
+
"pyo3-macros",
|
|
229
|
+
]
|
|
230
|
+
|
|
231
|
+
[[package]]
|
|
232
|
+
name = "pyo3-build-config"
|
|
233
|
+
version = "0.29.2"
|
|
234
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
235
|
+
checksum = "f41027e41b4bd03f6e60f9f417fe24a6341a6bb744edd62b6f709f2a52ea30e9"
|
|
236
|
+
dependencies = [
|
|
237
|
+
"target-lexicon",
|
|
238
|
+
]
|
|
239
|
+
|
|
240
|
+
[[package]]
|
|
241
|
+
name = "pyo3-ffi"
|
|
242
|
+
version = "0.29.2"
|
|
243
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
244
|
+
checksum = "e591a95526fead067432c3b3a33fc74770b87b1e04e73671090d9c2055a2b327"
|
|
245
|
+
dependencies = [
|
|
246
|
+
"libc",
|
|
247
|
+
"pyo3-build-config",
|
|
248
|
+
]
|
|
249
|
+
|
|
250
|
+
[[package]]
|
|
251
|
+
name = "pyo3-macros"
|
|
252
|
+
version = "0.29.2"
|
|
253
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
254
|
+
checksum = "73225868fc1cd84eef2c3c230ddb91273bf1de46aeb8a4248da76d32a0924a1c"
|
|
255
|
+
dependencies = [
|
|
256
|
+
"proc-macro2",
|
|
257
|
+
"pyo3-macros-backend",
|
|
258
|
+
"quote",
|
|
259
|
+
"syn 2.0.119",
|
|
260
|
+
]
|
|
261
|
+
|
|
262
|
+
[[package]]
|
|
263
|
+
name = "pyo3-macros-backend"
|
|
264
|
+
version = "0.29.2"
|
|
265
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
266
|
+
checksum = "571575aa3749fa6216757dd47d2a3e7ef360f329a40f0666a9fbd14889024952"
|
|
267
|
+
dependencies = [
|
|
268
|
+
"heck",
|
|
269
|
+
"proc-macro2",
|
|
270
|
+
"quote",
|
|
271
|
+
"syn 2.0.119",
|
|
272
|
+
]
|
|
273
|
+
|
|
274
|
+
[[package]]
|
|
275
|
+
name = "quote"
|
|
276
|
+
version = "1.0.47"
|
|
277
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
278
|
+
checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
|
|
279
|
+
dependencies = [
|
|
280
|
+
"proc-macro2",
|
|
281
|
+
]
|
|
282
|
+
|
|
283
|
+
[[package]]
|
|
284
|
+
name = "rand"
|
|
285
|
+
version = "0.8.8"
|
|
286
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
287
|
+
checksum = "e058c7de0b26af77780c769414d6257830bb240f3c38477dbc2c16e5f54d6d4c"
|
|
288
|
+
dependencies = [
|
|
289
|
+
"libc",
|
|
290
|
+
"rand_chacha",
|
|
291
|
+
"rand_core",
|
|
292
|
+
]
|
|
293
|
+
|
|
294
|
+
[[package]]
|
|
295
|
+
name = "rand_chacha"
|
|
296
|
+
version = "0.3.1"
|
|
297
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
298
|
+
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
|
|
299
|
+
dependencies = [
|
|
300
|
+
"ppv-lite86",
|
|
301
|
+
"rand_core",
|
|
302
|
+
]
|
|
303
|
+
|
|
304
|
+
[[package]]
|
|
305
|
+
name = "rand_core"
|
|
306
|
+
version = "0.6.4"
|
|
307
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
308
|
+
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
|
|
309
|
+
dependencies = [
|
|
310
|
+
"getrandom",
|
|
311
|
+
]
|
|
312
|
+
|
|
313
|
+
[[package]]
|
|
314
|
+
name = "rawpointer"
|
|
315
|
+
version = "0.2.1"
|
|
316
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
317
|
+
checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
|
|
318
|
+
|
|
319
|
+
[[package]]
|
|
320
|
+
name = "rayon"
|
|
321
|
+
version = "1.12.0"
|
|
322
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
323
|
+
checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d"
|
|
324
|
+
dependencies = [
|
|
325
|
+
"either",
|
|
326
|
+
"rayon-core",
|
|
327
|
+
]
|
|
328
|
+
|
|
329
|
+
[[package]]
|
|
330
|
+
name = "rayon-core"
|
|
331
|
+
version = "1.13.0"
|
|
332
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
333
|
+
checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
|
|
334
|
+
dependencies = [
|
|
335
|
+
"crossbeam-deque",
|
|
336
|
+
"crossbeam-utils",
|
|
337
|
+
]
|
|
338
|
+
|
|
339
|
+
[[package]]
|
|
340
|
+
name = "rustc-hash"
|
|
341
|
+
version = "2.1.3"
|
|
342
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
343
|
+
checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d"
|
|
344
|
+
|
|
345
|
+
[[package]]
|
|
346
|
+
name = "serde"
|
|
347
|
+
version = "1.0.229"
|
|
348
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
349
|
+
checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
|
|
350
|
+
dependencies = [
|
|
351
|
+
"serde_core",
|
|
352
|
+
"serde_derive",
|
|
353
|
+
]
|
|
354
|
+
|
|
355
|
+
[[package]]
|
|
356
|
+
name = "serde_core"
|
|
357
|
+
version = "1.0.229"
|
|
358
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
359
|
+
checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
|
|
360
|
+
dependencies = [
|
|
361
|
+
"serde_derive",
|
|
362
|
+
]
|
|
363
|
+
|
|
364
|
+
[[package]]
|
|
365
|
+
name = "serde_derive"
|
|
366
|
+
version = "1.0.229"
|
|
367
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
368
|
+
checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
|
|
369
|
+
dependencies = [
|
|
370
|
+
"proc-macro2",
|
|
371
|
+
"quote",
|
|
372
|
+
"syn 3.0.4",
|
|
373
|
+
]
|
|
374
|
+
|
|
375
|
+
[[package]]
|
|
376
|
+
name = "serde_json"
|
|
377
|
+
version = "1.0.151"
|
|
378
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
379
|
+
checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14"
|
|
380
|
+
dependencies = [
|
|
381
|
+
"itoa",
|
|
382
|
+
"memchr",
|
|
383
|
+
"serde",
|
|
384
|
+
"serde_core",
|
|
385
|
+
"zmij",
|
|
386
|
+
]
|
|
387
|
+
|
|
388
|
+
[[package]]
|
|
389
|
+
name = "syn"
|
|
390
|
+
version = "2.0.119"
|
|
391
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
392
|
+
checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
|
|
393
|
+
dependencies = [
|
|
394
|
+
"proc-macro2",
|
|
395
|
+
"quote",
|
|
396
|
+
"unicode-ident",
|
|
397
|
+
]
|
|
398
|
+
|
|
399
|
+
[[package]]
|
|
400
|
+
name = "syn"
|
|
401
|
+
version = "3.0.4"
|
|
402
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
403
|
+
checksum = "e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f"
|
|
404
|
+
dependencies = [
|
|
405
|
+
"proc-macro2",
|
|
406
|
+
"quote",
|
|
407
|
+
"unicode-ident",
|
|
408
|
+
]
|
|
409
|
+
|
|
410
|
+
[[package]]
|
|
411
|
+
name = "target-lexicon"
|
|
412
|
+
version = "0.13.5"
|
|
413
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
414
|
+
checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
|
|
415
|
+
|
|
416
|
+
[[package]]
|
|
417
|
+
name = "unicode-ident"
|
|
418
|
+
version = "1.0.24"
|
|
419
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
420
|
+
checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
|
|
421
|
+
|
|
422
|
+
[[package]]
|
|
423
|
+
name = "wasi"
|
|
424
|
+
version = "0.11.1+wasi-snapshot-preview1"
|
|
425
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
426
|
+
checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
|
|
427
|
+
|
|
428
|
+
[[package]]
|
|
429
|
+
name = "zerocopy"
|
|
430
|
+
version = "0.8.56"
|
|
431
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
432
|
+
checksum = "556764e583adb45a9f8d413c2a147fa7e8d821e48e12b14fd560b607998b75eb"
|
|
433
|
+
dependencies = [
|
|
434
|
+
"zerocopy-derive",
|
|
435
|
+
]
|
|
436
|
+
|
|
437
|
+
[[package]]
|
|
438
|
+
name = "zerocopy-derive"
|
|
439
|
+
version = "0.8.56"
|
|
440
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
441
|
+
checksum = "f2ab42fc20575779bd240faa45f94a74256f755c0fa9e89f0ede20d91d0cdfc1"
|
|
442
|
+
dependencies = [
|
|
443
|
+
"proc-macro2",
|
|
444
|
+
"quote",
|
|
445
|
+
"syn 2.0.119",
|
|
446
|
+
]
|
|
447
|
+
|
|
448
|
+
[[package]]
|
|
449
|
+
name = "zmij"
|
|
450
|
+
version = "1.0.23"
|
|
451
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
452
|
+
checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
[workspace]
|
|
2
|
+
members = ["crates/peritheos-core", "crates/peritheos-fit", "crates/peritheos-python"]
|
|
3
|
+
resolver = "2"
|
|
4
|
+
|
|
5
|
+
[workspace.package]
|
|
6
|
+
version = "0.6.0"
|
|
7
|
+
edition = "2021"
|
|
8
|
+
rust-version = "1.83"
|
|
9
|
+
authors = ["Clemens Prescher <clemens.prescher@gmail.com>"]
|
|
10
|
+
license = "MIT"
|
|
11
|
+
repository = "https://github.com/CPrescher/peritheos"
|
|
12
|
+
keywords = ["equation-of-state", "high-pressure", "thermodynamics"]
|
|
13
|
+
categories = ["science"]
|
|
14
|
+
|
|
15
|
+
[workspace.lints.rust]
|
|
16
|
+
unsafe_code = "forbid"
|
|
17
|
+
|
|
18
|
+
[workspace.lints.clippy]
|
|
19
|
+
all = "warn"
|
|
20
|
+
pedantic = "warn"
|
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: peritheos
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary: A library for thermodynamic equations of state calculations
|
|
5
|
-
Author-email: Clemens Prescher <clemens.prescher@gmail.com>
|
|
6
|
-
License-Expression: MIT
|
|
7
|
-
Project-URL: Homepage, https://github.com/cprescher/peritheos
|
|
8
|
-
Project-URL: Documentation, https://peritheos.readthedocs.io/
|
|
9
|
-
Project-URL: Source, https://github.com/cprescher/peritheos
|
|
10
|
-
Project-URL: Bug Tracker, https://github.com/cprescher/peritheos/issues
|
|
11
|
-
Project-URL: Changelog, https://github.com/cprescher/peritheos/blob/main/CHANGELOG.md
|
|
12
|
-
Keywords: equation-of-state,high-pressure,thermodynamics
|
|
3
|
+
Version: 0.6.0
|
|
13
4
|
Classifier: Development Status :: 4 - Beta
|
|
14
5
|
Classifier: Intended Audience :: Science/Research
|
|
15
6
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -19,19 +10,30 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
19
10
|
Classifier: Programming Language :: Python :: 3.12
|
|
20
11
|
Classifier: Programming Language :: Python :: 3.13
|
|
21
12
|
Classifier: Programming Language :: Python :: 3.14
|
|
22
|
-
Classifier: Operating System :: OS Independent
|
|
23
13
|
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
24
|
-
Requires-Python: >=3.9
|
|
25
|
-
Description-Content-Type: text/markdown
|
|
26
|
-
License-File: LICENSE
|
|
27
14
|
Requires-Dist: numpy>=1.21.0
|
|
28
15
|
Requires-Dist: scipy>=1.9.3
|
|
29
|
-
|
|
16
|
+
License-File: LICENSE
|
|
17
|
+
Summary: A library for thermodynamic equations of state calculations
|
|
18
|
+
Keywords: equation-of-state,high-pressure,thermodynamics
|
|
19
|
+
Author-email: Clemens Prescher <clemens.prescher@gmail.com>
|
|
20
|
+
License-Expression: MIT
|
|
21
|
+
Requires-Python: >=3.9
|
|
22
|
+
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
23
|
+
Project-URL: Bug Tracker, https://github.com/cprescher/peritheos/issues
|
|
24
|
+
Project-URL: Changelog, https://github.com/cprescher/peritheos/blob/main/CHANGELOG.md
|
|
25
|
+
Project-URL: Documentation, https://peritheos.readthedocs.io/
|
|
26
|
+
Project-URL: Homepage, https://github.com/cprescher/peritheos
|
|
27
|
+
Project-URL: Source, https://github.com/cprescher/peritheos
|
|
30
28
|
|
|
31
29
|
# Peritheos
|
|
32
30
|
|
|
33
31
|
A Python library for thermodynamic equations of state calculations for solid materials.
|
|
34
32
|
|
|
33
|
+
Built-in EOS evaluation, inversion, bounded robust fitting, and uncertainty
|
|
34
|
+
statistics are implemented in Rust and exposed through the unchanged Python API.
|
|
35
|
+
NumPy broadcasting and user-defined `EosBase` subclasses remain supported.
|
|
36
|
+
|
|
35
37
|
Full model, fitting, units, and development documentation is available at
|
|
36
38
|
[peritheos.readthedocs.io](https://peritheos.readthedocs.io/).
|
|
37
39
|
Release history is recorded in the [changelog](CHANGELOG.md).
|
|
@@ -48,14 +50,21 @@ Release history is recorded in the [changelog](CHANGELOG.md).
|
|
|
48
50
|
- Thermal equations of state (EOS) implementations
|
|
49
51
|
- Mie-Gruneisen-Debye
|
|
50
52
|
- Mie-Gruneisen-Einstein
|
|
53
|
+
- Linear thermal pressure
|
|
51
54
|
- Holland-Powell thermal modified Tait
|
|
52
|
-
-
|
|
55
|
+
- Multi-oscillator Gruneisen thermal pressure
|
|
53
56
|
- P-V and P-V-T parameter fitting with covariance and diagnostics
|
|
54
57
|
- Joint reference-isotherm and thermal fitting with cross-covariance
|
|
55
58
|
- Correlated observation errors and robust least-squares losses
|
|
56
59
|
- Reproducible fit summaries and versioned JSON export
|
|
57
60
|
- EOS prediction uncertainty from fitted covariance or published parameter errors
|
|
58
61
|
- Thermoelastic derivatives, heat capacities, and vibrational potentials
|
|
62
|
+
- Versioned material and EOS-record catalog with explicit literature provenance,
|
|
63
|
+
validity envelopes, inversion, and measurement/parameter uncertainty
|
|
64
|
+
- A Peritheos-owned `.eosmat` schema and 115-material/146-record EOS library with optional
|
|
65
|
+
diffraction structure, stable identifiers, and Dioptas 0.10 storage-read
|
|
66
|
+
compatibility
|
|
67
|
+
- Native wheels for supported CPython releases on Linux, macOS, and Windows
|
|
59
68
|
|
|
60
69
|
## Unit conventions
|
|
61
70
|
|
|
@@ -63,8 +72,10 @@ Release history is recorded in the [changelog](CHANGELOG.md).
|
|
|
63
72
|
- Temperatures are in K.
|
|
64
73
|
- Birch-Murnaghan, Murnaghan, modified Tait, and Vinet accept any consistent
|
|
65
74
|
volume unit.
|
|
66
|
-
- Holzapfel and
|
|
75
|
+
- Holzapfel and energy-based thermal EOS implementations require molar volume in
|
|
67
76
|
J bar^-1 mol^-1, which is equivalent to cm^3/mol divided by 10.
|
|
77
|
+
- The volume-independent linear thermal-pressure correction uses the same
|
|
78
|
+
volume convention as its reference isotherm.
|
|
68
79
|
|
|
69
80
|
## Installation
|
|
70
81
|
|
|
@@ -80,6 +91,40 @@ pip install git+https://github.com/CPrescher/peritheos.git
|
|
|
80
91
|
|
|
81
92
|
## Usage
|
|
82
93
|
|
|
94
|
+
### Materials and EOS records
|
|
95
|
+
|
|
96
|
+
Materials group one or more literature-specific EOS records. The calculation
|
|
97
|
+
API uses GPa, K, and conventional unit-cell volumes in angstrom cubed. Each EOS
|
|
98
|
+
record carries its primary reference, parameter provenance, validity range, and
|
|
99
|
+
uncertainty assumptions.
|
|
100
|
+
|
|
101
|
+
```python
|
|
102
|
+
from peritheos import get_material
|
|
103
|
+
|
|
104
|
+
mgo = get_material("mgo_b1")
|
|
105
|
+
tange = mgo.get_eos_record("mgo_b1_tange_2009_vinet")
|
|
106
|
+
pressure = tange.pressure(volume=60.0, temperature=2000.0)
|
|
107
|
+
recovered_volume = tange.volume(pressure, temperature=2000.0)
|
|
108
|
+
|
|
109
|
+
prediction = tange.pressure_with_uncertainty(
|
|
110
|
+
volume=60.0,
|
|
111
|
+
temperature=2000.0,
|
|
112
|
+
volume_sigma=0.02,
|
|
113
|
+
temperature_sigma=20.0,
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
# Sokolova markers use the same cell-volume API although their composed EOS
|
|
117
|
+
# works internally with molar volume.
|
|
118
|
+
gold = get_material("au_fcc").get_eos_record("au_fcc_sokolova_2013")
|
|
119
|
+
hot_pressure = gold.pressure(volume=55.0, temperature=2000.0)
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
See [Pressure standards](docs/pressure-standards.md) for EOS records commonly
|
|
123
|
+
used in that application, and [Dioptas and `.eosmat`](docs/dioptas-integration.md)
|
|
124
|
+
for the shared material library. The [`.eosmat` schema reference](docs/eosmat-schema.md)
|
|
125
|
+
defines its fields, equation discriminators, defaults, units, and compatibility
|
|
126
|
+
rules.
|
|
127
|
+
|
|
83
128
|
### Room-temperature equations of state
|
|
84
129
|
|
|
85
130
|
Third-order Birch-Murnaghan equation of state:
|
|
@@ -144,11 +189,11 @@ The two-volume method uses the empirical `f_dac * thermal_pressure` confinement
|
|
|
144
189
|
increment and requires `0 <= f_dac < 1`; report and sensitivity-test the assumed
|
|
145
190
|
fraction.
|
|
146
191
|
|
|
147
|
-
|
|
192
|
+
Multi-oscillator thermal EOS with a freely chosen reference isotherm
|
|
148
193
|
|
|
149
194
|
```python
|
|
150
195
|
from peritheos.eos.rt.holzapfel import Holzapfel
|
|
151
|
-
from peritheos.eos.thermal
|
|
196
|
+
from peritheos.eos.thermal import MultiOscillatorGruneisenThermalEOS
|
|
152
197
|
|
|
153
198
|
# Diamond parameters from Sokolova et al. 2016.
|
|
154
199
|
# The thermal model requires molar volume in J bar^-1 (= [cm^3/mol] / 10),
|
|
@@ -156,10 +201,10 @@ from peritheos.eos.thermal.sokolova2016 import Sokolova2016
|
|
|
156
201
|
V0 = 0.3414
|
|
157
202
|
K0 = 441.5
|
|
158
203
|
K0_prime = 3.9 # pressure derivative of bulk modulus at reference volume
|
|
159
|
-
QE1o =
|
|
160
|
-
mE1 =
|
|
161
|
-
QE2o =
|
|
162
|
-
mE2 =
|
|
204
|
+
QE1o = 1561 # first Einstein characteristic temperature
|
|
205
|
+
mE1 = 2.436 # first Einstein number
|
|
206
|
+
QE2o = 684 # second Einstein characteristic temperature
|
|
207
|
+
mE2 = 0.564 # second Einstein number
|
|
163
208
|
delta = -0.506 # additive normalizing constant for the Gruneisen parameter
|
|
164
209
|
t = 1.085 # generalized Gruneisen parameter
|
|
165
210
|
a_0 = 0 # intrinsic anharmonicity parameter
|
|
@@ -174,8 +219,8 @@ Tr = 298.15 # in K - Reference temperature
|
|
|
174
219
|
# Initialize the Holzapfel EOS
|
|
175
220
|
holzapfel = Holzapfel(V0=V0, K0=K0, K0_prime=K0_prime, n=n, Z=z)
|
|
176
221
|
|
|
177
|
-
#
|
|
178
|
-
|
|
222
|
+
# Compose the thermal correction with the source's Holzapfel isotherm.
|
|
223
|
+
eos = MultiOscillatorGruneisenThermalEOS(
|
|
179
224
|
rt_eos=holzapfel,
|
|
180
225
|
Tr=Tr,
|
|
181
226
|
QE1o=QE1o,
|
|
@@ -188,16 +233,17 @@ sokolova = Sokolova2016(
|
|
|
188
233
|
m=m,
|
|
189
234
|
g=g,
|
|
190
235
|
e_0=e_0,
|
|
236
|
+
n=n,
|
|
191
237
|
)
|
|
192
238
|
|
|
193
239
|
# Calculate the thermal pressure at a given volume and temperature
|
|
194
240
|
V = V0 * 0.8
|
|
195
241
|
T = 3000 # in K
|
|
196
|
-
thermal_pressure =
|
|
242
|
+
thermal_pressure = eos.thermal_pressure(V, T)
|
|
197
243
|
rt_pressure = holzapfel.pressure(V)
|
|
198
|
-
pressure =
|
|
199
|
-
recovered_volume =
|
|
200
|
-
recovered_temperature =
|
|
244
|
+
pressure = eos.pressure(V, T)
|
|
245
|
+
recovered_volume = eos.volume(pressure, T)
|
|
246
|
+
recovered_temperature = eos.temperature(pressure, V)
|
|
201
247
|
|
|
202
248
|
print(f"Thermal pressure: {thermal_pressure} GPa")
|
|
203
249
|
print(f"RT pressure: {rt_pressure} GPa")
|
|
@@ -206,9 +252,15 @@ print(f"Recovered volume: {recovered_volume} J bar^-1")
|
|
|
206
252
|
print(f"Recovered temperature: {recovered_temperature} K")
|
|
207
253
|
```
|
|
208
254
|
|
|
255
|
+
The equation class is named for its mechanism, not a paper. The validated
|
|
256
|
+
Sokolova et al. parameterizations remain available through author/year catalog
|
|
257
|
+
identifiers such as `diamond_sokolova_2013`; replacing the reference isotherm
|
|
258
|
+
creates a new user-composed model and does not inherit that validation claim.
|
|
259
|
+
|
|
209
260
|
## Citation and support
|
|
210
261
|
|
|
211
262
|
Use the repository's `CITATION.cff` to cite Peritheos and cite the original
|
|
212
263
|
publication for each EOS used. Reproducible bugs and numerical discrepancies
|
|
213
264
|
can be reported through [GitHub Issues](https://github.com/CPrescher/peritheos/issues).
|
|
214
265
|
See [SUPPORT.md](SUPPORT.md) for the information needed to investigate a result.
|
|
266
|
+
|