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.
Files changed (668) hide show
  1. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/.github/workflows/benchmarks.yml +2 -2
  2. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/.github/workflows/tests.yml +9 -8
  3. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/.gitignore +1 -0
  4. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/CMakeLists.txt +36 -1
  5. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/Makefile +32 -8
  6. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/PKG-INFO +121 -18
  7. burnman_cpp-0.11.1/README.md +299 -0
  8. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/README.md +9 -1
  9. burnman_cpp-0.11.1/benchmarks/dekoker_2013/README.md +43 -0
  10. burnman_cpp-0.11.1/benchmarks/dekoker_2013/benchmark.py +235 -0
  11. burnman_cpp-0.11.1/benchmarks/dekoker_2013/extract_reference.py +350 -0
  12. burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/Mg2SiO4.png +0 -0
  13. burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/Mg3Si2O7.png +0 -0
  14. burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/Mg5SiO7.png +0 -0
  15. burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/MgO.png +0 -0
  16. burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/MgSi2O5.png +0 -0
  17. burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/MgSi3O7.png +0 -0
  18. burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/MgSi5O11.png +0 -0
  19. burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/MgSiO3.png +0 -0
  20. burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/SiO2.png +0 -0
  21. burnman_cpp-0.11.1/benchmarks/dekoker_2013/reference/endmembers.json +931 -0
  22. burnman_cpp-0.11.1/benchmarks/pitzer_sterner_1995/README.md +50 -0
  23. burnman_cpp-0.11.1/benchmarks/pitzer_sterner_1995/benchmark.py +178 -0
  24. burnman_cpp-0.11.1/benchmarks/pitzer_sterner_1995/reference/figure1.json +294 -0
  25. burnman_cpp-0.11.1/benchmarks/pitzer_sterner_1995/reference/figure1.png +0 -0
  26. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024.py +35 -29
  27. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure13/benchmark.py +18 -12
  28. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure14/benchmark.py +6 -8
  29. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure14/geotherm.py +3 -8
  30. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure14/overlay.py +2 -6
  31. burnman_cpp-0.11.1/cmake/EmbedCovariance.cmake +42 -0
  32. burnman_cpp-0.11.1/examples/data/input_fitting/Bertka_Fei_1997_mars_mantle.dat +89 -0
  33. burnman_cpp-0.11.1/examples/data/input_fitting/Hazen_1976_TV_periclase.dat +17 -0
  34. burnman_cpp-0.11.1/examples/data/input_fitting/PVT_MgO_Dewaele_et_al_2000.dat +66 -0
  35. burnman_cpp-0.11.1/examples/data/input_fitting/SOURCES.md +24 -0
  36. burnman_cpp-0.11.1/examples/data/input_fitting/Victor_Douglas_1963_deltaH_MgO.dat +25 -0
  37. burnman_cpp-0.11.1/examples/example_assemblage_relaxation.py +237 -0
  38. burnman_cpp-0.11.1/examples/example_build_planet.py +138 -0
  39. burnman_cpp-0.11.1/examples/example_dekoker_2013.py +252 -0
  40. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_equilibrate.py +25 -17
  41. burnman_cpp-0.11.1/examples/example_equilibrated_composite.py +86 -0
  42. burnman_cpp-0.11.1/examples/example_fit_composition.py +158 -0
  43. burnman_cpp-0.11.1/examples/example_fit_eos.py +343 -0
  44. burnman_cpp-0.11.1/examples/example_fit_eos_with_independent_volumes.py +248 -0
  45. burnman_cpp-0.11.1/examples/example_fit_solution.py +289 -0
  46. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_forsterite_thermodynamic_sections.py +5 -5
  47. burnman_cpp-0.11.1/examples/example_geotherm.py +114 -0
  48. burnman_cpp-0.11.1/examples/example_hugoniot.py +139 -0
  49. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_iron_hematite_tx.py +6 -6
  50. burnman_cpp-0.11.1/examples/example_layer.py +119 -0
  51. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_metasediment_contours.py +1 -1
  52. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_modular_mgd.py +1 -1
  53. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_modular_mgd_with_anharmonicity.py +1 -1
  54. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_olivine_px.py +5 -5
  55. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_olivine_tx.py +1 -1
  56. burnman_cpp-0.11.1/examples/example_optimal_thermobarometry.py +550 -0
  57. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_phase_diagram_grid.py +6 -6
  58. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_pyrolite_modebox.py +3 -3
  59. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_pyrolite_phase_diagram.py +29 -29
  60. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_pyrolite_sp_phase_diagram.py +1 -1
  61. burnman_cpp-0.11.1/examples/example_seismic.py +56 -0
  62. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_single_point_equilibrium.py +4 -4
  63. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/assemblage.hpp +26 -0
  64. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/combined_mineral.hpp +3 -0
  65. burnman_cpp-0.11.1/include/burnman/core/equilibrated_composite.hpp +112 -0
  66. burnman_cpp-0.11.1/include/burnman/core/geotherm.hpp +143 -0
  67. burnman_cpp-0.11.1/include/burnman/core/layer.hpp +169 -0
  68. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/material.hpp +13 -1
  69. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/mineral.hpp +15 -0
  70. burnman_cpp-0.11.1/include/burnman/core/planet.hpp +112 -0
  71. burnman_cpp-0.11.1/include/burnman/core/relaxed_composite.hpp +49 -0
  72. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/relaxed_solution.hpp +1 -0
  73. burnman_cpp-0.11.1/include/burnman/core/seismic.hpp +132 -0
  74. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/solution.hpp +26 -0
  75. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/solution_models/asymmetric_regular_solution.hpp +5 -0
  76. burnman_cpp-0.11.1/include/burnman/eos/aa.hpp +56 -0
  77. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/birch_murnaghan.hpp +28 -1
  78. burnman_cpp-0.11.1/include/burnman/eos/brosh_calphad.hpp +56 -0
  79. burnman_cpp-0.11.1/include/burnman/eos/components/anharmonic_debye.hpp +33 -0
  80. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/components/debye.hpp +8 -0
  81. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/components/einstein.hpp +8 -0
  82. burnman_cpp-0.11.1/include/burnman/eos/cork.hpp +58 -0
  83. burnman_cpp-0.11.1/include/burnman/eos/dks_liquid.hpp +74 -0
  84. burnman_cpp-0.11.1/include/burnman/eos/dks_solid.hpp +74 -0
  85. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/hp.hpp +1 -1
  86. burnman_cpp-0.11.1/include/burnman/eos/hp98.hpp +43 -0
  87. burnman_cpp-0.11.1/include/burnman/eos/macaw.hpp +59 -0
  88. burnman_cpp-0.11.1/include/burnman/eos/morse_potential.hpp +66 -0
  89. burnman_cpp-0.11.1/include/burnman/eos/murnaghan.hpp +87 -0
  90. burnman_cpp-0.11.1/include/burnman/eos/pitzer_sterner.hpp +76 -0
  91. burnman_cpp-0.11.1/include/burnman/eos/reciprocal_kprime.hpp +58 -0
  92. burnman_cpp-0.11.1/include/burnman/minerals/SE_2015.hpp +13 -0
  93. burnman_cpp-0.11.1/include/burnman/minerals/covariance.hpp +29 -0
  94. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/minerals/datasets.hpp +501 -23
  95. burnman_cpp-0.11.1/include/burnman/minerals/other.hpp +10 -0
  96. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/minerals/phase_aliases.hpp +2 -2
  97. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/minerals/water.hpp +5 -0
  98. burnman_cpp-0.11.1/include/burnman/optim/composition_fitting.hpp +87 -0
  99. burnman_cpp-0.11.1/include/burnman/optim/eos_fitting.hpp +185 -0
  100. burnman_cpp-0.11.1/include/burnman/optim/linear_fitting.hpp +44 -0
  101. burnman_cpp-0.11.1/include/burnman/optim/nonlinear_fitting.hpp +130 -0
  102. burnman_cpp-0.11.1/include/burnman/tools/chemistry.hpp +69 -0
  103. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equality_constraint_variants.hpp +19 -0
  104. burnman_cpp-0.11.1/include/burnman/tools/partitioning.hpp +27 -0
  105. burnman_cpp-0.11.1/include/burnman/tools/seismic.hpp +24 -0
  106. burnman_cpp-0.11.1/include/burnman/tools/thermobarometry.hpp +95 -0
  107. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/constants.hpp +28 -0
  108. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/types/mineral_params.hpp +34 -2
  109. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/types/simple_types.hpp +13 -1
  110. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/pyproject.toml +19 -5
  111. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/bindings.hpp +29 -0
  112. burnman_cpp-0.11.1/python/bindings/chemistry.cpp +84 -0
  113. burnman_cpp-0.11.1/python/bindings/composition_fitting.cpp +97 -0
  114. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/eos.cpp +11 -0
  115. burnman_cpp-0.11.1/python/bindings/eos_fitting.cpp +435 -0
  116. burnman_cpp-0.11.1/python/bindings/equilibrated_composite.cpp +61 -0
  117. burnman_cpp-0.11.1/python/bindings/geotherm.cpp +207 -0
  118. burnman_cpp-0.11.1/python/bindings/layer.cpp +178 -0
  119. burnman_cpp-0.11.1/python/bindings/linear_fitting.cpp +45 -0
  120. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/materials.cpp +127 -0
  121. burnman_cpp-0.11.1/python/bindings/minerals.cpp +1970 -0
  122. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/module.cpp +11 -0
  123. burnman_cpp-0.11.1/python/bindings/nonlinear_fitting.cpp +291 -0
  124. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/params.cpp +42 -0
  125. burnman_cpp-0.11.1/python/bindings/planet.cpp +96 -0
  126. burnman_cpp-0.11.1/python/bindings/radial.hpp +85 -0
  127. burnman_cpp-0.11.1/python/bindings/seismic.cpp +207 -0
  128. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/solutions.cpp +27 -0
  129. burnman_cpp-0.11.1/python/bindings/thermal_components.cpp +155 -0
  130. burnman_cpp-0.11.1/python/bindings/thermobarometry.cpp +172 -0
  131. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/__init__.py +105 -1
  132. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/adapters.py +34 -10
  133. burnman_cpp-0.11.1/python/burnman_cpp/classes/__init__.py +14 -0
  134. burnman_cpp-0.11.1/python/burnman_cpp/classes/equilibratedcomposite.py +267 -0
  135. burnman_cpp-0.11.1/python/burnman_cpp/classes/geotherm.py +55 -0
  136. burnman_cpp-0.11.1/python/burnman_cpp/classes/layer.py +18 -0
  137. burnman_cpp-0.11.1/python/burnman_cpp/classes/planet.py +18 -0
  138. burnman_cpp-0.11.1/python/burnman_cpp/classes/relaxedcomposite.py +119 -0
  139. burnman_cpp-0.11.1/python/burnman_cpp/classes/seismic.py +48 -0
  140. burnman_cpp-0.11.1/python/burnman_cpp/eos/__init__.py +29 -0
  141. burnman_cpp-0.11.1/python/burnman_cpp/eos/anharmonic_debye.py +58 -0
  142. burnman_cpp-0.11.1/python/burnman_cpp/eos/bukowinski_electronic.py +14 -0
  143. burnman_cpp-0.11.1/python/burnman_cpp/eos/debye.py +33 -0
  144. burnman_cpp-0.11.1/python/burnman_cpp/eos/einstein.py +29 -0
  145. burnman_cpp-0.11.1/python/burnman_cpp/minerals/Pitzer_Sterner_1994.py +12 -0
  146. burnman_cpp-0.11.1/python/burnman_cpp/minerals/SE_2015.py +25 -0
  147. burnman_cpp-0.11.1/python/burnman_cpp/minerals/__init__.py +197 -0
  148. burnman_cpp-0.11.1/python/burnman_cpp/optimize/__init__.py +18 -0
  149. burnman_cpp-0.11.1/python/burnman_cpp/optimize/_fitting_plots.py +272 -0
  150. burnman_cpp-0.11.1/python/burnman_cpp/optimize/composition_fitting.py +26 -0
  151. burnman_cpp-0.11.1/python/burnman_cpp/optimize/eos_fitting.py +42 -0
  152. burnman_cpp-0.11.1/python/burnman_cpp/optimize/linear_fitting.py +18 -0
  153. burnman_cpp-0.11.1/python/burnman_cpp/optimize/nonlinear_fitting.py +92 -0
  154. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/__init__.py +6 -0
  155. burnman_cpp-0.11.1/python/burnman_cpp/tools/chemistry.py +87 -0
  156. burnman_cpp-0.11.1/python/burnman_cpp/tools/partitioning.py +18 -0
  157. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/phase_diagram_workflow.py +1 -1
  158. burnman_cpp-0.11.1/python/burnman_cpp/tools/seismic.py +32 -0
  159. burnman_cpp-0.11.1/python/burnman_cpp/tools/thermobarometry.py +34 -0
  160. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/basalt_nearby_bivariant_junctions.json +1 -1
  161. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_contour_field.json +2 -2
  162. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_curve_edit.json +1 -1
  163. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_curved_mica_field.json +1 -1
  164. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_endpoints.json +1 -1
  165. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_ordering_segment.json +1 -1
  166. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_thin_finite_field.json +1 -1
  167. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_univariant_segments.json +1 -1
  168. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_crossed_loops.json +1 -1
  169. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_duplicate_invariant.json +1 -1
  170. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_duplicate_junctions.json +4 -4
  171. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_limiting_neighbours.json +1 -1
  172. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_narrow_solution_replacement.json +1 -1
  173. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_nearby_univariant_junctions.json +1 -1
  174. burnman_cpp-0.11.1/python/tests/data/pyrolite_pt_coincident_phase_outs.json +1 -0
  175. burnman_cpp-0.11.1/python/tests/data/pyrolite_pt_cold_model_limits.json +1 -0
  176. burnman_cpp-0.11.1/python/tests/data/pyrolite_pt_cold_reaction_duplicates.json +1 -0
  177. burnman_cpp-0.11.1/python/tests/data/pyrolite_pt_equivalent_reaction_curves.json +1 -0
  178. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_reaction_extents.json +1 -1
  179. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_cf_copy_junctions.json +1 -1
  180. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_failed_bracket.json +1 -1
  181. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_false_cpx_junction.json +1 -1
  182. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_false_junction.json +1 -1
  183. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_junction.json +1 -1
  184. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_missing_ak_boundary.json +1 -1
  185. burnman_cpp-0.11.1/python/tests/data/pyrolite_sp_reaction_classification.json +1 -0
  186. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_trace_site_junctions.json +1 -1
  187. burnman_cpp-0.11.1/python/tests/data/pyrolite_sp_trace_site_response.json +1 -0
  188. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_unconnected_junctions.json +1 -1
  189. burnman_cpp-0.11.1/python/tests/data/pyrolite_zoom_reaction_limits.json +1 -0
  190. burnman_cpp-0.11.1/python/tests/test_aa.py +157 -0
  191. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_adapters.py +19 -12
  192. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_aspect_table.py +4 -4
  193. burnman_cpp-0.11.1/python/tests/test_brosh_calphad.py +131 -0
  194. burnman_cpp-0.11.1/python/tests/test_chemistry.py +440 -0
  195. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_complete_datasets.py +85 -23
  196. burnman_cpp-0.11.1/python/tests/test_composition_fitting.py +489 -0
  197. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_composition_phase_diagram.py +4 -4
  198. burnman_cpp-0.11.1/python/tests/test_confidence_prediction_bands.py +254 -0
  199. burnman_cpp-0.11.1/python/tests/test_cork.py +253 -0
  200. burnman_cpp-0.11.1/python/tests/test_covariance.py +137 -0
  201. burnman_cpp-0.11.1/python/tests/test_dekoker_endmembers.py +40 -0
  202. burnman_cpp-0.11.1/python/tests/test_dekoker_example.py +80 -0
  203. burnman_cpp-0.11.1/python/tests/test_dks.py +160 -0
  204. burnman_cpp-0.11.1/python/tests/test_eos_fitting.py +442 -0
  205. burnman_cpp-0.11.1/python/tests/test_eos_fitting_volumes.py +215 -0
  206. burnman_cpp-0.11.1/python/tests/test_equilibrated_composite.py +344 -0
  207. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_equilibrium_path.py +4 -4
  208. burnman_cpp-0.11.1/python/tests/test_figure13_benchmark.py +95 -0
  209. burnman_cpp-0.11.1/python/tests/test_figure14_benchmark.py +76 -0
  210. burnman_cpp-0.11.1/python/tests/test_fitting_diagnostics.py +243 -0
  211. burnman_cpp-0.11.1/python/tests/test_geotherm.py +264 -0
  212. burnman_cpp-0.11.1/python/tests/test_hp98.py +113 -0
  213. burnman_cpp-0.11.1/python/tests/test_hp_datasets.py +136 -0
  214. burnman_cpp-0.11.1/python/tests/test_layer_planet.py +429 -0
  215. burnman_cpp-0.11.1/python/tests/test_linear_fitting.py +315 -0
  216. burnman_cpp-0.11.1/python/tests/test_macaw.py +102 -0
  217. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_melt.py +2 -2
  218. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_mineral_catalogue_reference.py +7 -7
  219. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_model_sets.py +13 -11
  220. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_modular_mgd.py +10 -5
  221. burnman_cpp-0.11.1/python/tests/test_morse_potential.py +100 -0
  222. burnman_cpp-0.11.1/python/tests/test_murnaghan.py +116 -0
  223. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_native_failure_reference.py +1 -1
  224. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_native_minerals.py +33 -27
  225. burnman_cpp-0.11.1/python/tests/test_nonlinear_fitting.py +397 -0
  226. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram.py +5 -5
  227. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_perimeter_labels.py +4 -4
  228. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_plot.py +4 -4
  229. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_workflow.py +10 -10
  230. burnman_cpp-0.11.1/python/tests/test_pitzer_sterner.py +128 -0
  231. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_polytope.py +17 -13
  232. burnman_cpp-0.11.1/python/tests/test_reciprocal_kprime.py +108 -0
  233. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_reference_tools.py +48 -0
  234. burnman_cpp-0.11.1/python/tests/test_relaxed_composite.py +224 -0
  235. burnman_cpp-0.11.1/python/tests/test_seismic.py +244 -0
  236. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_slb2024.py +14 -6
  237. burnman_cpp-0.11.1/python/tests/test_slb_datasets.py +188 -0
  238. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_slb_reference.py +13 -13
  239. burnman_cpp-0.11.1/python/tests/test_solution_fitting.py +215 -0
  240. burnman_cpp-0.11.1/python/tests/test_thermal_components.py +248 -0
  241. burnman_cpp-0.11.1/python/tests/test_thermobarometry.py +473 -0
  242. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_thermodynamic_phase_diagram.py +11 -1
  243. burnman_cpp-0.11.1/python/tests/test_wheel_dependencies.py +169 -0
  244. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/assemblage.cpp +106 -0
  245. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/combined_mineral.cpp +15 -0
  246. burnman_cpp-0.11.1/src/core/equilibrated_composite.cpp +414 -0
  247. burnman_cpp-0.11.1/src/core/geotherm.cpp +287 -0
  248. burnman_cpp-0.11.1/src/core/layer.cpp +427 -0
  249. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/material.cpp +89 -1
  250. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/mineral.cpp +86 -0
  251. burnman_cpp-0.11.1/src/core/planet.cpp +308 -0
  252. burnman_cpp-0.11.1/src/core/radial_profile.hpp +114 -0
  253. burnman_cpp-0.11.1/src/core/relaxed_composite.cpp +196 -0
  254. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/relaxed_solution.cpp +6 -0
  255. burnman_cpp-0.11.1/src/core/seismic.cpp +377 -0
  256. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/solution.cpp +53 -0
  257. burnman_cpp-0.11.1/src/data/covariance.cpp +125 -0
  258. burnman_cpp-0.11.1/src/data/geotherm_data.hpp +452 -0
  259. burnman_cpp-0.11.1/src/data/input_covariance/HGP_2018_ds633_cov.h5 +0 -0
  260. burnman_cpp-0.11.1/src/data/input_covariance/HP_2011_ds62_cov.h5 +0 -0
  261. burnman_cpp-0.11.1/src/data/input_covariance/HPx_ds636_cov.h5 +0 -0
  262. burnman_cpp-0.11.1/src/data/input_geotherm/Anzellini_2013_PT.txt +34 -0
  263. burnman_cpp-0.11.1/src/data/input_geotherm/Katsura_2022.txt +51 -0
  264. burnman_cpp-0.11.1/src/data/input_geotherm/Plesa_2022_Mars_V_6cm3.txt +44 -0
  265. burnman_cpp-0.11.1/src/data/input_geotherm/SOURCES.md +25 -0
  266. burnman_cpp-0.11.1/src/data/input_geotherm/Stacey_1977_continents.txt +81 -0
  267. burnman_cpp-0.11.1/src/data/input_geotherm/Stacey_1977_oceans.txt +81 -0
  268. burnman_cpp-0.11.1/src/data/input_geotherm/anderson_82.txt +59 -0
  269. burnman_cpp-0.11.1/src/data/input_geotherm/brown_81.txt +69 -0
  270. burnman_cpp-0.11.1/src/data/input_seismic/SOURCES.md +20 -0
  271. burnman_cpp-0.11.1/src/data/input_seismic/STW105.txt +752 -0
  272. burnman_cpp-0.11.1/src/data/input_seismic/ak135.txt +147 -0
  273. burnman_cpp-0.11.1/src/data/input_seismic/iasp91.txt +154 -0
  274. burnman_cpp-0.11.1/src/data/input_seismic/prem.txt +96 -0
  275. burnman_cpp-0.11.1/src/data/input_seismic/pwave_fast.txt +146 -0
  276. burnman_cpp-0.11.1/src/data/input_seismic/pwave_slow.txt +146 -0
  277. burnman_cpp-0.11.1/src/data/input_seismic/swave_fast.txt +145 -0
  278. burnman_cpp-0.11.1/src/data/input_seismic/swave_slow.txt +145 -0
  279. burnman_cpp-0.11.1/src/data/read_table.cpp +61 -0
  280. burnman_cpp-0.11.1/src/data/read_table.hpp +24 -0
  281. burnman_cpp-0.11.1/src/data/seismic_data.hpp +1766 -0
  282. burnman_cpp-0.11.1/src/eos/aa.cpp +337 -0
  283. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/birch_murnaghan.cpp +93 -0
  284. burnman_cpp-0.11.1/src/eos/brosh_calphad.cpp +411 -0
  285. burnman_cpp-0.11.1/src/eos/components/anharmonic_debye.cpp +82 -0
  286. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/components/debye.cpp +29 -11
  287. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/components/einstein.cpp +41 -20
  288. burnman_cpp-0.11.1/src/eos/cork.cpp +229 -0
  289. burnman_cpp-0.11.1/src/eos/dks_common.hpp +60 -0
  290. burnman_cpp-0.11.1/src/eos/dks_liquid.cpp +255 -0
  291. burnman_cpp-0.11.1/src/eos/dks_solid.cpp +196 -0
  292. burnman_cpp-0.11.1/src/eos/hp98.cpp +161 -0
  293. burnman_cpp-0.11.1/src/eos/macaw.cpp +207 -0
  294. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/make_eos.cpp +35 -0
  295. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/mie_grueneisen_debye.cpp +13 -12
  296. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/modular_mie_grueneisen_debye.cpp +14 -30
  297. burnman_cpp-0.11.1/src/eos/morse_potential.cpp +167 -0
  298. burnman_cpp-0.11.1/src/eos/murnaghan.cpp +195 -0
  299. burnman_cpp-0.11.1/src/eos/pitzer_sterner.cpp +319 -0
  300. burnman_cpp-0.11.1/src/eos/reciprocal_kprime.cpp +254 -0
  301. burnman_cpp-0.11.1/src/minerals/SE_2015.cpp +132 -0
  302. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/minerals/datasets.cpp +12725 -5305
  303. burnman_cpp-0.11.1/src/minerals/model_sets.cpp +147 -0
  304. burnman_cpp-0.11.1/src/minerals/other.cpp +39 -0
  305. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/minerals/phase_aliases.cpp +2 -2
  306. burnman_cpp-0.11.1/src/minerals/water.cpp +136 -0
  307. burnman_cpp-0.11.1/src/optim/composition_fitting.cpp +269 -0
  308. burnman_cpp-0.11.1/src/optim/eos_fitting.cpp +653 -0
  309. burnman_cpp-0.11.1/src/optim/linear_fitting.cpp +373 -0
  310. burnman_cpp-0.11.1/src/optim/nonlinear_fitting.cpp +490 -0
  311. burnman_cpp-0.11.1/src/tools/chemistry.cpp +429 -0
  312. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/equilibration/equality_constraint_variants.cpp +61 -0
  313. burnman_cpp-0.11.1/src/tools/partitioning.cpp +71 -0
  314. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/properties.cpp +18 -1
  315. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/stability.cpp +28 -10
  316. burnman_cpp-0.11.1/src/tools/seismic.cpp +27 -0
  317. burnman_cpp-0.11.1/src/tools/thermobarometry.cpp +625 -0
  318. burnman_cpp-0.11.1/tests/core/test_geotherm.cpp +185 -0
  319. burnman_cpp-0.11.1/tests/core/test_layer_planet.cpp +169 -0
  320. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/core/test_mineral.cpp +1 -1
  321. burnman_cpp-0.11.1/tests/core/test_mineral_volume_state.cpp +82 -0
  322. burnman_cpp-0.11.1/tests/core/test_relaxed_composite.cpp +115 -0
  323. burnman_cpp-0.11.1/tests/core/test_seismic.cpp +140 -0
  324. burnman_cpp-0.11.1/tests/eos/test_aa.cpp +155 -0
  325. burnman_cpp-0.11.1/tests/eos/test_brosh_calphad.cpp +215 -0
  326. burnman_cpp-0.11.1/tests/eos/test_cork.cpp +160 -0
  327. burnman_cpp-0.11.1/tests/eos/test_dks.cpp +115 -0
  328. burnman_cpp-0.11.1/tests/eos/test_hp98.cpp +242 -0
  329. burnman_cpp-0.11.1/tests/eos/test_macaw.cpp +213 -0
  330. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_modular_mie_grueneisen_debye.cpp +1 -0
  331. burnman_cpp-0.11.1/tests/eos/test_morse_potential.cpp +183 -0
  332. burnman_cpp-0.11.1/tests/eos/test_murnaghan.cpp +195 -0
  333. burnman_cpp-0.11.1/tests/eos/test_pitzer_sterner.cpp +143 -0
  334. burnman_cpp-0.11.1/tests/eos/test_reciprocal_kprime.cpp +213 -0
  335. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_slb.cpp +3 -3
  336. burnman_cpp-0.11.1/tests/eos/test_thermal_components.cpp +196 -0
  337. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/include/ps1994_reference.hpp +1 -1
  338. burnman_cpp-0.11.1/tests/minerals/test_covariance.cpp +49 -0
  339. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/minerals/test_native_datasets.cpp +117 -11
  340. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/minerals/test_thermocalc_reference.cpp +4 -4
  341. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/minerals/test_water.cpp +8 -10
  342. burnman_cpp-0.11.1/tests/optim/test_composition_fitting.cpp +235 -0
  343. burnman_cpp-0.11.1/tests/optim/test_eos_fitting.cpp +145 -0
  344. burnman_cpp-0.11.1/tests/optim/test_linear_fitting.cpp +161 -0
  345. burnman_cpp-0.11.1/tests/optim/test_nonlinear_fitting.cpp +187 -0
  346. burnman_cpp-0.11.1/tests/reference/aa1994.json +125 -0
  347. burnman_cpp-0.11.1/tests/reference/brosh_calphad.json +345 -0
  348. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/reference/burnman.json +1 -1
  349. burnman_cpp-0.11.1/tests/tools/test_chemistry.cpp +144 -0
  350. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/tools/test_phase_diagram.cpp +47 -42
  351. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/tools/test_phase_diagram_consistency.cpp +1 -1
  352. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/tools/test_polytope.cpp +1 -1
  353. burnman_cpp-0.11.1/tests/tools/test_thermobarometry.cpp +108 -0
  354. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tools/build_wheel_dependencies.py +82 -12
  355. burnman_cpp-0.11.1/tools/export_covariance_data.py +131 -0
  356. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tools/export_example_minerals.py +151 -36
  357. burnman_cpp-0.11.1/tools/export_geotherm_data.py +55 -0
  358. burnman_cpp-0.11.1/tools/export_seismic_data.py +55 -0
  359. burnman_cpp-0.6.0/README.md +0 -197
  360. burnman_cpp-0.6.0/benchmarks/stixrude_2024_figure13/reference/prem_depth_pressure.txt +0 -60
  361. burnman_cpp-0.6.0/python/bindings/minerals.cpp +0 -1469
  362. burnman_cpp-0.6.0/python/burnman_cpp/minerals/__init__.py +0 -121
  363. burnman_cpp-0.6.0/python/tests/data/pyrolite_pt_coincident_phase_outs.json +0 -1
  364. burnman_cpp-0.6.0/python/tests/data/pyrolite_pt_cold_model_limits.json +0 -1
  365. burnman_cpp-0.6.0/python/tests/data/pyrolite_pt_cold_reaction_duplicates.json +0 -1
  366. burnman_cpp-0.6.0/python/tests/data/pyrolite_pt_equivalent_reaction_curves.json +0 -1
  367. burnman_cpp-0.6.0/python/tests/data/pyrolite_sp_reaction_classification.json +0 -1
  368. burnman_cpp-0.6.0/python/tests/data/pyrolite_sp_trace_site_response.json +0 -1
  369. burnman_cpp-0.6.0/python/tests/data/pyrolite_zoom_reaction_limits.json +0 -1
  370. burnman_cpp-0.6.0/src/minerals/model_sets.cpp +0 -145
  371. burnman_cpp-0.6.0/src/minerals/water.cpp +0 -217
  372. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/.clang-format +0 -0
  373. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/.github/workflows/format.yml +0 -0
  374. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/.github/workflows/wheels.yml +0 -0
  375. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/LICENSE +0 -0
  376. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/core/benchmark_assemblage.cpp +0 -0
  377. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/core/benchmark_mineral.cpp +0 -0
  378. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/cpp_python_speedup.py +0 -0
  379. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/eos/benchmark_property_modifiers.cpp +0 -0
  380. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/parse_benchmarks.py +0 -0
  381. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/python_benchmarks.py +0 -0
  382. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/requirements.txt +0 -0
  383. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure13/README.md +0 -0
  384. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure13/overlay.py +0 -0
  385. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure13/reference/axis_registration.json +0 -0
  386. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure13/reference/figure13.svg +0 -0
  387. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure14/README.md +0 -0
  388. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure14/reference/axis_registration.json +0 -0
  389. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure14/reference/expansivity.jpg +0 -0
  390. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/benchmarks/stixrude_2024_figure14/reference/figure14.svg +0 -0
  391. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_basalt_phase_diagram.py +0 -0
  392. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_composition.py +0 -0
  393. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_green2025_at1.py +0 -0
  394. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_green2025_klb1.py +0 -0
  395. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_green2025_mix1g.py +0 -0
  396. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_green2025_re46.py +0 -0
  397. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_green2025_ton101s.py +0 -0
  398. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_green2025_ton101u.py +0 -0
  399. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_harzburgite_basalt_px.py +0 -0
  400. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_metasediment_phase_diagram.py +0 -0
  401. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_olivine_vx.py +0 -0
  402. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_patch_phase_diagram.py +0 -0
  403. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_plot_pyrolite_sp_relaxed_properties.py +0 -0
  404. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_pyrolite_phase_diagram_zoom.py +0 -0
  405. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_refine_phase_diagram.py +0 -0
  406. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_solution_equilibrium.py +0 -0
  407. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/example_spock_gold.py +0 -0
  408. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/green2025.py +0 -0
  409. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/examples/green2025_reference.md +0 -0
  410. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/composite_material.hpp +0 -0
  411. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/composition.hpp +0 -0
  412. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/equation_of_state.hpp +0 -0
  413. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/solution_model.hpp +0 -0
  414. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/solution_models/ideal_solution.hpp +0 -0
  415. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/solution_models/solution_model_base.hpp +0 -0
  416. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/core/solution_models/symmetric_regular_solution.hpp +0 -0
  417. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/components/anharmonic_prefactor_models.hpp +0 -0
  418. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/components/anharmonic_thermal_models.hpp +0 -0
  419. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/components/bukowinski_electronic.hpp +0 -0
  420. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/components/debye_temperature_models.hpp +0 -0
  421. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/components/excess_params.hpp +0 -0
  422. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/components/gsl_params.hpp +0 -0
  423. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/components/property_modifiers.hpp +0 -0
  424. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/hp_liquid.hpp +0 -0
  425. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/make_eos.hpp +0 -0
  426. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/mie_grueneisen_debye.hpp +0 -0
  427. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/modified_tait.hpp +0 -0
  428. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/modular_mie_grueneisen_debye.hpp +0 -0
  429. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/slb.hpp +0 -0
  430. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/spock.hpp +0 -0
  431. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/eos/vinet.hpp +0 -0
  432. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/minerals/model_sets.hpp +0 -0
  433. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/optim/roots/bracket.hpp +0 -0
  434. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/optim/roots/brent.hpp +0 -0
  435. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/optim/roots/damped_newton_solver.hpp +0 -0
  436. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/optim/roots/damped_newton_state.hpp +0 -0
  437. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/optim/roots/damped_newton_types.hpp +0 -0
  438. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/averaging/averaging_base.hpp +0 -0
  439. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/averaging/averaging_schemes.hpp +0 -0
  440. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/averaging/averaging_utils.hpp +0 -0
  441. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/averaging/hs.hpp +0 -0
  442. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/averaging/hs_lower.hpp +0 -0
  443. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/averaging/hs_upper.hpp +0 -0
  444. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/averaging/reuss.hpp +0 -0
  445. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/averaging/voigt.hpp +0 -0
  446. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/averaging/vrh.hpp +0 -0
  447. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equality_constraint_base.hpp +0 -0
  448. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equality_constraint_helpers.hpp +0 -0
  449. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equality_constraints.hpp +0 -0
  450. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equilibrate.hpp +0 -0
  451. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equilibrate_impl.hpp +0 -0
  452. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equilibrate_lambda_bounds.hpp +0 -0
  453. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equilibrate_objective.hpp +0 -0
  454. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equilibrate_types.hpp +0 -0
  455. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/equilibration/equilibrate_utils.hpp +0 -0
  456. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/boundary_repair.hpp +0 -0
  457. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/calculation.hpp +0 -0
  458. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/common.hpp +0 -0
  459. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/consistency.hpp +0 -0
  460. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/continuation.hpp +0 -0
  461. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/contours.hpp +0 -0
  462. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/critical.hpp +0 -0
  463. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/domain.hpp +0 -0
  464. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/polygons.hpp +0 -0
  465. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/properties.hpp +0 -0
  466. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/refinement.hpp +0 -0
  467. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/stability.hpp +0 -0
  468. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/tracing.hpp +0 -0
  469. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/types.hpp +0 -0
  470. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram/verification.hpp +0 -0
  471. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/phase_diagram.hpp +0 -0
  472. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/tools/polytope.hpp +0 -0
  473. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/chemistry_utils.hpp +0 -0
  474. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/exceptions.hpp +0 -0
  475. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/index_utils.hpp +0 -0
  476. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/math_utils.hpp +0 -0
  477. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/matrix_utils.hpp +0 -0
  478. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/polygon_utils.hpp +0 -0
  479. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/string_utils.hpp +0 -0
  480. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/types/ndarray.hpp +0 -0
  481. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/types/types.hpp +0 -0
  482. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/utils.hpp +0 -0
  483. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/validate_optionals.hpp +0 -0
  484. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/vector_utils.hpp +0 -0
  485. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/include/burnman/utils/warnings.hpp +0 -0
  486. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/combined.cpp +0 -0
  487. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/composition.cpp +0 -0
  488. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/equilibration.cpp +0 -0
  489. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/model_sets.cpp +0 -0
  490. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/modifiers.cpp +0 -0
  491. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/phase_diagram.cpp +0 -0
  492. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/polytope.cpp +0 -0
  493. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/bindings/utils.cpp +0 -0
  494. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/anharmonic_prefactor_models.py +0 -0
  495. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/anharmonic_thermal_models.py +0 -0
  496. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/constants.py +0 -0
  497. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/debye_temperature_models.py +0 -0
  498. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/aspect.py +0 -0
  499. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/contours.py +0 -0
  500. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/equilibrium_path.py +0 -0
  501. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/phase_diagram.py +0 -0
  502. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/phase_diagram_helpers.py +0 -0
  503. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/polytope.py +0 -0
  504. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/potential_grid.py +0 -0
  505. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/burnman_cpp/tools/properties.py +0 -0
  506. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/conftest.py +0 -0
  507. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/basalt_field_verification.json +0 -0
  508. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/basalt_local_amphibole.json +0 -0
  509. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/basalt_local_plagioclase.json +0 -0
  510. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/forsterite_latent_interval.json +0 -0
  511. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/green_provisional_loops.json +0 -0
  512. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/harzburgite_garnet_composition_boundary.json +0 -0
  513. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/harzburgite_thin_composition_field.json +0 -0
  514. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_contour_ordering_field.json +0 -0
  515. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_curved_node_connections.json +0 -0
  516. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_missing_melt_connection.json +0 -0
  517. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_parallel_fields.json +0 -0
  518. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/metasediment_univariant_loop.json +0 -0
  519. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/phase_diagram_model_limit_fan.json +0 -0
  520. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_cold_endpoints.json +0 -0
  521. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_critical_endpoints.json +0 -0
  522. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_duplicate_curve.json +0 -0
  523. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_endpoints.json +0 -0
  524. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_exchanged_junction_zeros.json +0 -0
  525. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_frame_order.json +0 -0
  526. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_local_opx.json +0 -0
  527. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_missing_solution_branch.json +0 -0
  528. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_model_limit.json +0 -0
  529. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_narrow_curves.json +0 -0
  530. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_nearby_junctions.json +0 -0
  531. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_neighbouring_branches.json +0 -0
  532. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_partial_duplicate.json +0 -0
  533. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_perimeter_neighbours.json +0 -0
  534. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_pt_cold_coexistence.json +0 -0
  535. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_pt_detached_junctions.json +0 -0
  536. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_pt_garnet_stability.json +0 -0
  537. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_pt_model_limit_duplicates.json +0 -0
  538. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_pt_repair_regressions.json +0 -0
  539. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_refinement_segment.json +0 -0
  540. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_retired_junction_geometry.json +0 -0
  541. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_short_branch_labels.json +0 -0
  542. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_solution_replacement.json +0 -0
  543. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_solvus_seeds.json +0 -0
  544. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_ak_branch_switch.json +0 -0
  545. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_enthalpy_branch.json +0 -0
  546. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_soft_grid_point.json +0 -0
  547. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_sp_wrong_branch_junction.json +0 -0
  548. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/data/pyrolite_stable_vertex_loop.json +0 -0
  549. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_bindings.py +0 -0
  550. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_composition.py +0 -0
  551. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_composition_reference.py +0 -0
  552. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_constants.py +0 -0
  553. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_contour_tools.py +0 -0
  554. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_enthalpy_ps_infill.py +0 -0
  555. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_equilibration.py +0 -0
  556. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_forsterite_sections.py +0 -0
  557. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_gaussian_moment_corrected.py +0 -0
  558. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_green2025.py +0 -0
  559. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_modifiers.py +0 -0
  560. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_branch_identity.py +0 -0
  561. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_consistency.py +0 -0
  562. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_contours.py +0 -0
  563. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_critical_endpoints.py +0 -0
  564. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_incidence.py +0 -0
  565. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_line_resolution.py +0 -0
  566. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_partial_duplicates.py +0 -0
  567. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_phase_diagram_patching.py +0 -0
  568. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_polygon_utils.py +0 -0
  569. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_potential_grid.py +0 -0
  570. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_property_grid.py +0 -0
  571. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_spock.py +0 -0
  572. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_stable_equilibrium.py +0 -0
  573. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/python/tests/test_wheel_metadata.py +0 -0
  574. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/composite_material.cpp +0 -0
  575. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/composition.cpp +0 -0
  576. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/equation_of_state.cpp +0 -0
  577. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/solution_models/asymmetric_regular_solution.cpp +0 -0
  578. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/solution_models/ideal_solution.cpp +0 -0
  579. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/solution_models/solution_model_base.cpp +0 -0
  580. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/core/solution_models/symmetric_regular_solution.cpp +0 -0
  581. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/components/bukowinski_electronic.cpp +0 -0
  582. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/components/modular_mgd_models.cpp +0 -0
  583. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/components/property_modifiers.cpp +0 -0
  584. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/hp.cpp +0 -0
  585. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/hp_liquid.cpp +0 -0
  586. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/modified_tait.cpp +0 -0
  587. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/slb.cpp +0 -0
  588. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/spock.cpp +0 -0
  589. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/eos/vinet.cpp +0 -0
  590. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/optim/roots/damped_newton_solver.cpp +0 -0
  591. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/averaging/averaging_base.cpp +0 -0
  592. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/averaging/averaging_utils.cpp +0 -0
  593. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/averaging/hs.cpp +0 -0
  594. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/averaging/hs_lower.cpp +0 -0
  595. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/averaging/hs_upper.cpp +0 -0
  596. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/averaging/reuss.cpp +0 -0
  597. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/averaging/voigt.cpp +0 -0
  598. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/averaging/vrh.cpp +0 -0
  599. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/equilibration/equilibrate_impl.cpp +0 -0
  600. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/equilibration/equilibrate_lambda_bounds.cpp +0 -0
  601. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/equilibration/equilibrate_objective.cpp +0 -0
  602. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/equilibration/equilibrate_utils.cpp +0 -0
  603. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/boundary_repair.cpp +0 -0
  604. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/calculation.cpp +0 -0
  605. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/common.cpp +0 -0
  606. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/consistency.cpp +0 -0
  607. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/continuation.cpp +0 -0
  608. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/contours.cpp +0 -0
  609. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/critical.cpp +0 -0
  610. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/domain.cpp +0 -0
  611. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/polygons.cpp +0 -0
  612. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/potential.cpp +0 -0
  613. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/refinement.cpp +0 -0
  614. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/tracing.cpp +0 -0
  615. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/phase_diagram/verification.cpp +0 -0
  616. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/polytope.cpp +0 -0
  617. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/tools/solution_simplification.cpp +0 -0
  618. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/utils/chemistry_utils.cpp +0 -0
  619. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/src/utils/polygon_utils.cpp +0 -0
  620. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/core/test_assemblage.cpp +0 -0
  621. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/core/test_composition.cpp +0 -0
  622. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/core/test_material.cpp +0 -0
  623. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/core/test_solution.cpp +0 -0
  624. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/core/test_solution_model.cpp +0 -0
  625. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_birch_murnaghan.cpp +0 -0
  626. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_bukowinski_electronic.cpp +0 -0
  627. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_debye.cpp +0 -0
  628. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_einstein.cpp +0 -0
  629. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_excess_params.cpp +0 -0
  630. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_hp.cpp +0 -0
  631. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_mie_grueneisen_debye.cpp +0 -0
  632. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_modified_tait.cpp +0 -0
  633. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_property_modifiers.cpp +0 -0
  634. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_spock.cpp +0 -0
  635. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_vinet.cpp +0 -0
  636. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/eos/test_volume_accuracy.cpp +0 -0
  637. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/include/eos_names.hpp +0 -0
  638. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/include/equilibration_fixtures.hpp +0 -0
  639. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/include/solution_fixtures.hpp +0 -0
  640. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/include/thermocalc_reference.hpp +0 -0
  641. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/include/tolerances.hpp +0 -0
  642. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/optim/roots/test_damped_newton.cpp +0 -0
  643. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/optim/roots/test_roots.cpp +0 -0
  644. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/reference/ps1994.json +0 -0
  645. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/reference/thermocalc_metapelite.json +0 -0
  646. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/test_main.cpp +0 -0
  647. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/tools/averaging/test_averaging_schemes.cpp +0 -0
  648. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/tools/equilibration/test_equality_constraints.cpp +0 -0
  649. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/tools/equilibration/test_equilibrate.cpp +0 -0
  650. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/tools/equilibration/test_equilibrate_lambda_bounds.cpp +0 -0
  651. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/tools/equilibration/test_equilibrate_objective.cpp +0 -0
  652. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/tools/equilibration/test_equilibrate_utils.cpp +0 -0
  653. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_chemistry_utils.cpp +0 -0
  654. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_constants.cpp +0 -0
  655. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_exceptions.cpp +0 -0
  656. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_index_utils.cpp +0 -0
  657. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_math_utils.cpp +0 -0
  658. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_matrix_utils.cpp +0 -0
  659. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_polygon_utils.cpp +0 -0
  660. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_string_utils.cpp +0 -0
  661. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_types.cpp +0 -0
  662. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_validate_optionals.cpp +0 -0
  663. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_vector_utils.cpp +0 -0
  664. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tests/utils/test_warnings.cpp +0 -0
  665. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tools/burnman_reference.py +0 -0
  666. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tools/check_reference_data.py +0 -0
  667. {burnman_cpp-0.6.0 → burnman_cpp-0.11.1}/tools/extract_thermocalc_reference.py +0 -0
  668. {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: e2cfac31052273b3fa9d5ce905978e97723005e9
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: 20
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: 20
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: 20
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: e2cfac31052273b3fa9d5ce905978e97723005e9
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
@@ -29,3 +29,4 @@ examples/*_output/
29
29
  /benchmark-report.xml
30
30
  /python_assemblage_benchmarks.csv
31
31
  /python_mineral_benchmarks.csv
32
+ benchmarks/*/results/
@@ -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
- # Copyright (c) 2025 Benedict Heinen
1
+ # ------------------------------------------------------
2
2
  #
3
- # This file is part of burnman_cpp and is licensed under the
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
- # burnman_cpp is based on BurnMan: <https://geodynamics.github.io/burnman/>
5
+ # SPDX-FileCopyrightText: Copyright (C) 2025-2026 by the BurnMan Team.
8
6
  #
9
- # ------------------- END OF LICENSE SECTION -----------------
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
- LDFLAGS_COMMON := -lgsl -lgslcblas -lcddgmp -lgmp -lnlopt -lm
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.6.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
- Install the published package with:
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
- If no matching wheel is available, pip builds from source and needs the dependencies below.
64
+ A virtual environment is optional. To use one, run these commands before
65
+ installing:
63
66
 
64
- ### Building from source
67
+ ```sh
68
+ python -m venv .venv
69
+ source .venv/bin/activate
70
+ ```
65
71
 
66
- Source builds require:
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
- - A C++17 compiler, such as GCC or Clang.
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
- On Ubuntu:
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 python3-dev \
80
- libeigen3-dev libgsl-dev libnlopt-cxx-dev libcdd-dev libgmp-dev catch2
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 catch2
171
+ brew install python cmake pkg-config eigen gsl nlopt cddlib gmp hdf5
89
172
  ```
90
173
 
91
- Clone the repository:
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 e2cfac31052273b3fa9d5ce905978e97723005e9
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).