peritheos 0.4.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.4.0/peritheos.egg-info → peritheos-0.6.0}/PKG-INFO +101 -29
- peritheos-0.4.0/PKG-INFO → peritheos-0.6.0/README.md +86 -43
- 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.4.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.4.0 → peritheos-0.6.0}/docs/api-stability.md +24 -0
- peritheos-0.6.0/docs/api.md +305 -0
- peritheos-0.6.0/docs/dac-thermal-pressure.md +145 -0
- 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.4.0 → peritheos-0.6.0}/docs/fitting.md +108 -8
- peritheos-0.6.0/docs/getting-started.md +109 -0
- peritheos-0.6.0/docs/index.md +77 -0
- peritheos-0.6.0/docs/javascripts/mathjax.js +12 -0
- peritheos-0.6.0/docs/models.md +101 -0
- 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.6.0/docs/requirements.txt +5 -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.4.0 → peritheos-0.6.0}/docs/thermoelastic-properties.md +31 -3
- {peritheos-0.4.0 → peritheos-0.6.0}/docs/uncertainty.md +63 -3
- peritheos-0.6.0/docs/units.md +84 -0
- peritheos-0.6.0/docs/validation.md +334 -0
- peritheos-0.6.0/mkdocs.yml +74 -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.6.0/peritheos/eos/__init__.py +838 -0
- {peritheos-0.4.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.4.0 → peritheos-0.6.0}/peritheos/eos/rt/murnaghan.py +5 -9
- {peritheos-0.4.0 → peritheos-0.6.0}/peritheos/eos/rt/natural_strain.py +11 -31
- {peritheos-0.4.0 → peritheos-0.6.0}/peritheos/eos/rt/tait.py +7 -4
- {peritheos-0.4.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.4.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.4.0 → peritheos-0.6.0}/peritheos/eos/thermal/mie_gruneisen.py +231 -3
- peritheos-0.4.0/peritheos/eos/thermal/sokolova2016.py → peritheos-0.6.0/peritheos/eos/thermal/multi_oscillator.py +154 -78
- peritheos-0.6.0/peritheos/eos/thermal/sokolova2016.py +16 -0
- peritheos-0.6.0/peritheos/eosmat.py +458 -0
- {peritheos-0.4.0 → peritheos-0.6.0}/peritheos/fitting.py +180 -18
- peritheos-0.6.0/peritheos/materials.py +3095 -0
- {peritheos-0.4.0 → peritheos-0.6.0}/peritheos/uncertainty.py +39 -15
- {peritheos-0.4.0 → peritheos-0.6.0}/pyproject.toml +20 -9
- 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.4.0/CHANGELOG.md +0 -108
- peritheos-0.4.0/CITATION.cff +0 -20
- peritheos-0.4.0/CODE_OF_CONDUCT.md +0 -19
- peritheos-0.4.0/CONTRIBUTING.md +0 -46
- peritheos-0.4.0/MANIFEST.in +0 -9
- peritheos-0.4.0/README.md +0 -164
- peritheos-0.4.0/SECURITY.md +0 -25
- peritheos-0.4.0/SUPPORT.md +0 -14
- peritheos-0.4.0/docs/api.md +0 -105
- peritheos-0.4.0/docs/development.md +0 -40
- peritheos-0.4.0/docs/getting-started.md +0 -68
- peritheos-0.4.0/docs/index.md +0 -47
- peritheos-0.4.0/docs/models.md +0 -82
- peritheos-0.4.0/docs/references.md +0 -35
- peritheos-0.4.0/docs/requirements.txt +0 -1
- peritheos-0.4.0/docs/units.md +0 -45
- peritheos-0.4.0/docs/validation.md +0 -60
- peritheos-0.4.0/mkdocs.yml +0 -25
- peritheos-0.4.0/peritheos/__init__.py +0 -16
- peritheos-0.4.0/peritheos/eos/__init__.py +0 -410
- peritheos-0.4.0/peritheos/eos/rt/holzapfel.py +0 -197
- peritheos-0.4.0/peritheos/eos/thermal/__init__.py +0 -15
- peritheos-0.4.0/peritheos.egg-info/SOURCES.txt +0 -65
- peritheos-0.4.0/peritheos.egg-info/dependency_links.txt +0 -1
- peritheos-0.4.0/peritheos.egg-info/requires.txt +0 -2
- peritheos-0.4.0/peritheos.egg-info/top_level.txt +0 -1
- peritheos-0.4.0/setup.cfg +0 -4
- peritheos-0.4.0/tests/test_bm.py +0 -195
- peritheos-0.4.0/tests/test_eos_api.py +0 -102
- peritheos-0.4.0/tests/test_fitting.py +0 -479
- peritheos-0.4.0/tests/test_holzapfel.py +0 -157
- peritheos-0.4.0/tests/test_literature_reference_cases.py +0 -63
- peritheos-0.4.0/tests/test_murnaghan.py +0 -58
- peritheos-0.4.0/tests/test_natural_strain.py +0 -61
- peritheos-0.4.0/tests/test_numerical_stress.py +0 -98
- peritheos-0.4.0/tests/test_package_metadata.py +0 -17
- peritheos-0.4.0/tests/test_tait.py +0 -73
- peritheos-0.4.0/tests/test_thermal_mie_gruneisen.py +0 -145
- peritheos-0.4.0/tests/test_thermal_sokolova.py +0 -372
- peritheos-0.4.0/tests/test_thermoelastic_api.py +0 -134
- peritheos-0.4.0/tests/test_uncertainty.py +0 -546
- peritheos-0.4.0/tests/test_units.py +0 -43
- peritheos-0.4.0/tests/test_vinet.py +0 -97
- {peritheos-0.4.0 → peritheos-0.6.0}/LICENSE +0 -0
- {peritheos-0.4.0 → peritheos-0.6.0}/docs/project-policies.md +0 -0
- {peritheos-0.4.0 → peritheos-0.6.0}/peritheos/constants.py +0 -0
- {peritheos-0.4.0 → peritheos-0.6.0}/peritheos/eos/rt/__init__.py +0 -0
- {peritheos-0.4.0 → peritheos-0.6.0}/peritheos/units.py +0 -0
- {peritheos-0.4.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
|
-
Requires-Dist: scipy>=1.
|
|
29
|
-
|
|
15
|
+
Requires-Dist: scipy>=1.9.3
|
|
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:
|
|
@@ -124,13 +169,31 @@ eos = MieGruneisenDebye(
|
|
|
124
169
|
|
|
125
170
|
pressure = eos.pressure(V=0.9, T=2000.0)
|
|
126
171
|
volume = eos.volume(P=pressure, T=2000.0)
|
|
172
|
+
temperature = eos.temperature(P=pressure, V=0.9)
|
|
173
|
+
|
|
174
|
+
# Infer temperature from volumes measured before and during DAC heating.
|
|
175
|
+
ambient_volume = 0.80000
|
|
176
|
+
heated_volume = 0.80001
|
|
177
|
+
temperature_with_dac = eos.temperature_from_volumes(
|
|
178
|
+
V_ambient=ambient_volume,
|
|
179
|
+
V_heated=heated_volume,
|
|
180
|
+
f_dac=0.25,
|
|
181
|
+
)
|
|
182
|
+
ambient_pressure = eos.rt_eos.pressure(ambient_volume)
|
|
183
|
+
heated_pressure = ambient_pressure + 0.25 * eos.thermal_pressure(
|
|
184
|
+
heated_volume, temperature_with_dac
|
|
185
|
+
)
|
|
127
186
|
```
|
|
128
187
|
|
|
129
|
-
|
|
188
|
+
The two-volume method uses the empirical `f_dac * thermal_pressure` confinement
|
|
189
|
+
increment and requires `0 <= f_dac < 1`; report and sensitivity-test the assumed
|
|
190
|
+
fraction.
|
|
191
|
+
|
|
192
|
+
Multi-oscillator thermal EOS with a freely chosen reference isotherm
|
|
130
193
|
|
|
131
194
|
```python
|
|
132
195
|
from peritheos.eos.rt.holzapfel import Holzapfel
|
|
133
|
-
from peritheos.eos.thermal
|
|
196
|
+
from peritheos.eos.thermal import MultiOscillatorGruneisenThermalEOS
|
|
134
197
|
|
|
135
198
|
# Diamond parameters from Sokolova et al. 2016.
|
|
136
199
|
# The thermal model requires molar volume in J bar^-1 (= [cm^3/mol] / 10),
|
|
@@ -138,10 +201,10 @@ from peritheos.eos.thermal.sokolova2016 import Sokolova2016
|
|
|
138
201
|
V0 = 0.3414
|
|
139
202
|
K0 = 441.5
|
|
140
203
|
K0_prime = 3.9 # pressure derivative of bulk modulus at reference volume
|
|
141
|
-
QE1o =
|
|
142
|
-
mE1 =
|
|
143
|
-
QE2o =
|
|
144
|
-
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
|
|
145
208
|
delta = -0.506 # additive normalizing constant for the Gruneisen parameter
|
|
146
209
|
t = 1.085 # generalized Gruneisen parameter
|
|
147
210
|
a_0 = 0 # intrinsic anharmonicity parameter
|
|
@@ -156,8 +219,8 @@ Tr = 298.15 # in K - Reference temperature
|
|
|
156
219
|
# Initialize the Holzapfel EOS
|
|
157
220
|
holzapfel = Holzapfel(V0=V0, K0=K0, K0_prime=K0_prime, n=n, Z=z)
|
|
158
221
|
|
|
159
|
-
#
|
|
160
|
-
|
|
222
|
+
# Compose the thermal correction with the source's Holzapfel isotherm.
|
|
223
|
+
eos = MultiOscillatorGruneisenThermalEOS(
|
|
161
224
|
rt_eos=holzapfel,
|
|
162
225
|
Tr=Tr,
|
|
163
226
|
QE1o=QE1o,
|
|
@@ -170,25 +233,34 @@ sokolova = Sokolova2016(
|
|
|
170
233
|
m=m,
|
|
171
234
|
g=g,
|
|
172
235
|
e_0=e_0,
|
|
236
|
+
n=n,
|
|
173
237
|
)
|
|
174
238
|
|
|
175
239
|
# Calculate the thermal pressure at a given volume and temperature
|
|
176
240
|
V = V0 * 0.8
|
|
177
241
|
T = 3000 # in K
|
|
178
|
-
thermal_pressure =
|
|
242
|
+
thermal_pressure = eos.thermal_pressure(V, T)
|
|
179
243
|
rt_pressure = holzapfel.pressure(V)
|
|
180
|
-
pressure =
|
|
181
|
-
recovered_volume =
|
|
244
|
+
pressure = eos.pressure(V, T)
|
|
245
|
+
recovered_volume = eos.volume(pressure, T)
|
|
246
|
+
recovered_temperature = eos.temperature(pressure, V)
|
|
182
247
|
|
|
183
248
|
print(f"Thermal pressure: {thermal_pressure} GPa")
|
|
184
249
|
print(f"RT pressure: {rt_pressure} GPa")
|
|
185
250
|
print(f"Total pressure: {pressure} GPa")
|
|
186
251
|
print(f"Recovered volume: {recovered_volume} J bar^-1")
|
|
252
|
+
print(f"Recovered temperature: {recovered_temperature} K")
|
|
187
253
|
```
|
|
188
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
|
+
|
|
189
260
|
## Citation and support
|
|
190
261
|
|
|
191
262
|
Use the repository's `CITATION.cff` to cite Peritheos and cite the original
|
|
192
263
|
publication for each EOS used. Reproducible bugs and numerical discrepancies
|
|
193
264
|
can be reported through [GitHub Issues](https://github.com/CPrescher/peritheos/issues).
|
|
194
265
|
See [SUPPORT.md](SUPPORT.md) for the information needed to investigate a result.
|
|
266
|
+
|