burnman-cpp 0.6.0__tar.gz → 0.11.1__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.
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/.github/workflows/benchmarks.yml +2 -2
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/.github/workflows/tests.yml +9 -8
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/.gitignore +1 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/CMakeLists.txt +36 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/Makefile +32 -8
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/PKG-INFO +121 -18
- burnman_cpp-0.11.1/README.md +299 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/README.md +9 -1
- burnman_cpp-0.11.1/benchmarks/dekoker_2013/README.md +43 -0
- burnman_cpp-0.11.1/benchmarks/dekoker_2013/benchmark.py +235 -0
- burnman_cpp-0.11.1/benchmarks/dekoker_2013/extract_reference.py +350 -0
- burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/Mg2SiO4.png +0 -0
- burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/Mg3Si2O7.png +0 -0
- burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/Mg5SiO7.png +0 -0
- burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/MgO.png +0 -0
- burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/MgSi2O5.png +0 -0
- burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/MgSi3O7.png +0 -0
- burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/MgSi5O11.png +0 -0
- burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/MgSiO3.png +0 -0
- burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/SiO2.png +0 -0
- burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/endmembers.json +931 -0
- burnman_cpp-0.11.1/benchmarks/pitzer_sterner_1995/README.md +50 -0
- burnman_cpp-0.11.1/benchmarks/pitzer_sterner_1995/benchmark.py +178 -0
- burnman_cpp-0.11.1/benchmarks/pitzer_sterner_1995/reference/figure1.json +294 -0
- burnman_cpp-0.11.1/benchmarks/pitzer_sterner_1995/reference/figure1.png +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024.py +35 -29
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure13/benchmark.py +18 -12
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure14/benchmark.py +6 -8
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure14/geotherm.py +3 -8
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure14/overlay.py +2 -6
- burnman_cpp-0.11.1/cmake/EmbedCovariance.cmake +42 -0
- burnman_cpp-0.11.1/examples/data/input_fitting/Bertka_Fei_1997_mars_mantle.dat +89 -0
- burnman_cpp-0.11.1/examples/data/input_fitting/Hazen_1976_TV_periclase.dat +17 -0
- burnman_cpp-0.11.1/examples/data/input_fitting/PVT_MgO_Dewaele_et_al_2000.dat +66 -0
- burnman_cpp-0.11.1/examples/data/input_fitting/SOURCES.md +24 -0
- burnman_cpp-0.11.1/examples/data/input_fitting/Victor_Douglas_1963_deltaH_MgO.dat +25 -0
- burnman_cpp-0.11.1/examples/example_assemblage_relaxation.py +237 -0
- burnman_cpp-0.11.1/examples/example_build_planet.py +138 -0
- burnman_cpp-0.11.1/examples/example_dekoker_2013.py +252 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_equilibrate.py +25 -17
- burnman_cpp-0.11.1/examples/example_equilibrated_composite.py +86 -0
- burnman_cpp-0.11.1/examples/example_fit_composition.py +158 -0
- burnman_cpp-0.11.1/examples/example_fit_eos.py +343 -0
- burnman_cpp-0.11.1/examples/example_fit_eos_with_independent_volumes.py +248 -0
- burnman_cpp-0.11.1/examples/example_fit_solution.py +289 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_forsterite_thermodynamic_sections.py +5 -5
- burnman_cpp-0.11.1/examples/example_geotherm.py +114 -0
- burnman_cpp-0.11.1/examples/example_hugoniot.py +139 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_iron_hematite_tx.py +6 -6
- burnman_cpp-0.11.1/examples/example_layer.py +119 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_metasediment_contours.py +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_modular_mgd.py +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_modular_mgd_with_anharmonicity.py +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_olivine_px.py +5 -5
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_olivine_tx.py +1 -1
- burnman_cpp-0.11.1/examples/example_optimal_thermobarometry.py +550 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_phase_diagram_grid.py +6 -6
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_pyrolite_modebox.py +3 -3
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_pyrolite_phase_diagram.py +29 -29
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_pyrolite_sp_phase_diagram.py +1 -1
- burnman_cpp-0.11.1/examples/example_seismic.py +56 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_single_point_equilibrium.py +4 -4
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/assemblage.hpp +26 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/combined_mineral.hpp +3 -0
- burnman_cpp-0.11.1/include/burnman/core/equilibrated_composite.hpp +112 -0
- burnman_cpp-0.11.1/include/burnman/core/geotherm.hpp +143 -0
- burnman_cpp-0.11.1/include/burnman/core/layer.hpp +169 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/material.hpp +13 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/mineral.hpp +15 -0
- burnman_cpp-0.11.1/include/burnman/core/planet.hpp +112 -0
- burnman_cpp-0.11.1/include/burnman/core/relaxed_composite.hpp +49 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/relaxed_solution.hpp +1 -0
- burnman_cpp-0.11.1/include/burnman/core/seismic.hpp +132 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/solution.hpp +26 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/solution_models/asymmetric_regular_solution.hpp +5 -0
- burnman_cpp-0.11.1/include/burnman/eos/aa.hpp +56 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/birch_murnaghan.hpp +28 -1
- burnman_cpp-0.11.1/include/burnman/eos/brosh_calphad.hpp +56 -0
- burnman_cpp-0.11.1/include/burnman/eos/components/anharmonic_debye.hpp +33 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/components/debye.hpp +8 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/components/einstein.hpp +8 -0
- burnman_cpp-0.11.1/include/burnman/eos/cork.hpp +58 -0
- burnman_cpp-0.11.1/include/burnman/eos/dks_liquid.hpp +74 -0
- burnman_cpp-0.11.1/include/burnman/eos/dks_solid.hpp +74 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/hp.hpp +1 -1
- burnman_cpp-0.11.1/include/burnman/eos/hp98.hpp +43 -0
- burnman_cpp-0.11.1/include/burnman/eos/macaw.hpp +59 -0
- burnman_cpp-0.11.1/include/burnman/eos/morse_potential.hpp +66 -0
- burnman_cpp-0.11.1/include/burnman/eos/murnaghan.hpp +87 -0
- burnman_cpp-0.11.1/include/burnman/eos/pitzer_sterner.hpp +76 -0
- burnman_cpp-0.11.1/include/burnman/eos/reciprocal_kprime.hpp +58 -0
- burnman_cpp-0.11.1/include/burnman/minerals/SE_2015.hpp +13 -0
- burnman_cpp-0.11.1/include/burnman/minerals/covariance.hpp +29 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/minerals/datasets.hpp +501 -23
- burnman_cpp-0.11.1/include/burnman/minerals/other.hpp +10 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/minerals/phase_aliases.hpp +2 -2
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/minerals/water.hpp +5 -0
- burnman_cpp-0.11.1/include/burnman/optim/composition_fitting.hpp +87 -0
- burnman_cpp-0.11.1/include/burnman/optim/eos_fitting.hpp +185 -0
- burnman_cpp-0.11.1/include/burnman/optim/linear_fitting.hpp +44 -0
- burnman_cpp-0.11.1/include/burnman/optim/nonlinear_fitting.hpp +130 -0
- burnman_cpp-0.11.1/include/burnman/tools/chemistry.hpp +69 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equality_constraint_variants.hpp +19 -0
- burnman_cpp-0.11.1/include/burnman/tools/partitioning.hpp +27 -0
- burnman_cpp-0.11.1/include/burnman/tools/seismic.hpp +24 -0
- burnman_cpp-0.11.1/include/burnman/tools/thermobarometry.hpp +95 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/constants.hpp +28 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/types/mineral_params.hpp +34 -2
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/types/simple_types.hpp +13 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/pyproject.toml +19 -5
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/bindings.hpp +29 -0
- burnman_cpp-0.11.1/python/bindings/chemistry.cpp +84 -0
- burnman_cpp-0.11.1/python/bindings/composition_fitting.cpp +97 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/eos.cpp +11 -0
- burnman_cpp-0.11.1/python/bindings/eos_fitting.cpp +435 -0
- burnman_cpp-0.11.1/python/bindings/equilibrated_composite.cpp +61 -0
- burnman_cpp-0.11.1/python/bindings/geotherm.cpp +207 -0
- burnman_cpp-0.11.1/python/bindings/layer.cpp +178 -0
- burnman_cpp-0.11.1/python/bindings/linear_fitting.cpp +45 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/materials.cpp +127 -0
- burnman_cpp-0.11.1/python/bindings/minerals.cpp +1970 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/module.cpp +11 -0
- burnman_cpp-0.11.1/python/bindings/nonlinear_fitting.cpp +291 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/params.cpp +42 -0
- burnman_cpp-0.11.1/python/bindings/planet.cpp +96 -0
- burnman_cpp-0.11.1/python/bindings/radial.hpp +85 -0
- burnman_cpp-0.11.1/python/bindings/seismic.cpp +207 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/solutions.cpp +27 -0
- burnman_cpp-0.11.1/python/bindings/thermal_components.cpp +155 -0
- burnman_cpp-0.11.1/python/bindings/thermobarometry.cpp +172 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/__init__.py +105 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/adapters.py +34 -10
- burnman_cpp-0.11.1/python/burnman_cpp/classes/__init__.py +14 -0
- burnman_cpp-0.11.1/python/burnman_cpp/classes/equilibratedcomposite.py +267 -0
- burnman_cpp-0.11.1/python/burnman_cpp/classes/geotherm.py +55 -0
- burnman_cpp-0.11.1/python/burnman_cpp/classes/layer.py +18 -0
- burnman_cpp-0.11.1/python/burnman_cpp/classes/planet.py +18 -0
- burnman_cpp-0.11.1/python/burnman_cpp/classes/relaxedcomposite.py +119 -0
- burnman_cpp-0.11.1/python/burnman_cpp/classes/seismic.py +48 -0
- burnman_cpp-0.11.1/python/burnman_cpp/eos/__init__.py +29 -0
- burnman_cpp-0.11.1/python/burnman_cpp/eos/anharmonic_debye.py +58 -0
- burnman_cpp-0.11.1/python/burnman_cpp/eos/bukowinski_electronic.py +14 -0
- burnman_cpp-0.11.1/python/burnman_cpp/eos/debye.py +33 -0
- burnman_cpp-0.11.1/python/burnman_cpp/eos/einstein.py +29 -0
- burnman_cpp-0.11.1/python/burnman_cpp/minerals/Pitzer_Sterner_1994.py +12 -0
- burnman_cpp-0.11.1/python/burnman_cpp/minerals/SE_2015.py +25 -0
- burnman_cpp-0.11.1/python/burnman_cpp/minerals/__init__.py +197 -0
- burnman_cpp-0.11.1/python/burnman_cpp/optimize/__init__.py +18 -0
- burnman_cpp-0.11.1/python/burnman_cpp/optimize/_fitting_plots.py +272 -0
- burnman_cpp-0.11.1/python/burnman_cpp/optimize/composition_fitting.py +26 -0
- burnman_cpp-0.11.1/python/burnman_cpp/optimize/eos_fitting.py +42 -0
- burnman_cpp-0.11.1/python/burnman_cpp/optimize/linear_fitting.py +18 -0
- burnman_cpp-0.11.1/python/burnman_cpp/optimize/nonlinear_fitting.py +92 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/__init__.py +6 -0
- burnman_cpp-0.11.1/python/burnman_cpp/tools/chemistry.py +87 -0
- burnman_cpp-0.11.1/python/burnman_cpp/tools/partitioning.py +18 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/phase_diagram_workflow.py +1 -1
- burnman_cpp-0.11.1/python/burnman_cpp/tools/seismic.py +32 -0
- burnman_cpp-0.11.1/python/burnman_cpp/tools/thermobarometry.py +34 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/basalt_nearby_bivariant_junctions.json +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_contour_field.json +2 -2
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_curve_edit.json +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_curved_mica_field.json +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_endpoints.json +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_ordering_segment.json +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_thin_finite_field.json +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_univariant_segments.json +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_crossed_loops.json +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_duplicate_invariant.json +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_duplicate_junctions.json +4 -4
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_limiting_neighbours.json +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_narrow_solution_replacement.json +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_nearby_univariant_junctions.json +1 -1
- burnman_cpp-0.11.1/python/tests/data/pyrolite_pt_coincident_phase_outs.json +1 -0
- burnman_cpp-0.11.1/python/tests/data/pyrolite_pt_cold_model_limits.json +1 -0
- burnman_cpp-0.11.1/python/tests/data/pyrolite_pt_cold_reaction_duplicates.json +1 -0
- burnman_cpp-0.11.1/python/tests/data/pyrolite_pt_equivalent_reaction_curves.json +1 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_reaction_extents.json +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_cf_copy_junctions.json +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_failed_bracket.json +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_false_cpx_junction.json +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_false_junction.json +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_junction.json +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_missing_ak_boundary.json +1 -1
- burnman_cpp-0.11.1/python/tests/data/pyrolite_sp_reaction_classification.json +1 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_trace_site_junctions.json +1 -1
- burnman_cpp-0.11.1/python/tests/data/pyrolite_sp_trace_site_response.json +1 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_unconnected_junctions.json +1 -1
- burnman_cpp-0.11.1/python/tests/data/pyrolite_zoom_reaction_limits.json +1 -0
- burnman_cpp-0.11.1/python/tests/test_aa.py +157 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_adapters.py +19 -12
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_aspect_table.py +4 -4
- burnman_cpp-0.11.1/python/tests/test_brosh_calphad.py +131 -0
- burnman_cpp-0.11.1/python/tests/test_chemistry.py +440 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_complete_datasets.py +85 -23
- burnman_cpp-0.11.1/python/tests/test_composition_fitting.py +489 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_composition_phase_diagram.py +4 -4
- burnman_cpp-0.11.1/python/tests/test_confidence_prediction_bands.py +254 -0
- burnman_cpp-0.11.1/python/tests/test_cork.py +253 -0
- burnman_cpp-0.11.1/python/tests/test_covariance.py +137 -0
- burnman_cpp-0.11.1/python/tests/test_dekoker_endmembers.py +40 -0
- burnman_cpp-0.11.1/python/tests/test_dekoker_example.py +80 -0
- burnman_cpp-0.11.1/python/tests/test_dks.py +160 -0
- burnman_cpp-0.11.1/python/tests/test_eos_fitting.py +442 -0
- burnman_cpp-0.11.1/python/tests/test_eos_fitting_volumes.py +215 -0
- burnman_cpp-0.11.1/python/tests/test_equilibrated_composite.py +344 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_equilibrium_path.py +4 -4
- burnman_cpp-0.11.1/python/tests/test_figure13_benchmark.py +95 -0
- burnman_cpp-0.11.1/python/tests/test_figure14_benchmark.py +76 -0
- burnman_cpp-0.11.1/python/tests/test_fitting_diagnostics.py +243 -0
- burnman_cpp-0.11.1/python/tests/test_geotherm.py +264 -0
- burnman_cpp-0.11.1/python/tests/test_hp98.py +113 -0
- burnman_cpp-0.11.1/python/tests/test_hp_datasets.py +136 -0
- burnman_cpp-0.11.1/python/tests/test_layer_planet.py +429 -0
- burnman_cpp-0.11.1/python/tests/test_linear_fitting.py +315 -0
- burnman_cpp-0.11.1/python/tests/test_macaw.py +102 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_melt.py +2 -2
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_mineral_catalogue_reference.py +7 -7
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_model_sets.py +13 -11
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_modular_mgd.py +10 -5
- burnman_cpp-0.11.1/python/tests/test_morse_potential.py +100 -0
- burnman_cpp-0.11.1/python/tests/test_murnaghan.py +116 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_native_failure_reference.py +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_native_minerals.py +33 -27
- burnman_cpp-0.11.1/python/tests/test_nonlinear_fitting.py +397 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram.py +5 -5
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_perimeter_labels.py +4 -4
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_plot.py +4 -4
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_workflow.py +10 -10
- burnman_cpp-0.11.1/python/tests/test_pitzer_sterner.py +128 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_polytope.py +17 -13
- burnman_cpp-0.11.1/python/tests/test_reciprocal_kprime.py +108 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_reference_tools.py +48 -0
- burnman_cpp-0.11.1/python/tests/test_relaxed_composite.py +224 -0
- burnman_cpp-0.11.1/python/tests/test_seismic.py +244 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_slb2024.py +14 -6
- burnman_cpp-0.11.1/python/tests/test_slb_datasets.py +188 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_slb_reference.py +13 -13
- burnman_cpp-0.11.1/python/tests/test_solution_fitting.py +215 -0
- burnman_cpp-0.11.1/python/tests/test_thermal_components.py +248 -0
- burnman_cpp-0.11.1/python/tests/test_thermobarometry.py +473 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_thermodynamic_phase_diagram.py +11 -1
- burnman_cpp-0.11.1/python/tests/test_wheel_dependencies.py +169 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/assemblage.cpp +106 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/combined_mineral.cpp +15 -0
- burnman_cpp-0.11.1/src/core/equilibrated_composite.cpp +414 -0
- burnman_cpp-0.11.1/src/core/geotherm.cpp +287 -0
- burnman_cpp-0.11.1/src/core/layer.cpp +427 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/material.cpp +89 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/mineral.cpp +86 -0
- burnman_cpp-0.11.1/src/core/planet.cpp +308 -0
- burnman_cpp-0.11.1/src/core/radial_profile.hpp +114 -0
- burnman_cpp-0.11.1/src/core/relaxed_composite.cpp +196 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/relaxed_solution.cpp +6 -0
- burnman_cpp-0.11.1/src/core/seismic.cpp +377 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/solution.cpp +53 -0
- burnman_cpp-0.11.1/src/data/covariance.cpp +125 -0
- burnman_cpp-0.11.1/src/data/geotherm_data.hpp +452 -0
- burnman_cpp-0.11.1/src/data/input_covariance/HGP_2018_ds633_cov.h5 +0 -0
- burnman_cpp-0.11.1/src/data/input_covariance/HP_2011_ds62_cov.h5 +0 -0
- burnman_cpp-0.11.1/src/data/input_covariance/HPx_ds636_cov.h5 +0 -0
- burnman_cpp-0.11.1/src/data/input_geotherm/Anzellini_2013_PT.txt +34 -0
- burnman_cpp-0.11.1/src/data/input_geotherm/Katsura_2022.txt +51 -0
- burnman_cpp-0.11.1/src/data/input_geotherm/Plesa_2022_Mars_V_6cm3.txt +44 -0
- burnman_cpp-0.11.1/src/data/input_geotherm/SOURCES.md +25 -0
- burnman_cpp-0.11.1/src/data/input_geotherm/Stacey_1977_continents.txt +81 -0
- burnman_cpp-0.11.1/src/data/input_geotherm/Stacey_1977_oceans.txt +81 -0
- burnman_cpp-0.11.1/src/data/input_geotherm/anderson_82.txt +59 -0
- burnman_cpp-0.11.1/src/data/input_geotherm/brown_81.txt +69 -0
- burnman_cpp-0.11.1/src/data/input_seismic/SOURCES.md +20 -0
- burnman_cpp-0.11.1/src/data/input_seismic/STW105.txt +752 -0
- burnman_cpp-0.11.1/src/data/input_seismic/ak135.txt +147 -0
- burnman_cpp-0.11.1/src/data/input_seismic/iasp91.txt +154 -0
- burnman_cpp-0.11.1/src/data/input_seismic/prem.txt +96 -0
- burnman_cpp-0.11.1/src/data/input_seismic/pwave_fast.txt +146 -0
- burnman_cpp-0.11.1/src/data/input_seismic/pwave_slow.txt +146 -0
- burnman_cpp-0.11.1/src/data/input_seismic/swave_fast.txt +145 -0
- burnman_cpp-0.11.1/src/data/input_seismic/swave_slow.txt +145 -0
- burnman_cpp-0.11.1/src/data/read_table.cpp +61 -0
- burnman_cpp-0.11.1/src/data/read_table.hpp +24 -0
- burnman_cpp-0.11.1/src/data/seismic_data.hpp +1766 -0
- burnman_cpp-0.11.1/src/eos/aa.cpp +337 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/birch_murnaghan.cpp +93 -0
- burnman_cpp-0.11.1/src/eos/brosh_calphad.cpp +411 -0
- burnman_cpp-0.11.1/src/eos/components/anharmonic_debye.cpp +82 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/components/debye.cpp +29 -11
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/components/einstein.cpp +41 -20
- burnman_cpp-0.11.1/src/eos/cork.cpp +229 -0
- burnman_cpp-0.11.1/src/eos/dks_common.hpp +60 -0
- burnman_cpp-0.11.1/src/eos/dks_liquid.cpp +255 -0
- burnman_cpp-0.11.1/src/eos/dks_solid.cpp +196 -0
- burnman_cpp-0.11.1/src/eos/hp98.cpp +161 -0
- burnman_cpp-0.11.1/src/eos/macaw.cpp +207 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/make_eos.cpp +35 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/mie_grueneisen_debye.cpp +13 -12
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/modular_mie_grueneisen_debye.cpp +14 -30
- burnman_cpp-0.11.1/src/eos/morse_potential.cpp +167 -0
- burnman_cpp-0.11.1/src/eos/murnaghan.cpp +195 -0
- burnman_cpp-0.11.1/src/eos/pitzer_sterner.cpp +319 -0
- burnman_cpp-0.11.1/src/eos/reciprocal_kprime.cpp +254 -0
- burnman_cpp-0.11.1/src/minerals/SE_2015.cpp +132 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/minerals/datasets.cpp +12725 -5305
- burnman_cpp-0.11.1/src/minerals/model_sets.cpp +147 -0
- burnman_cpp-0.11.1/src/minerals/other.cpp +39 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/minerals/phase_aliases.cpp +2 -2
- burnman_cpp-0.11.1/src/minerals/water.cpp +136 -0
- burnman_cpp-0.11.1/src/optim/composition_fitting.cpp +269 -0
- burnman_cpp-0.11.1/src/optim/eos_fitting.cpp +653 -0
- burnman_cpp-0.11.1/src/optim/linear_fitting.cpp +373 -0
- burnman_cpp-0.11.1/src/optim/nonlinear_fitting.cpp +490 -0
- burnman_cpp-0.11.1/src/tools/chemistry.cpp +429 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/equilibration/equality_constraint_variants.cpp +61 -0
- burnman_cpp-0.11.1/src/tools/partitioning.cpp +71 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/properties.cpp +18 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/stability.cpp +28 -10
- burnman_cpp-0.11.1/src/tools/seismic.cpp +27 -0
- burnman_cpp-0.11.1/src/tools/thermobarometry.cpp +625 -0
- burnman_cpp-0.11.1/tests/core/test_geotherm.cpp +185 -0
- burnman_cpp-0.11.1/tests/core/test_layer_planet.cpp +169 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/core/test_mineral.cpp +1 -1
- burnman_cpp-0.11.1/tests/core/test_mineral_volume_state.cpp +82 -0
- burnman_cpp-0.11.1/tests/core/test_relaxed_composite.cpp +115 -0
- burnman_cpp-0.11.1/tests/core/test_seismic.cpp +140 -0
- burnman_cpp-0.11.1/tests/eos/test_aa.cpp +155 -0
- burnman_cpp-0.11.1/tests/eos/test_brosh_calphad.cpp +215 -0
- burnman_cpp-0.11.1/tests/eos/test_cork.cpp +160 -0
- burnman_cpp-0.11.1/tests/eos/test_dks.cpp +115 -0
- burnman_cpp-0.11.1/tests/eos/test_hp98.cpp +242 -0
- burnman_cpp-0.11.1/tests/eos/test_macaw.cpp +213 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_modular_mie_grueneisen_debye.cpp +1 -0
- burnman_cpp-0.11.1/tests/eos/test_morse_potential.cpp +183 -0
- burnman_cpp-0.11.1/tests/eos/test_murnaghan.cpp +195 -0
- burnman_cpp-0.11.1/tests/eos/test_pitzer_sterner.cpp +143 -0
- burnman_cpp-0.11.1/tests/eos/test_reciprocal_kprime.cpp +213 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_slb.cpp +3 -3
- burnman_cpp-0.11.1/tests/eos/test_thermal_components.cpp +196 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/include/ps1994_reference.hpp +1 -1
- burnman_cpp-0.11.1/tests/minerals/test_covariance.cpp +49 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/minerals/test_native_datasets.cpp +117 -11
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/minerals/test_thermocalc_reference.cpp +4 -4
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/minerals/test_water.cpp +8 -10
- burnman_cpp-0.11.1/tests/optim/test_composition_fitting.cpp +235 -0
- burnman_cpp-0.11.1/tests/optim/test_eos_fitting.cpp +145 -0
- burnman_cpp-0.11.1/tests/optim/test_linear_fitting.cpp +161 -0
- burnman_cpp-0.11.1/tests/optim/test_nonlinear_fitting.cpp +187 -0
- burnman_cpp-0.11.1/tests/reference/aa1994.json +125 -0
- burnman_cpp-0.11.1/tests/reference/brosh_calphad.json +345 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/reference/burnman.json +1 -1
- burnman_cpp-0.11.1/tests/tools/test_chemistry.cpp +144 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/tools/test_phase_diagram.cpp +47 -42
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/tools/test_phase_diagram_consistency.cpp +1 -1
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/tools/test_polytope.cpp +1 -1
- burnman_cpp-0.11.1/tests/tools/test_thermobarometry.cpp +108 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tools/build_wheel_dependencies.py +82 -12
- burnman_cpp-0.11.1/tools/export_covariance_data.py +131 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tools/export_example_minerals.py +151 -36
- burnman_cpp-0.11.1/tools/export_geotherm_data.py +55 -0
- burnman_cpp-0.11.1/tools/export_seismic_data.py +55 -0
- burnman_cpp-0.6.0/README.md +0 -197
- burnman_cpp-0.6.0/benchmarks/stixrude_2024_figure13/reference/prem_depth_pressure.txt +0 -60
- burnman_cpp-0.6.0/python/bindings/minerals.cpp +0 -1469
- burnman_cpp-0.6.0/python/burnman_cpp/minerals/__init__.py +0 -121
- burnman_cpp-0.6.0/python/tests/data/pyrolite_pt_coincident_phase_outs.json +0 -1
- burnman_cpp-0.6.0/python/tests/data/pyrolite_pt_cold_model_limits.json +0 -1
- burnman_cpp-0.6.0/python/tests/data/pyrolite_pt_cold_reaction_duplicates.json +0 -1
- burnman_cpp-0.6.0/python/tests/data/pyrolite_pt_equivalent_reaction_curves.json +0 -1
- burnman_cpp-0.6.0/python/tests/data/pyrolite_sp_reaction_classification.json +0 -1
- burnman_cpp-0.6.0/python/tests/data/pyrolite_sp_trace_site_response.json +0 -1
- burnman_cpp-0.6.0/python/tests/data/pyrolite_zoom_reaction_limits.json +0 -1
- burnman_cpp-0.6.0/src/minerals/model_sets.cpp +0 -145
- burnman_cpp-0.6.0/src/minerals/water.cpp +0 -217
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/.clang-format +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/.github/workflows/format.yml +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/.github/workflows/wheels.yml +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/LICENSE +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/core/benchmark_assemblage.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/core/benchmark_mineral.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/cpp_python_speedup.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/eos/benchmark_property_modifiers.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/parse_benchmarks.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/python_benchmarks.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/requirements.txt +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure13/README.md +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure13/overlay.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure13/reference/axis_registration.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure13/reference/figure13.svg +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure14/README.md +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure14/reference/axis_registration.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure14/reference/expansivity.jpg +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure14/reference/figure14.svg +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_basalt_phase_diagram.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_composition.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_green2025_at1.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_green2025_klb1.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_green2025_mix1g.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_green2025_re46.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_green2025_ton101s.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_green2025_ton101u.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_harzburgite_basalt_px.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_metasediment_phase_diagram.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_olivine_vx.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_patch_phase_diagram.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_plot_pyrolite_sp_relaxed_properties.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_pyrolite_phase_diagram_zoom.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_refine_phase_diagram.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_solution_equilibrium.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_spock_gold.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/green2025.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/green2025_reference.md +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/composite_material.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/composition.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/equation_of_state.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/solution_model.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/solution_models/ideal_solution.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/solution_models/solution_model_base.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/solution_models/symmetric_regular_solution.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/components/anharmonic_prefactor_models.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/components/anharmonic_thermal_models.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/components/bukowinski_electronic.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/components/debye_temperature_models.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/components/excess_params.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/components/gsl_params.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/components/property_modifiers.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/hp_liquid.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/make_eos.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/mie_grueneisen_debye.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/modified_tait.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/modular_mie_grueneisen_debye.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/slb.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/spock.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/vinet.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/minerals/model_sets.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/optim/roots/bracket.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/optim/roots/brent.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/optim/roots/damped_newton_solver.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/optim/roots/damped_newton_state.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/optim/roots/damped_newton_types.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/averaging/averaging_base.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/averaging/averaging_schemes.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/averaging/averaging_utils.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/averaging/hs.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/averaging/hs_lower.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/averaging/hs_upper.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/averaging/reuss.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/averaging/voigt.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/averaging/vrh.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equality_constraint_base.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equality_constraint_helpers.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equality_constraints.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equilibrate.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equilibrate_impl.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equilibrate_lambda_bounds.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equilibrate_objective.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equilibrate_types.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equilibrate_utils.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/boundary_repair.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/calculation.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/common.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/consistency.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/continuation.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/contours.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/critical.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/domain.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/polygons.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/properties.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/refinement.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/stability.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/tracing.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/types.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/verification.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/polytope.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/chemistry_utils.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/exceptions.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/index_utils.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/math_utils.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/matrix_utils.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/polygon_utils.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/string_utils.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/types/ndarray.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/types/types.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/utils.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/validate_optionals.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/vector_utils.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/warnings.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/combined.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/composition.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/equilibration.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/model_sets.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/modifiers.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/phase_diagram.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/polytope.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/utils.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/anharmonic_prefactor_models.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/anharmonic_thermal_models.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/constants.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/debye_temperature_models.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/aspect.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/contours.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/equilibrium_path.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/phase_diagram.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/phase_diagram_helpers.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/polytope.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/potential_grid.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/properties.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/conftest.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/basalt_field_verification.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/basalt_local_amphibole.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/basalt_local_plagioclase.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/forsterite_latent_interval.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/green_provisional_loops.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/harzburgite_garnet_composition_boundary.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/harzburgite_thin_composition_field.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_contour_ordering_field.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_curved_node_connections.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_missing_melt_connection.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_parallel_fields.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_univariant_loop.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/phase_diagram_model_limit_fan.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_cold_endpoints.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_critical_endpoints.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_duplicate_curve.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_endpoints.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_exchanged_junction_zeros.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_frame_order.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_local_opx.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_missing_solution_branch.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_model_limit.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_narrow_curves.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_nearby_junctions.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_neighbouring_branches.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_partial_duplicate.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_perimeter_neighbours.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_pt_cold_coexistence.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_pt_detached_junctions.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_pt_garnet_stability.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_pt_model_limit_duplicates.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_pt_repair_regressions.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_refinement_segment.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_retired_junction_geometry.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_short_branch_labels.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_solution_replacement.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_solvus_seeds.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_ak_branch_switch.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_enthalpy_branch.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_soft_grid_point.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_wrong_branch_junction.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_stable_vertex_loop.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_bindings.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_composition.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_composition_reference.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_constants.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_contour_tools.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_enthalpy_ps_infill.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_equilibration.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_forsterite_sections.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_gaussian_moment_corrected.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_green2025.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_modifiers.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_branch_identity.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_consistency.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_contours.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_critical_endpoints.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_incidence.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_line_resolution.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_partial_duplicates.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_patching.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_polygon_utils.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_potential_grid.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_property_grid.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_spock.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_stable_equilibrium.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_wheel_metadata.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/composite_material.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/composition.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/equation_of_state.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/solution_models/asymmetric_regular_solution.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/solution_models/ideal_solution.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/solution_models/solution_model_base.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/solution_models/symmetric_regular_solution.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/components/bukowinski_electronic.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/components/modular_mgd_models.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/components/property_modifiers.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/hp.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/hp_liquid.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/modified_tait.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/slb.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/spock.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/vinet.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/optim/roots/damped_newton_solver.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/averaging/averaging_base.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/averaging/averaging_utils.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/averaging/hs.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/averaging/hs_lower.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/averaging/hs_upper.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/averaging/reuss.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/averaging/voigt.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/averaging/vrh.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/equilibration/equilibrate_impl.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/equilibration/equilibrate_lambda_bounds.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/equilibration/equilibrate_objective.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/equilibration/equilibrate_utils.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/boundary_repair.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/calculation.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/common.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/consistency.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/continuation.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/contours.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/critical.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/domain.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/polygons.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/potential.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/refinement.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/tracing.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/verification.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/polytope.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/solution_simplification.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/utils/chemistry_utils.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/utils/polygon_utils.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/core/test_assemblage.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/core/test_composition.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/core/test_material.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/core/test_solution.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/core/test_solution_model.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_birch_murnaghan.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_bukowinski_electronic.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_debye.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_einstein.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_excess_params.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_hp.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_mie_grueneisen_debye.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_modified_tait.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_property_modifiers.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_spock.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_vinet.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_volume_accuracy.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/include/eos_names.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/include/equilibration_fixtures.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/include/solution_fixtures.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/include/thermocalc_reference.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/include/tolerances.hpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/optim/roots/test_damped_newton.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/optim/roots/test_roots.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/reference/ps1994.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/reference/thermocalc_metapelite.json +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/test_main.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/tools/averaging/test_averaging_schemes.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/tools/equilibration/test_equality_constraints.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/tools/equilibration/test_equilibrate.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/tools/equilibration/test_equilibrate_lambda_bounds.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/tools/equilibration/test_equilibrate_objective.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/tools/equilibration/test_equilibrate_utils.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_chemistry_utils.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_constants.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_exceptions.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_index_utils.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_math_utils.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_matrix_utils.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_polygon_utils.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_string_utils.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_types.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_validate_optionals.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_vector_utils.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_warnings.cpp +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tools/burnman_reference.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tools/check_reference_data.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tools/extract_thermocalc_reference.py +0 -0
- {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tools/generate_ps1994_reference.py +0 -0
|
@@ -43,7 +43,7 @@ jobs:
|
|
|
43
43
|
sudo apt-get update
|
|
44
44
|
sudo apt-get install -y --no-install-recommends \
|
|
45
45
|
cmake g++ catch2 libeigen3-dev libgsl-dev \
|
|
46
|
-
libcdd-dev libgmp-dev libnlopt-cxx-dev
|
|
46
|
+
libcdd-dev libgmp-dev libnlopt-cxx-dev libhdf5-dev
|
|
47
47
|
|
|
48
48
|
- name: Configure benchmarks
|
|
49
49
|
run: |
|
|
@@ -96,7 +96,7 @@ jobs:
|
|
|
96
96
|
uses: actions/checkout@v7
|
|
97
97
|
with:
|
|
98
98
|
repository: geodynamics/burnman
|
|
99
|
-
ref:
|
|
99
|
+
ref: b7c54ccf7bfd8583158c6dffe210c004b9570f4d
|
|
100
100
|
path: build/python-burnman-reference
|
|
101
101
|
persist-credentials: false
|
|
102
102
|
|
|
@@ -20,7 +20,7 @@ jobs:
|
|
|
20
20
|
cpp:
|
|
21
21
|
name: C++ tests
|
|
22
22
|
runs-on: ubuntu-24.04
|
|
23
|
-
timeout-minutes:
|
|
23
|
+
timeout-minutes: 60
|
|
24
24
|
steps:
|
|
25
25
|
- name: Check out repository
|
|
26
26
|
uses: actions/checkout@v7
|
|
@@ -32,7 +32,7 @@ jobs:
|
|
|
32
32
|
sudo apt-get update
|
|
33
33
|
sudo apt-get install -y --no-install-recommends \
|
|
34
34
|
cmake g++ catch2 libeigen3-dev libgsl-dev \
|
|
35
|
-
libcdd-dev libgmp-dev libnlopt-cxx-dev
|
|
35
|
+
libcdd-dev libgmp-dev libnlopt-cxx-dev libhdf5-dev
|
|
36
36
|
|
|
37
37
|
- name: Configure C++ tests
|
|
38
38
|
run: |
|
|
@@ -51,7 +51,7 @@ jobs:
|
|
|
51
51
|
python:
|
|
52
52
|
name: Python ${{ matrix.python-version }} tests
|
|
53
53
|
runs-on: ubuntu-24.04
|
|
54
|
-
timeout-minutes:
|
|
54
|
+
timeout-minutes: 60
|
|
55
55
|
strategy:
|
|
56
56
|
fail-fast: false
|
|
57
57
|
matrix:
|
|
@@ -80,7 +80,7 @@ jobs:
|
|
|
80
80
|
sudo apt-get update
|
|
81
81
|
sudo apt-get install -y --no-install-recommends \
|
|
82
82
|
cmake g++ libeigen3-dev libgsl-dev \
|
|
83
|
-
libcdd-dev libgmp-dev libnlopt-cxx-dev
|
|
83
|
+
libcdd-dev libgmp-dev libnlopt-cxx-dev libhdf5-dev
|
|
84
84
|
|
|
85
85
|
- name: Build and install Python package
|
|
86
86
|
run: python -m pip install '.[test,examples]' -Ccmake.define.BURNMAN_WARNINGS_AS_ERRORS=ON
|
|
@@ -92,7 +92,7 @@ jobs:
|
|
|
92
92
|
reference:
|
|
93
93
|
name: Pinned Python BurnMan reference
|
|
94
94
|
runs-on: ubuntu-24.04
|
|
95
|
-
timeout-minutes:
|
|
95
|
+
timeout-minutes: 60
|
|
96
96
|
env:
|
|
97
97
|
CMAKE_BUILD_PARALLEL_LEVEL: "2"
|
|
98
98
|
MPLBACKEND: Agg
|
|
@@ -110,7 +110,7 @@ jobs:
|
|
|
110
110
|
uses: actions/checkout@v7
|
|
111
111
|
with:
|
|
112
112
|
repository: geodynamics/burnman
|
|
113
|
-
ref:
|
|
113
|
+
ref: b7c54ccf7bfd8583158c6dffe210c004b9570f4d
|
|
114
114
|
path: build/python-burnman-reference
|
|
115
115
|
persist-credentials: false
|
|
116
116
|
|
|
@@ -128,12 +128,12 @@ jobs:
|
|
|
128
128
|
sudo apt-get update
|
|
129
129
|
sudo apt-get install -y --no-install-recommends \
|
|
130
130
|
cmake g++ clang-format libeigen3-dev libgsl-dev \
|
|
131
|
-
libcdd-dev libgmp-dev libnlopt-cxx-dev
|
|
131
|
+
libcdd-dev libgmp-dev libnlopt-cxx-dev libhdf5-dev
|
|
132
132
|
|
|
133
133
|
- name: Install wrapper and reference dependencies
|
|
134
134
|
run: |
|
|
135
135
|
python -m pip install '.[test,examples]' -Ccmake.define.BURNMAN_WARNINGS_AS_ERRORS=ON
|
|
136
|
-
python -m pip install -e 'build/python-burnman-reference[dev]'
|
|
136
|
+
python -m pip install -e 'build/python-burnman-reference[dev]' h5py
|
|
137
137
|
|
|
138
138
|
- name: Audit stored reference values and mineral catalogue
|
|
139
139
|
env:
|
|
@@ -141,6 +141,7 @@ jobs:
|
|
|
141
141
|
run: |
|
|
142
142
|
python tools/check_reference_data.py
|
|
143
143
|
python tools/export_example_minerals.py --check
|
|
144
|
+
python tools/export_covariance_data.py --check
|
|
144
145
|
python tools/generate_ps1994_reference.py --reference build/python-burnman-reference
|
|
145
146
|
|
|
146
147
|
- name: Run complete Python suite with the pinned reference
|
|
@@ -13,7 +13,7 @@ endif()
|
|
|
13
13
|
file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/pyproject.toml" BURNMAN_VERSION_LINE
|
|
14
14
|
REGEX "^version = ")
|
|
15
15
|
string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" BURNMAN_VERSION "${BURNMAN_VERSION_LINE}")
|
|
16
|
-
project(burnman_cpp VERSION ${BURNMAN_VERSION} LANGUAGES CXX)
|
|
16
|
+
project(burnman_cpp VERSION ${BURNMAN_VERSION} LANGUAGES C CXX)
|
|
17
17
|
|
|
18
18
|
option(BURNMAN_BUILD_PYTHON "Build the Python extension" ON)
|
|
19
19
|
option(BURNMAN_BUILD_TESTS "Build the C++ unit tests" OFF)
|
|
@@ -39,6 +39,7 @@ set(BURNMAN_WHEEL_DEPENDENCIES "" CACHE PATH "Private prefix for wheel dependenc
|
|
|
39
39
|
if(BURNMAN_WHEEL_DEPENDENCIES)
|
|
40
40
|
list(PREPEND CMAKE_PREFIX_PATH "${BURNMAN_WHEEL_DEPENDENCIES}")
|
|
41
41
|
set(GSL_ROOT_DIR "${BURNMAN_WHEEL_DEPENDENCIES}")
|
|
42
|
+
set(HDF5_ROOT "${BURNMAN_WHEEL_DEPENDENCIES}")
|
|
42
43
|
endif()
|
|
43
44
|
if(APPLE)
|
|
44
45
|
list(APPEND CMAKE_PREFIX_PATH /opt/homebrew /usr/local)
|
|
@@ -48,6 +49,7 @@ if(Eigen3_VERSION VERSION_LESS 3.4)
|
|
|
48
49
|
message(FATAL_ERROR "BurnMan requires Eigen >= 3.4 (found ${Eigen3_VERSION})")
|
|
49
50
|
endif()
|
|
50
51
|
find_package(GSL REQUIRED)
|
|
52
|
+
find_package(HDF5 1.10 REQUIRED COMPONENTS C)
|
|
51
53
|
find_path(NLOPT_INCLUDE_DIR NAMES nlopt.hpp REQUIRED)
|
|
52
54
|
find_library(NLOPT_LIBRARY NAMES nlopt REQUIRED)
|
|
53
55
|
find_path(CDD_INCLUDE_DIR NAMES cdd.h PATH_SUFFIXES cddlib cdd REQUIRED)
|
|
@@ -62,6 +64,26 @@ target_include_directories(burnman_core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/inclu
|
|
|
62
64
|
target_link_libraries(burnman_core PUBLIC Eigen3::Eigen GSL::gsl GSL::gslcblas)
|
|
63
65
|
target_include_directories(burnman_core SYSTEM PRIVATE ${CDD_INCLUDE_DIR} ${GMP_INCLUDE_DIR} ${NLOPT_INCLUDE_DIR})
|
|
64
66
|
target_link_libraries(burnman_core PUBLIC ${CDD_GMP_LIBRARY} ${GMP_LIBRARY} ${NLOPT_LIBRARY})
|
|
67
|
+
target_include_directories(burnman_core SYSTEM BEFORE PRIVATE ${HDF5_INCLUDE_DIRS})
|
|
68
|
+
target_link_libraries(burnman_core PUBLIC ${HDF5_LIBRARIES})
|
|
69
|
+
|
|
70
|
+
# Embed the HDF5 file images for standalone C++ and installed Python use.
|
|
71
|
+
# CMake performs this step without requiring h5py or a Python interpreter.
|
|
72
|
+
function(burnman_covariance_data name dataset)
|
|
73
|
+
set(input "${CMAKE_CURRENT_SOURCE_DIR}/src/data/input_covariance/${dataset}_cov.h5")
|
|
74
|
+
set(output "${CMAKE_CURRENT_BINARY_DIR}/generated/${name}_covariance_data.hpp")
|
|
75
|
+
set(script "${CMAKE_CURRENT_SOURCE_DIR}/cmake/EmbedCovariance.cmake")
|
|
76
|
+
add_custom_command(OUTPUT "${output}"
|
|
77
|
+
COMMAND "${CMAKE_COMMAND}" "-DNAME=${name}" "-DINPUT=${input}"
|
|
78
|
+
"-DOUTPUT=${output}" -P "${script}"
|
|
79
|
+
DEPENDS "${input}" "${script}"
|
|
80
|
+
VERBATIM)
|
|
81
|
+
target_sources(burnman_core PRIVATE "${output}")
|
|
82
|
+
endfunction()
|
|
83
|
+
burnman_covariance_data(HP_2011_ds62 HP_2011_ds62)
|
|
84
|
+
burnman_covariance_data(HGP_2018_ds633 HGP_2018_ds633)
|
|
85
|
+
burnman_covariance_data(HPx_ds636 HPx_ds636)
|
|
86
|
+
target_include_directories(burnman_core PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/generated")
|
|
65
87
|
set_target_properties(burnman_core PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
|
66
88
|
burnman_compiler_warnings(burnman_core)
|
|
67
89
|
|
|
@@ -72,18 +94,31 @@ if(BURNMAN_BUILD_PYTHON)
|
|
|
72
94
|
python/bindings/module.cpp
|
|
73
95
|
python/bindings/params.cpp
|
|
74
96
|
python/bindings/eos.cpp
|
|
97
|
+
python/bindings/thermal_components.cpp
|
|
75
98
|
python/bindings/materials.cpp
|
|
76
99
|
python/bindings/composition.cpp
|
|
100
|
+
python/bindings/linear_fitting.cpp
|
|
101
|
+
python/bindings/nonlinear_fitting.cpp
|
|
102
|
+
python/bindings/eos_fitting.cpp
|
|
103
|
+
python/bindings/composition_fitting.cpp
|
|
104
|
+
python/bindings/thermobarometry.cpp
|
|
105
|
+
python/bindings/chemistry.cpp
|
|
106
|
+
python/bindings/equilibrated_composite.cpp
|
|
77
107
|
python/bindings/combined.cpp
|
|
78
108
|
python/bindings/modifiers.cpp
|
|
79
109
|
python/bindings/solutions.cpp
|
|
80
110
|
python/bindings/minerals.cpp
|
|
81
111
|
python/bindings/utils.cpp
|
|
82
112
|
python/bindings/model_sets.cpp
|
|
113
|
+
python/bindings/seismic.cpp
|
|
114
|
+
python/bindings/geotherm.cpp
|
|
115
|
+
python/bindings/layer.cpp
|
|
116
|
+
python/bindings/planet.cpp
|
|
83
117
|
python/bindings/polytope.cpp
|
|
84
118
|
python/bindings/phase_diagram.cpp
|
|
85
119
|
python/bindings/equilibration.cpp)
|
|
86
120
|
target_link_libraries(_core PRIVATE burnman_core)
|
|
121
|
+
set_target_properties(_core PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE)
|
|
87
122
|
target_compile_definitions(_core PRIVATE BURNMAN_VERSION="${PROJECT_VERSION}")
|
|
88
123
|
burnman_compiler_warnings(_core)
|
|
89
124
|
install(TARGETS _core LIBRARY DESTINATION burnman_cpp RUNTIME DESTINATION burnman_cpp)
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
#
|
|
1
|
+
# ------------------------------------------------------
|
|
2
2
|
#
|
|
3
|
-
#
|
|
4
|
-
# GNU General Public License v3.0 or later. See the LICENSE file
|
|
5
|
-
# or <https://www.gnu.org/licenses/> for details.
|
|
3
|
+
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
6
4
|
#
|
|
7
|
-
#
|
|
5
|
+
# SPDX-FileCopyrightText: Copyright (C) 2025-2026 by the BurnMan Team.
|
|
8
6
|
#
|
|
9
|
-
#
|
|
7
|
+
# This file is part of BurnMan.
|
|
8
|
+
#
|
|
9
|
+
# Detailed license information governing the source code
|
|
10
|
+
# and contributions can be found in the LICENSE document.
|
|
11
|
+
#
|
|
12
|
+
# ------------------------------------------------------
|
|
13
|
+
|
|
10
14
|
# The native sources implement a library; Catch2 supplies main() for tests.
|
|
11
15
|
TARGET_LIBRARY := libburnman.a
|
|
12
16
|
TEST_EXEC := run_tests
|
|
@@ -14,6 +18,8 @@ BENCHMARK_EXEC := run_benchmarks
|
|
|
14
18
|
|
|
15
19
|
# Compiler
|
|
16
20
|
CXX := g++
|
|
21
|
+
CMAKE ?= cmake
|
|
22
|
+
PKG_CONFIG ?= pkg-config
|
|
17
23
|
|
|
18
24
|
# Directories
|
|
19
25
|
CWD := $(shell pwd)
|
|
@@ -32,11 +38,14 @@ INCLUDE_DIR_TEST := $(TEST_DIR)/include
|
|
|
32
38
|
# GSL on MacOS installed via brew is in /opt/homebrew/lib
|
|
33
39
|
EXTRA_INCLUDE ?= $(wildcard /opt/homebrew/include /opt/homebrew/include/eigen3 /opt/homebrew/opt/gsl/include /usr/local/include /usr/local/include/eigen3 /usr/include/eigen3)
|
|
34
40
|
EXTRA_LIB ?= $(wildcard /usr/local/lib /opt/homebrew/lib)
|
|
35
|
-
|
|
41
|
+
# Override these flags when HDF5 is installed outside pkg-config's search path.
|
|
42
|
+
HDF5_CFLAGS ?= $(shell $(PKG_CONFIG) --cflags hdf5)
|
|
43
|
+
HDF5_LIBS ?= $(shell $(PKG_CONFIG) --libs hdf5)
|
|
44
|
+
LDFLAGS_COMMON := -lgsl -lgslcblas -lcddgmp -lgmp -lnlopt $(HDF5_LIBS) -lm
|
|
36
45
|
LDFLAGS_TEST := -lCatch2Main -lCatch2
|
|
37
46
|
|
|
38
47
|
# Expand to paths
|
|
39
|
-
INCLUDE_FLAGS_COMMON := -I$(INCLUDE_DIR) $(addprefix -isystem , $(EXTRA_INCLUDE))
|
|
48
|
+
INCLUDE_FLAGS_COMMON := -I$(INCLUDE_DIR) $(HDF5_CFLAGS) $(addprefix -isystem , $(EXTRA_INCLUDE))
|
|
40
49
|
INCLUDE_FLAGS_TEST := -I$(INCLUDE_DIR_TEST)
|
|
41
50
|
LIB_PATHS := $(addprefix -L, $(EXTRA_LIB))
|
|
42
51
|
|
|
@@ -94,6 +103,12 @@ ifeq ($(PROFILE), 1)
|
|
|
94
103
|
MODE_BUILD_DIR := $(MODE_BUILD_DIR)-profile
|
|
95
104
|
endif
|
|
96
105
|
|
|
106
|
+
# Covariance images are generated for this build mode before their reader.
|
|
107
|
+
COVARIANCE_BUILD_DIR := $(MODE_BUILD_DIR)/generated
|
|
108
|
+
COVARIANCE_EMBED_SCRIPT := $(CWD)/cmake/EmbedCovariance.cmake
|
|
109
|
+
COVARIANCE_HEADERS := $(addprefix $(COVARIANCE_BUILD_DIR)/,HP_2011_ds62_covariance_data.hpp HGP_2018_ds633_covariance_data.hpp HPx_ds636_covariance_data.hpp)
|
|
110
|
+
CPPFLAGS += -I$(COVARIANCE_BUILD_DIR)
|
|
111
|
+
|
|
97
112
|
# Find source files
|
|
98
113
|
SOURCES := $(shell find $(SRC_DIR) -name '*.cpp')
|
|
99
114
|
TEST_SOURCES := $(shell find $(TEST_DIR) -name '*.cpp')
|
|
@@ -115,6 +130,15 @@ BENCHMARK_TARGET := $(BIN_DIR)/$(BENCHMARK_EXEC)$(BIN_SUFFIX)
|
|
|
115
130
|
# Default rule
|
|
116
131
|
all: $(TARGET)
|
|
117
132
|
|
|
133
|
+
$(COVARIANCE_BUILD_DIR)/HP_2011_ds62_covariance_data.hpp: $(SRC_DIR)/data/input_covariance/HP_2011_ds62_cov.h5
|
|
134
|
+
$(COVARIANCE_BUILD_DIR)/HGP_2018_ds633_covariance_data.hpp: $(SRC_DIR)/data/input_covariance/HGP_2018_ds633_cov.h5
|
|
135
|
+
$(COVARIANCE_BUILD_DIR)/HPx_ds636_covariance_data.hpp: $(SRC_DIR)/data/input_covariance/HPx_ds636_cov.h5
|
|
136
|
+
|
|
137
|
+
$(COVARIANCE_HEADERS): $(COVARIANCE_EMBED_SCRIPT)
|
|
138
|
+
$(CMAKE) "-DNAME=$(patsubst %_covariance_data.hpp,%,$(notdir $@))" "-DINPUT=$(filter %.h5,$^)" "-DOUTPUT=$@" -P "$(COVARIANCE_EMBED_SCRIPT)"
|
|
139
|
+
|
|
140
|
+
$(MODE_BUILD_DIR)/src/data/covariance.o: $(COVARIANCE_HEADERS)
|
|
141
|
+
|
|
118
142
|
# Archive the native library; linking an executable would require main().
|
|
119
143
|
$(TARGET) : $(OBJECTS) | $(BIN_DIR)
|
|
120
144
|
$(AR) rcs $@ $^
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: burnman_cpp
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.11.1
|
|
4
4
|
Summary: Python bindings for the BurnMan C++ mineral physics library
|
|
5
5
|
Author-Email: The BurnMan Team <bob.myhill@bristol.ac.uk>
|
|
6
6
|
License-Expression: GPL-3.0-or-later
|
|
@@ -22,6 +22,7 @@ Provides-Extra: examples
|
|
|
22
22
|
Requires-Dist: matplotlib>=3.6; extra == "examples"
|
|
23
23
|
Provides-Extra: reference
|
|
24
24
|
Requires-Dist: burnman>=2.1; extra == "reference"
|
|
25
|
+
Requires-Dist: h5py>=3.8; extra == "reference"
|
|
25
26
|
Description-Content-Type: text/markdown
|
|
26
27
|
|
|
27
28
|
# burnman_cpp
|
|
@@ -52,32 +53,114 @@ Python authors (as of 2025, from the [BurnMan README](https://github.com/geodyna
|
|
|
52
53
|
|
|
53
54
|
### Published Python wheels
|
|
54
55
|
|
|
55
|
-
|
|
56
|
+
Using Python 3.10 or newer, install the published package into your chosen
|
|
57
|
+
Python environment:
|
|
56
58
|
|
|
57
59
|
```sh
|
|
58
60
|
python -m pip install --upgrade pip
|
|
59
61
|
python -m pip install burnman_cpp
|
|
60
62
|
```
|
|
61
63
|
|
|
62
|
-
|
|
64
|
+
A virtual environment is optional. To use one, run these commands before
|
|
65
|
+
installing:
|
|
63
66
|
|
|
64
|
-
|
|
67
|
+
```sh
|
|
68
|
+
python -m venv .venv
|
|
69
|
+
source .venv/bin/activate
|
|
70
|
+
```
|
|
65
71
|
|
|
66
|
-
|
|
72
|
+
Pip installs NumPy and SciPy automatically. Published wheels bundle the native
|
|
73
|
+
libraries, so a compiler and native development packages are only needed when
|
|
74
|
+
building from source. If no matching wheel is available, pip builds from source
|
|
75
|
+
and needs the dependencies below.
|
|
67
76
|
|
|
68
|
-
|
|
69
|
-
- CMake 3.18 or newer.
|
|
70
|
-
- Eigen 3.4 or newer, GSL, NLopt with its C++ headers, cddlib with its GMP
|
|
71
|
-
library (`cddgmp`), and GMP.
|
|
72
|
-
- Python 3.10 or newer and its development headers for the Python package.
|
|
73
|
-
- Catch2 3.4 or newer for C++ tests and benchmarks.
|
|
77
|
+
### Building from source
|
|
74
78
|
|
|
75
|
-
|
|
79
|
+
#### Native dependencies
|
|
80
|
+
|
|
81
|
+
Both the C++ library and Python source builds require:
|
|
82
|
+
|
|
83
|
+
- **C and C++17 compiler toolchain**, such as GCC or Clang: compiles the native
|
|
84
|
+
library and, for Python builds, the extension module. CMake also checks for
|
|
85
|
+
a C compiler when locating HDF5.
|
|
86
|
+
- **CMake 3.18 or newer**: configures the build, locates native dependencies and
|
|
87
|
+
embeds the covariance datasets. The supplied Makefile also uses CMake for
|
|
88
|
+
the data embedding step.
|
|
89
|
+
- **Eigen 3.4 or newer**: supplies matrix and vector operations, linear solvers
|
|
90
|
+
and decompositions for compositions, reactions, solution models and fitting.
|
|
91
|
+
- **GSL (GNU Scientific Library)**: provides root finding, numerical
|
|
92
|
+
integration, special functions and splines for equations of state and radial
|
|
93
|
+
planet profiles.
|
|
94
|
+
- **NLopt, including its C++ header `nlopt.hpp`**: performs constrained
|
|
95
|
+
optimisation for relaxed solutions, fitting, thermobarometry and phase
|
|
96
|
+
stability calculations.
|
|
97
|
+
- **cddlib, including its GMP-backed library `cddgmp`**: converts composition
|
|
98
|
+
constraints into polytope vertices for solution and assemblage calculations.
|
|
99
|
+
- **GMP (GNU Multiple Precision Arithmetic Library)**: provides the exact
|
|
100
|
+
rational arithmetic used by cddlib and the polytope code to handle chemical
|
|
101
|
+
composition constraints.
|
|
102
|
+
- **HDF5 1.10 or newer, with its C development headers and gzip/deflate support**:
|
|
103
|
+
reads the embedded endmember energy covariance datasets for HP_2011_ds62,
|
|
104
|
+
HGP_2018_ds633 and HPx_ds636. These data are embedded during the build and
|
|
105
|
+
read in memory.
|
|
106
|
+
|
|
107
|
+
Additional tools depend on the build and checks you choose:
|
|
108
|
+
|
|
109
|
+
- **Make**: runs the supplied Makefile. CMake builds also need a build tool,
|
|
110
|
+
such as Make or Ninja.
|
|
111
|
+
- **pkg-config**: lets the Makefile discover HDF5 compiler and linker flags.
|
|
112
|
+
It is optional for CMake builds.
|
|
113
|
+
- **Catch2 3.4 or newer**: supplies the C++ unit test runner and performance
|
|
114
|
+
benchmark framework. It is only required when building those targets.
|
|
115
|
+
- **Git**: downloads the source repository and the optional pinned Python
|
|
116
|
+
BurnMan reference checkout.
|
|
117
|
+
|
|
118
|
+
#### Python dependencies
|
|
119
|
+
|
|
120
|
+
For the Python package, also install:
|
|
121
|
+
|
|
122
|
+
- **Python 3.10 or newer, including its development headers**: runs the package
|
|
123
|
+
and lets the extension compile against Python.
|
|
124
|
+
- **pip**: builds and installs the Python package and its Python dependencies.
|
|
125
|
+
|
|
126
|
+
Pip installs these build and runtime dependencies automatically, as specified in
|
|
127
|
+
[pyproject.toml](pyproject.toml):
|
|
128
|
+
|
|
129
|
+
- **scikit-build-core 0.11 or newer** (build): connects pip's package build
|
|
130
|
+
process to CMake and packages the compiled extension.
|
|
131
|
+
- **pybind11 3.0 or newer** (build): exposes the C++ classes and functions to
|
|
132
|
+
Python, including conversions between Eigen matrices and NumPy arrays.
|
|
133
|
+
- **NumPy 1.23 or newer** (runtime): provides arrays for compositions, material
|
|
134
|
+
properties, covariance matrices and thermodynamic grids.
|
|
135
|
+
- **SciPy 1.9 or newer** (runtime): provides interpolation, sparse matrices,
|
|
136
|
+
optimisation and smoothing for potential grids and ASPECT table exports.
|
|
137
|
+
|
|
138
|
+
Optional Python dependencies are installed through extras:
|
|
139
|
+
|
|
140
|
+
- **pytest 7 or newer** (`test`): runs the Python test suite.
|
|
141
|
+
- **Matplotlib 3.6 or newer** (`examples`): plots examples, phase diagrams and
|
|
142
|
+
diagnostic figures; it is also needed by the plotting tests.
|
|
143
|
+
- **Python BurnMan 2.1 or newer** (`reference`): enables adapters and comparisons
|
|
144
|
+
with the original implementation. The reference tests below use a specific
|
|
145
|
+
Git commit for reproducibility.
|
|
146
|
+
- **h5py 3.8 or newer** (`reference`): exports and checks the HDF5 covariance
|
|
147
|
+
source files. Ordinary builds and covariance access use native HDF5 directly.
|
|
148
|
+
|
|
149
|
+
#### Install system dependencies
|
|
150
|
+
|
|
151
|
+
On Ubuntu 24.04, install the native dependencies and Python development tools:
|
|
76
152
|
|
|
77
153
|
```sh
|
|
78
154
|
sudo apt-get update
|
|
79
|
-
sudo apt-get install -y build-essential cmake
|
|
80
|
-
|
|
155
|
+
sudo apt-get install -y build-essential cmake git pkg-config \
|
|
156
|
+
python3-dev python3-pip python3-venv \
|
|
157
|
+
libeigen3-dev libgsl-dev libnlopt-cxx-dev libcdd-dev libgmp-dev libhdf5-dev
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
For C++ tests and benchmarks, also install Catch2:
|
|
161
|
+
|
|
162
|
+
```sh
|
|
163
|
+
sudo apt-get install -y catch2
|
|
81
164
|
```
|
|
82
165
|
|
|
83
166
|
On macOS, install the Xcode command-line tools if needed, then install the
|
|
@@ -85,10 +168,18 @@ dependencies with [Homebrew](https://brew.sh):
|
|
|
85
168
|
|
|
86
169
|
```sh
|
|
87
170
|
xcode-select --install
|
|
88
|
-
brew install python cmake eigen gsl nlopt cddlib gmp
|
|
171
|
+
brew install python cmake pkg-config eigen gsl nlopt cddlib gmp hdf5
|
|
89
172
|
```
|
|
90
173
|
|
|
91
|
-
|
|
174
|
+
For C++ tests and benchmarks, also install Catch2:
|
|
175
|
+
|
|
176
|
+
```sh
|
|
177
|
+
brew install catch2
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
#### Build and install the Python package
|
|
181
|
+
|
|
182
|
+
Clone the repository, then use your chosen Python environment:
|
|
92
183
|
|
|
93
184
|
```sh
|
|
94
185
|
git clone https://github.com/bobmyhill/burnman_cpp.git
|
|
@@ -177,7 +268,9 @@ Make also accepts an optional `BUILD_MODE` argument. Available modes:
|
|
|
177
268
|
|
|
178
269
|
Debug and test builds use separate outputs, such as `bin/run_tests_debug` and
|
|
179
270
|
`bin/run_tests_test`. Use `CXX`, `EXTRA_INCLUDE` and `EXTRA_LIB` to override the
|
|
180
|
-
compiler and dependency paths.
|
|
271
|
+
compiler and dependency paths. If HDF5 is outside pkg-config's search path, set
|
|
272
|
+
`PKG_CONFIG_PATH` to the directory containing `hdf5.pc`, or pass `HDF5_CFLAGS`
|
|
273
|
+
and `HDF5_LIBS` explicitly to Make.
|
|
181
274
|
|
|
182
275
|
### Optional Python BurnMan reference comparisons
|
|
183
276
|
|
|
@@ -187,7 +280,7 @@ comparisons used by GitHub CI:
|
|
|
187
280
|
|
|
188
281
|
```sh
|
|
189
282
|
git clone https://github.com/geodynamics/burnman.git build/python-burnman-reference
|
|
190
|
-
git -C build/python-burnman-reference checkout
|
|
283
|
+
git -C build/python-burnman-reference checkout b7c54ccf7bfd8583158c6dffe210c004b9570f4d
|
|
191
284
|
python -m pip install -e 'build/python-burnman-reference[dev]'
|
|
192
285
|
export PYTHONPATH="$PWD/build/python-burnman-reference"
|
|
193
286
|
export PYTHONDONTWRITEBYTECODE=1
|
|
@@ -198,6 +291,9 @@ MPLBACKEND=Agg python -m pytest -q -ra python/tests
|
|
|
198
291
|
|
|
199
292
|
Install the same formatter versions used by GitHub CI:
|
|
200
293
|
|
|
294
|
+
- **clang-format**: formats C++ sources and headers.
|
|
295
|
+
- **Black**: formats Python sources.
|
|
296
|
+
|
|
201
297
|
```sh
|
|
202
298
|
python -m pip install -r contrib/utilities/requirements-format.txt
|
|
203
299
|
```
|
|
@@ -218,6 +314,13 @@ directory.
|
|
|
218
314
|
Build, run and report performance benchmarks using the instructions in
|
|
219
315
|
[benchmarks/README.md](benchmarks/README.md).
|
|
220
316
|
|
|
317
|
+
The Python reporting tools use NumPy and Matplotlib, plus:
|
|
318
|
+
|
|
319
|
+
- **pandas 1.5 or newer**: processes timing tables and CSV reports.
|
|
320
|
+
|
|
321
|
+
Install the reporting dependencies with
|
|
322
|
+
`python -m pip install -r benchmarks/requirements.txt`.
|
|
323
|
+
|
|
221
324
|
## License
|
|
222
325
|
|
|
223
326
|
burnman_cpp is licensed under [GPL-3.0-or-later](LICENSE).
|