burnman-cpp 0.17.0__tar.gz → 0.21.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (871) hide show
  1. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/PKG-INFO +5 -1
  2. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/README.md +2 -0
  3. burnman_cpp-0.21.0/examples/data/input_compositions/SOURCES.md +11 -0
  4. burnman_cpp-0.21.0/examples/data/input_compositions/dhz_mineral_compositions.dat +5 -0
  5. burnman_cpp-0.21.0/examples/data/input_seismic/SOURCES.md +11 -0
  6. burnman_cpp-0.21.0/examples/data/input_seismic/ak135_lowermantle.txt +47 -0
  7. burnman_cpp-0.17.0/examples/green2025.py → burnman_cpp-0.21.0/examples/driver_green2025.py +75 -113
  8. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_anisotropic_mineral.py +14 -3
  9. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_anisotropy.py +16 -4
  10. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_assemblage_relaxation.py +29 -35
  11. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_basalt_phase_diagram.py +31 -43
  12. burnman_cpp-0.21.0/examples/example_build_planet.py +210 -0
  13. burnman_cpp-0.21.0/examples/example_calibrants.py +132 -0
  14. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_composite.py +3 -1
  15. burnman_cpp-0.21.0/examples/example_composition.py +229 -0
  16. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_dekoker_2013.py +21 -13
  17. burnman_cpp-0.21.0/examples/example_equilibrate.py +636 -0
  18. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_equilibrated_composite.py +6 -13
  19. burnman_cpp-0.21.0/examples/example_fit_composition.py +238 -0
  20. burnman_cpp-0.21.0/examples/example_fit_eos_with_independent_volumes.py +251 -0
  21. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_fit_solution.py +14 -3
  22. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_forsterite_thermodynamic_sections.py +31 -49
  23. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_geotherm.py +6 -10
  24. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_green2025_at1.py +6 -5
  25. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_green2025_klb1.py +6 -5
  26. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_green2025_mix1g.py +6 -4
  27. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_green2025_re46.py +6 -5
  28. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_green2025_ton101s.py +6 -6
  29. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_green2025_ton101u.py +6 -5
  30. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_harzburgite_basalt_px.py +29 -39
  31. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_hugoniot.py +37 -44
  32. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_hyperelastic_mineral.py +14 -2
  33. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_hyperelastic_stress_rates.py +14 -2
  34. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_iron_hematite_tx.py +24 -28
  35. burnman_cpp-0.21.0/examples/example_layer.py +221 -0
  36. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_metasediment_phase_diagram.py +23 -53
  37. burnman_cpp-0.21.0/examples/example_metasediment_phase_diagram_grid.py +153 -0
  38. burnman_cpp-0.21.0/examples/example_metasediment_phase_diagram_grid_step2_contours.py +194 -0
  39. burnman_cpp-0.21.0/examples/example_metasediment_phase_diagram_step2_patch.py +91 -0
  40. burnman_cpp-0.21.0/examples/example_metasediment_phase_diagram_step2_refine.py +59 -0
  41. burnman_cpp-0.21.0/examples/example_modular_mgd.py +437 -0
  42. burnman_cpp-0.21.0/examples/example_modular_mgd_with_anharmonicity.py +205 -0
  43. burnman_cpp-0.17.0/examples/example_olivine_px.py → burnman_cpp-0.21.0/examples/example_olivine_binary_plots.py +26 -29
  44. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_optimal_thermobarometry.py +8 -37
  45. burnman_cpp-0.21.0/examples/example_phase_diagram_grid_for_ASPECT.py +207 -0
  46. burnman_cpp-0.17.0/examples/example_plot_pyrolite_sp_relaxed_properties.py → burnman_cpp-0.21.0/examples/example_phase_diagram_grid_for_ASPECT_step2_properties.py +62 -67
  47. burnman_cpp-0.21.0/examples/example_pyrolite_fugacity_comparison.py +178 -0
  48. burnman_cpp-0.21.0/examples/example_pyrolite_fugacity_comparison_step2_contours.py +222 -0
  49. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_pyrolite_modebox.py +45 -40
  50. burnman_cpp-0.21.0/examples/example_pyrolite_phase_diagram.py +157 -0
  51. burnman_cpp-0.21.0/examples/example_pyrolite_sp_phase_diagram.py +215 -0
  52. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_reactions.py +3 -1
  53. burnman_cpp-0.21.0/examples/example_seismic.py +191 -0
  54. burnman_cpp-0.17.0/examples/example_solution_equilibrium.py → burnman_cpp-0.21.0/examples/example_simple_equilibrium.py +6 -11
  55. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_single_point_equilibrium.py +2 -7
  56. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_spock_gold.py +14 -12
  57. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/green2025_reference.md +8 -7
  58. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/assemblage.hpp +0 -14
  59. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/layer.hpp +2 -0
  60. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/material.hpp +18 -0
  61. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/solution_models/symmetric_regular_solution.hpp +3 -3
  62. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/minerals/model_sets.hpp +13 -4
  63. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/phase_diagram/calculation.hpp +6 -8
  64. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/phase_diagram/continuation.hpp +10 -2
  65. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/phase_diagram/properties.hpp +19 -0
  66. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/phase_diagram/types.hpp +12 -0
  67. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/pyproject.toml +5 -3
  68. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/equilibrated_composite.cpp +6 -1
  69. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/layer.cpp +7 -0
  70. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/materials.cpp +22 -15
  71. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/model_sets.cpp +9 -4
  72. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/phase_diagram.cpp +139 -60
  73. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/planet.cpp +7 -1
  74. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/radial.hpp +7 -0
  75. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/__init__.py +29 -1
  76. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/classes/anisotropicmineral.py +2 -10
  77. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/classes/anisotropicsolution.py +1 -0
  78. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/classes/equilibratedcomposite.py +0 -1
  79. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/classes/relaxedcomposite.py +0 -25
  80. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/minerals/__init__.py +4 -1
  81. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/tools/__init__.py +7 -0
  82. burnman_cpp-0.21.0/python/burnman_cpp/tools/_boundary_states.py +113 -0
  83. burnman_cpp-0.21.0/python/burnman_cpp/tools/_grid_contours.py +103 -0
  84. burnman_cpp-0.21.0/python/burnman_cpp/tools/composition_contours.py +706 -0
  85. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/tools/contours.py +0 -5
  86. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/tools/phase_diagram.py +64 -32
  87. burnman_cpp-0.21.0/python/burnman_cpp/tools/phase_diagram_labels.py +364 -0
  88. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/tools/phase_diagram_workflow.py +8 -0
  89. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/tools/properties.py +22 -8
  90. burnman_cpp-0.21.0/python/burnman_cpp/tools/property_contours.py +455 -0
  91. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/conftest.py +70 -0
  92. burnman_cpp-0.21.0/python/tests/test_anisotropic_examples.py +60 -0
  93. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_anisotropic_mineral.py +11 -0
  94. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_anisotropic_solution.py +10 -0
  95. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_anisotropy.py +39 -0
  96. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_bindings.py +13 -0
  97. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_chemistry.py +0 -44
  98. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_composite.py +12 -36
  99. burnman_cpp-0.21.0/python/tests/test_composition_contours.py +1483 -0
  100. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_composition_fitting.py +0 -50
  101. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_composition_phase_diagram.py +0 -121
  102. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_contour_tools.py +13 -5
  103. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_equilibrated_composite.py +12 -0
  104. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_equilibration.py +21 -0
  105. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_hyperelastic.py +7 -0
  106. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_layer_planet.py +76 -0
  107. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_model_sets.py +23 -19
  108. burnman_cpp-0.21.0/python/tests/test_native_minerals.py +145 -0
  109. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_averaging.py +24 -24
  110. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_composite.py +3 -3
  111. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_composition.py +58 -0
  112. burnman_cpp-0.21.0/python/tests/test_phase_diagram.py +666 -0
  113. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_phase_diagram_contours.py +8 -55
  114. burnman_cpp-0.21.0/python/tests/test_phase_diagram_labels.py +250 -0
  115. burnman_cpp-0.21.0/python/tests/test_phase_diagram_limiting_curves.py +217 -0
  116. burnman_cpp-0.21.0/python/tests/test_phase_diagram_line_resolution.py +680 -0
  117. burnman_cpp-0.21.0/python/tests/test_phase_diagram_partial_duplicates.py +52 -0
  118. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_phase_diagram_patching.py +4 -105
  119. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_phase_diagram_perimeter_labels.py +0 -66
  120. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_phase_diagram_workflow.py +24 -1
  121. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_polytope.py +2 -1
  122. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_property_grid.py +42 -144
  123. burnman_cpp-0.21.0/python/tests/test_reconstruct_assemblage.py +211 -0
  124. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_relaxed_anisotropic_solution.py +5 -0
  125. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_relaxed_composite.py +15 -0
  126. burnman_cpp-0.21.0/python/tests/test_slb2024.py +130 -0
  127. burnman_cpp-0.21.0/python/tests/test_thermodynamic_phase_diagram.py +429 -0
  128. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/assemblage.cpp +0 -11
  129. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/layer.cpp +32 -3
  130. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/material.cpp +34 -3
  131. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/planet.cpp +8 -0
  132. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/solution_models/symmetric_regular_solution.cpp +4 -0
  133. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/minerals/datasets.cpp +126 -126
  134. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/minerals/model_sets.cpp +94 -6
  135. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/phase_diagram/calculation.cpp +9 -13
  136. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/phase_diagram/continuation.cpp +169 -8
  137. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/phase_diagram/properties.cpp +77 -12
  138. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_layer_planet.cpp +17 -0
  139. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_material.cpp +39 -0
  140. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/reference/burnman.json +1 -1
  141. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/tools/test_phase_diagram.cpp +41 -0
  142. burnman_cpp-0.17.0/examples/example_build_planet.py +0 -138
  143. burnman_cpp-0.17.0/examples/example_calibrants.py +0 -33
  144. burnman_cpp-0.17.0/examples/example_composition.py +0 -43
  145. burnman_cpp-0.17.0/examples/example_equilibrate.py +0 -573
  146. burnman_cpp-0.17.0/examples/example_fit_composition.py +0 -158
  147. burnman_cpp-0.17.0/examples/example_fit_eos_with_independent_volumes.py +0 -248
  148. burnman_cpp-0.17.0/examples/example_layer.py +0 -119
  149. burnman_cpp-0.17.0/examples/example_metasediment_contours.py +0 -143
  150. burnman_cpp-0.17.0/examples/example_modular_mgd.py +0 -230
  151. burnman_cpp-0.17.0/examples/example_modular_mgd_with_anharmonicity.py +0 -82
  152. burnman_cpp-0.17.0/examples/example_olivine_tx.py +0 -37
  153. burnman_cpp-0.17.0/examples/example_olivine_vx.py +0 -35
  154. burnman_cpp-0.17.0/examples/example_patch_phase_diagram.py +0 -193
  155. burnman_cpp-0.17.0/examples/example_phase_diagram_grid.py +0 -176
  156. burnman_cpp-0.17.0/examples/example_pyrolite_phase_diagram.py +0 -309
  157. burnman_cpp-0.17.0/examples/example_pyrolite_phase_diagram_zoom.py +0 -77
  158. burnman_cpp-0.17.0/examples/example_pyrolite_sp_phase_diagram.py +0 -153
  159. burnman_cpp-0.17.0/examples/example_refine_phase_diagram.py +0 -120
  160. burnman_cpp-0.17.0/examples/example_seismic.py +0 -56
  161. burnman_cpp-0.17.0/python/tests/data/basalt_local_plagioclase.json +0 -1
  162. burnman_cpp-0.17.0/python/tests/data/basalt_nearby_bivariant_junctions.json +0 -11868
  163. burnman_cpp-0.17.0/python/tests/data/harzburgite_garnet_composition_boundary.json +0 -443
  164. burnman_cpp-0.17.0/python/tests/data/harzburgite_thin_composition_field.json +0 -466
  165. burnman_cpp-0.17.0/python/tests/data/metasediment_contour_field.json +0 -847
  166. burnman_cpp-0.17.0/python/tests/data/metasediment_curved_mica_field.json +0 -7593
  167. burnman_cpp-0.17.0/python/tests/data/metasediment_curved_node_connections.json +0 -23451
  168. burnman_cpp-0.17.0/python/tests/data/metasediment_endpoints.json +0 -1457
  169. burnman_cpp-0.17.0/python/tests/data/metasediment_missing_melt_connection.json +0 -1
  170. burnman_cpp-0.17.0/python/tests/data/metasediment_thin_finite_field.json +0 -2684
  171. burnman_cpp-0.17.0/python/tests/data/metasediment_univariant_segments.json +0 -2173
  172. burnman_cpp-0.17.0/python/tests/data/pyrolite_cold_endpoints.json +0 -1070
  173. burnman_cpp-0.17.0/python/tests/data/pyrolite_critical_endpoints.json +0 -1
  174. burnman_cpp-0.17.0/python/tests/data/pyrolite_crossed_loops.json +0 -10306
  175. burnman_cpp-0.17.0/python/tests/data/pyrolite_duplicate_curve.json +0 -1174
  176. burnman_cpp-0.17.0/python/tests/data/pyrolite_duplicate_junctions.json +0 -40035
  177. burnman_cpp-0.17.0/python/tests/data/pyrolite_endpoints.json +0 -775
  178. burnman_cpp-0.17.0/python/tests/data/pyrolite_exchanged_junction_zeros.json +0 -1
  179. burnman_cpp-0.17.0/python/tests/data/pyrolite_local_opx.json +0 -16585
  180. burnman_cpp-0.17.0/python/tests/data/pyrolite_model_limit.json +0 -288
  181. burnman_cpp-0.17.0/python/tests/data/pyrolite_narrow_curves.json +0 -138
  182. burnman_cpp-0.17.0/python/tests/data/pyrolite_narrow_solution_replacement.json +0 -571
  183. burnman_cpp-0.17.0/python/tests/data/pyrolite_nearby_junctions.json +0 -1134
  184. burnman_cpp-0.17.0/python/tests/data/pyrolite_nearby_univariant_junctions.json +0 -9236
  185. burnman_cpp-0.17.0/python/tests/data/pyrolite_neighbouring_branches.json +0 -1737
  186. burnman_cpp-0.17.0/python/tests/data/pyrolite_partial_duplicate.json +0 -5912
  187. burnman_cpp-0.17.0/python/tests/data/pyrolite_pt_coincident_phase_outs.json +0 -1
  188. burnman_cpp-0.17.0/python/tests/data/pyrolite_pt_cold_coexistence.json +0 -1
  189. burnman_cpp-0.17.0/python/tests/data/pyrolite_pt_cold_model_limits.json +0 -1
  190. burnman_cpp-0.17.0/python/tests/data/pyrolite_pt_cold_reaction_duplicates.json +0 -1
  191. burnman_cpp-0.17.0/python/tests/data/pyrolite_pt_detached_junctions.json +0 -1
  192. burnman_cpp-0.17.0/python/tests/data/pyrolite_pt_equivalent_reaction_curves.json +0 -1
  193. burnman_cpp-0.17.0/python/tests/data/pyrolite_pt_garnet_stability.json +0 -1085
  194. burnman_cpp-0.17.0/python/tests/data/pyrolite_pt_model_limit_duplicates.json +0 -1
  195. burnman_cpp-0.17.0/python/tests/data/pyrolite_pt_repair_regressions.json +0 -1
  196. burnman_cpp-0.17.0/python/tests/data/pyrolite_refinement_segment.json +0 -1033
  197. burnman_cpp-0.17.0/python/tests/data/pyrolite_short_branch_labels.json +0 -922
  198. burnman_cpp-0.17.0/python/tests/data/pyrolite_solution_replacement.json +0 -1208
  199. burnman_cpp-0.17.0/python/tests/data/pyrolite_solvus_seeds.json +0 -363
  200. burnman_cpp-0.17.0/python/tests/data/pyrolite_sp_ak_branch_switch.json +0 -185
  201. burnman_cpp-0.17.0/python/tests/data/pyrolite_sp_cf_copy_junctions.json +0 -2447
  202. burnman_cpp-0.17.0/python/tests/data/pyrolite_sp_enthalpy_branch.json +0 -2290
  203. burnman_cpp-0.17.0/python/tests/data/pyrolite_sp_failed_bracket.json +0 -679
  204. burnman_cpp-0.17.0/python/tests/data/pyrolite_sp_false_cpx_junction.json +0 -2967
  205. burnman_cpp-0.17.0/python/tests/data/pyrolite_sp_false_junction.json +0 -1820
  206. burnman_cpp-0.17.0/python/tests/data/pyrolite_sp_junction.json +0 -2473
  207. burnman_cpp-0.17.0/python/tests/data/pyrolite_sp_missing_ak_boundary.json +0 -3255
  208. burnman_cpp-0.17.0/python/tests/data/pyrolite_sp_reaction_classification.json +0 -1
  209. burnman_cpp-0.17.0/python/tests/data/pyrolite_sp_soft_grid_point.json +0 -596
  210. burnman_cpp-0.17.0/python/tests/data/pyrolite_sp_trace_site_junctions.json +0 -10802
  211. burnman_cpp-0.17.0/python/tests/data/pyrolite_sp_trace_site_response.json +0 -1
  212. burnman_cpp-0.17.0/python/tests/data/pyrolite_sp_unconnected_junctions.json +0 -2981
  213. burnman_cpp-0.17.0/python/tests/data/pyrolite_sp_wrong_branch_junction.json +0 -1110
  214. burnman_cpp-0.17.0/python/tests/test_anisotropic_examples.py +0 -159
  215. burnman_cpp-0.17.0/python/tests/test_dekoker_example.py +0 -80
  216. burnman_cpp-0.17.0/python/tests/test_example_fit_eos.py +0 -272
  217. burnman_cpp-0.17.0/python/tests/test_forsterite_sections.py +0 -222
  218. burnman_cpp-0.17.0/python/tests/test_green2025.py +0 -96
  219. burnman_cpp-0.17.0/python/tests/test_hyperelastic_examples.py +0 -75
  220. burnman_cpp-0.17.0/python/tests/test_native_minerals.py +0 -106
  221. burnman_cpp-0.17.0/python/tests/test_phase_diagram.py +0 -1369
  222. burnman_cpp-0.17.0/python/tests/test_phase_diagram_branch_identity.py +0 -105
  223. burnman_cpp-0.17.0/python/tests/test_phase_diagram_consistency.py +0 -109
  224. burnman_cpp-0.17.0/python/tests/test_phase_diagram_critical_endpoints.py +0 -105
  225. burnman_cpp-0.17.0/python/tests/test_phase_diagram_line_resolution.py +0 -1762
  226. burnman_cpp-0.17.0/python/tests/test_phase_diagram_partial_duplicates.py +0 -102
  227. burnman_cpp-0.17.0/python/tests/test_slb2024.py +0 -662
  228. burnman_cpp-0.17.0/python/tests/test_thermodynamic_phase_diagram.py +0 -986
  229. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/.clang-format +0 -0
  230. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/.github/workflows/benchmarks.yml +0 -0
  231. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/.github/workflows/format.yml +0 -0
  232. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/.github/workflows/tests.yml +0 -0
  233. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/.github/workflows/wheels.yml +0 -0
  234. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/.gitignore +0 -0
  235. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/CMakeLists.txt +0 -0
  236. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/LICENSE +0 -0
  237. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/Makefile +0 -0
  238. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/README.md +0 -0
  239. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/core/benchmark_assemblage.cpp +0 -0
  240. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/core/benchmark_mineral.cpp +0 -0
  241. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/cpp_python_speedup.py +0 -0
  242. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/dekoker_2013/README.md +0 -0
  243. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/dekoker_2013/benchmark.py +0 -0
  244. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/dekoker_2013/extract_reference.py +0 -0
  245. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/dekoker_2013/reference/Mg2SiO4.png +0 -0
  246. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/dekoker_2013/reference/Mg3Si2O7.png +0 -0
  247. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/dekoker_2013/reference/Mg5SiO7.png +0 -0
  248. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/dekoker_2013/reference/MgO.png +0 -0
  249. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/dekoker_2013/reference/MgSi2O5.png +0 -0
  250. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/dekoker_2013/reference/MgSi3O7.png +0 -0
  251. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/dekoker_2013/reference/MgSi5O11.png +0 -0
  252. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/dekoker_2013/reference/MgSiO3.png +0 -0
  253. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/dekoker_2013/reference/SiO2.png +0 -0
  254. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/dekoker_2013/reference/endmembers.json +0 -0
  255. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/eos/benchmark_property_modifiers.cpp +0 -0
  256. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/parse_benchmarks.py +0 -0
  257. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/pitzer_sterner_1995/README.md +0 -0
  258. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/pitzer_sterner_1995/benchmark.py +0 -0
  259. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/pitzer_sterner_1995/reference/figure1.json +0 -0
  260. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/pitzer_sterner_1995/reference/figure1.png +0 -0
  261. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/python_benchmarks.py +0 -0
  262. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/requirements.txt +0 -0
  263. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/stixrude_2024.py +0 -0
  264. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/stixrude_2024_figure13/README.md +0 -0
  265. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/stixrude_2024_figure13/benchmark.py +0 -0
  266. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/stixrude_2024_figure13/overlay.py +0 -0
  267. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/stixrude_2024_figure13/reference/axis_registration.json +0 -0
  268. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/stixrude_2024_figure13/reference/figure13.svg +0 -0
  269. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/stixrude_2024_figure14/README.md +0 -0
  270. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/stixrude_2024_figure14/benchmark.py +0 -0
  271. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/stixrude_2024_figure14/geotherm.py +0 -0
  272. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/stixrude_2024_figure14/overlay.py +0 -0
  273. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/stixrude_2024_figure14/reference/axis_registration.json +0 -0
  274. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/stixrude_2024_figure14/reference/expansivity.jpg +0 -0
  275. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/benchmarks/stixrude_2024_figure14/reference/figure14.svg +0 -0
  276. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/cmake/EmbedCovariance.cmake +0 -0
  277. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/data/input_fitting/Bertka_Fei_1997_mars_mantle.dat +0 -0
  278. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/data/input_fitting/Dubrovinsky_Saxena_1997_TV_periclase.dat +0 -0
  279. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/data/input_fitting/Hazen_1976_TV_periclase.dat +0 -0
  280. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/data/input_fitting/PVT_MgO_Dewaele_et_al_2000.dat +0 -0
  281. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/data/input_fitting/SOURCES.md +0 -0
  282. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/data/input_fitting/Victor_Douglas_1963_deltaH_MgO.dat +0 -0
  283. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/examples/example_fit_eos.py +0 -0
  284. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/calibrants/catalogue.hpp +0 -0
  285. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/calibrants/tools.hpp +0 -0
  286. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/anisotropic_mineral.hpp +0 -0
  287. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/anisotropic_solution.hpp +0 -0
  288. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/anisotropy.hpp +0 -0
  289. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/calibrant.hpp +0 -0
  290. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/combined_mineral.hpp +0 -0
  291. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/composite_material.hpp +0 -0
  292. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/composition.hpp +0 -0
  293. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/equation_of_state.hpp +0 -0
  294. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/equilibrated_composite.hpp +0 -0
  295. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/geotherm.hpp +0 -0
  296. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/hyperelastic.hpp +0 -0
  297. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/mineral.hpp +0 -0
  298. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/planet.hpp +0 -0
  299. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/relaxed_anisotropic_solution.hpp +0 -0
  300. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/relaxed_composite.hpp +0 -0
  301. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/relaxed_solution.hpp +0 -0
  302. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/seismic.hpp +0 -0
  303. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/solution.hpp +0 -0
  304. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/solution_model.hpp +0 -0
  305. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/solution_models/asymmetric_regular_solution.hpp +0 -0
  306. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/solution_models/ideal_solution.hpp +0 -0
  307. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/solution_models/mechanical_solution.hpp +0 -0
  308. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/solution_models/polynomial_solution.hpp +0 -0
  309. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/solution_models/solution_model_base.hpp +0 -0
  310. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/core/solution_models/subregular_solution.hpp +0 -0
  311. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/aa.hpp +0 -0
  312. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/birch_murnaghan.hpp +0 -0
  313. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/brosh_calphad.hpp +0 -0
  314. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/components/anharmonic_debye.hpp +0 -0
  315. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/components/anharmonic_prefactor_models.hpp +0 -0
  316. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/components/anharmonic_thermal_models.hpp +0 -0
  317. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/components/bukowinski_electronic.hpp +0 -0
  318. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/components/debye.hpp +0 -0
  319. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/components/debye_temperature_models.hpp +0 -0
  320. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/components/einstein.hpp +0 -0
  321. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/components/excess_params.hpp +0 -0
  322. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/components/gsl_params.hpp +0 -0
  323. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/components/property_modifiers.hpp +0 -0
  324. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/cork.hpp +0 -0
  325. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/dks_liquid.hpp +0 -0
  326. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/dks_solid.hpp +0 -0
  327. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/hp.hpp +0 -0
  328. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/hp98.hpp +0 -0
  329. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/hp_liquid.hpp +0 -0
  330. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/macaw.hpp +0 -0
  331. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/make_eos.hpp +0 -0
  332. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/mie_grueneisen_debye.hpp +0 -0
  333. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/modified_tait.hpp +0 -0
  334. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/modular_mie_grueneisen_debye.hpp +0 -0
  335. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/morse_potential.hpp +0 -0
  336. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/murnaghan.hpp +0 -0
  337. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/pitzer_sterner.hpp +0 -0
  338. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/reciprocal_kprime.hpp +0 -0
  339. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/slb.hpp +0 -0
  340. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/spock.hpp +0 -0
  341. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/eos/vinet.hpp +0 -0
  342. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/minerals/SE_2015.hpp +0 -0
  343. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/minerals/covariance.hpp +0 -0
  344. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/minerals/datasets.hpp +0 -0
  345. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/minerals/other.hpp +0 -0
  346. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/minerals/phase_aliases.hpp +0 -0
  347. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/minerals/water.hpp +0 -0
  348. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/optim/composition_fitting.hpp +0 -0
  349. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/optim/eos_fitting.hpp +0 -0
  350. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/optim/linear_fitting.hpp +0 -0
  351. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/optim/nonlinear_fitting.hpp +0 -0
  352. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/optim/roots/bracket.hpp +0 -0
  353. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/optim/roots/brent.hpp +0 -0
  354. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/optim/roots/damped_newton_solver.hpp +0 -0
  355. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/optim/roots/damped_newton_state.hpp +0 -0
  356. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/optim/roots/damped_newton_types.hpp +0 -0
  357. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/averaging/averaging_base.hpp +0 -0
  358. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/averaging/averaging_schemes.hpp +0 -0
  359. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/averaging/averaging_utils.hpp +0 -0
  360. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/averaging/hs.hpp +0 -0
  361. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/averaging/hs_lower.hpp +0 -0
  362. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/averaging/hs_upper.hpp +0 -0
  363. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/averaging/reuss.hpp +0 -0
  364. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/averaging/voigt.hpp +0 -0
  365. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/averaging/vrh.hpp +0 -0
  366. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/chemistry.hpp +0 -0
  367. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/equilibration/equality_constraint_base.hpp +0 -0
  368. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/equilibration/equality_constraint_helpers.hpp +0 -0
  369. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/equilibration/equality_constraint_variants.hpp +0 -0
  370. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/equilibration/equality_constraints.hpp +0 -0
  371. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/equilibration/equilibrate.hpp +0 -0
  372. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/equilibration/equilibrate_impl.hpp +0 -0
  373. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/equilibration/equilibrate_lambda_bounds.hpp +0 -0
  374. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/equilibration/equilibrate_objective.hpp +0 -0
  375. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/equilibration/equilibrate_types.hpp +0 -0
  376. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/equilibration/equilibrate_utils.hpp +0 -0
  377. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/partitioning.hpp +0 -0
  378. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/phase_diagram/boundary_repair.hpp +0 -0
  379. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/phase_diagram/common.hpp +0 -0
  380. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/phase_diagram/consistency.hpp +0 -0
  381. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/phase_diagram/contours.hpp +0 -0
  382. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/phase_diagram/critical.hpp +0 -0
  383. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/phase_diagram/domain.hpp +0 -0
  384. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/phase_diagram/polygons.hpp +0 -0
  385. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/phase_diagram/refinement.hpp +0 -0
  386. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/phase_diagram/stability.hpp +0 -0
  387. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/phase_diagram/tracing.hpp +0 -0
  388. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/phase_diagram/verification.hpp +0 -0
  389. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/phase_diagram.hpp +0 -0
  390. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/polytope.hpp +0 -0
  391. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/seismic.hpp +0 -0
  392. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/tools/thermobarometry.hpp +0 -0
  393. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/utils/anisotropy.hpp +0 -0
  394. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/utils/chemistry_utils.hpp +0 -0
  395. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/utils/constants.hpp +0 -0
  396. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/utils/exceptions.hpp +0 -0
  397. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/utils/index_utils.hpp +0 -0
  398. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/utils/math_utils.hpp +0 -0
  399. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/utils/matrix_utils.hpp +0 -0
  400. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/utils/polygon_utils.hpp +0 -0
  401. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/utils/string_utils.hpp +0 -0
  402. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/utils/types/mineral_params.hpp +0 -0
  403. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/utils/types/ndarray.hpp +0 -0
  404. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/utils/types/simple_types.hpp +0 -0
  405. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/utils/types/types.hpp +0 -0
  406. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/utils/unitcell.hpp +0 -0
  407. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/utils/utils.hpp +0 -0
  408. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/utils/validate_optionals.hpp +0 -0
  409. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/utils/vector_utils.hpp +0 -0
  410. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/include/burnman/utils/warnings.hpp +0 -0
  411. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/anisotropic_mineral.cpp +0 -0
  412. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/anisotropic_solution.cpp +0 -0
  413. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/anisotropy.cpp +0 -0
  414. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/bindings.hpp +0 -0
  415. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/calibrant_catalogue.hpp +0 -0
  416. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/calibrants.cpp +0 -0
  417. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/chemistry.cpp +0 -0
  418. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/combined.cpp +0 -0
  419. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/composition.cpp +0 -0
  420. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/composition_fitting.cpp +0 -0
  421. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/eos.cpp +0 -0
  422. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/eos_fitting.cpp +0 -0
  423. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/equilibration.cpp +0 -0
  424. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/geotherm.cpp +0 -0
  425. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/hyperelastic.cpp +0 -0
  426. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/linear_fitting.cpp +0 -0
  427. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/minerals.cpp +0 -0
  428. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/modifiers.cpp +0 -0
  429. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/module.cpp +0 -0
  430. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/nonlinear_fitting.cpp +0 -0
  431. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/params.cpp +0 -0
  432. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/polytope.cpp +0 -0
  433. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/relaxed_anisotropic_solution.cpp +0 -0
  434. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/seismic.cpp +0 -0
  435. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/solutions.cpp +0 -0
  436. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/thermal_components.cpp +0 -0
  437. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/thermobarometry.cpp +0 -0
  438. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/bindings/utils.cpp +0 -0
  439. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/adapters.py +0 -0
  440. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/anharmonic_prefactor_models.py +0 -0
  441. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/anharmonic_thermal_models.py +0 -0
  442. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Anderson_1989.py +0 -0
  443. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Armentrout_2015.py +0 -0
  444. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Campbell_2009.py +0 -0
  445. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Chidester_2021.py +0 -0
  446. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Decker_1971.py +0 -0
  447. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Dewaele_2008.py +0 -0
  448. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Dewaele_2012.py +0 -0
  449. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Dewaele_2013.py +0 -0
  450. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Dewaele_2020.py +0 -0
  451. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Dorogokupets_2007.py +0 -0
  452. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Dorogokupets_2017.py +0 -0
  453. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Dubrovinsky_1998.py +0 -0
  454. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Fei_2007.py +0 -0
  455. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Fei_2016.py +0 -0
  456. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Holmes_1989.py +0 -0
  457. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Huang_2016.py +0 -0
  458. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/LeGodec_2000.py +0 -0
  459. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Litasov_2013.py +0 -0
  460. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Matsui_2009.py +0 -0
  461. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Matsui_2010.py +0 -0
  462. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Matsui_2012.py +0 -0
  463. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Miozzi_2020.py +0 -0
  464. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Ono_2022.py +0 -0
  465. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Pigott_2015.py +0 -0
  466. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Shi_2022.py +0 -0
  467. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Shim_2002.py +0 -0
  468. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Sokolova_2013.py +0 -0
  469. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Speziale_2001.py +0 -0
  470. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Tange_2009.py +0 -0
  471. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Tateno_2019.py +0 -0
  472. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Tsuchiya_2003.py +0 -0
  473. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Walker_2002.py +0 -0
  474. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Zeng_2010.py +0 -0
  475. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Zha_2004.py +0 -0
  476. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Zha_2008.py +0 -0
  477. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Zhang_1999.py +0 -0
  478. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Zhao_1997.py +0 -0
  479. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/Zhao_2000.py +0 -0
  480. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/__init__.py +0 -0
  481. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/calibrants/tools.py +0 -0
  482. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/classes/__init__.py +0 -0
  483. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/classes/anisotropy.py +0 -0
  484. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/classes/calibrant.py +0 -0
  485. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/classes/geotherm.py +0 -0
  486. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/classes/hyperelastic.py +0 -0
  487. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/classes/layer.py +0 -0
  488. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/classes/planet.py +0 -0
  489. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/classes/seismic.py +0 -0
  490. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/constants.py +0 -0
  491. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/debye_temperature_models.py +0 -0
  492. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/eos/__init__.py +0 -0
  493. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/eos/anharmonic_debye.py +0 -0
  494. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/eos/bukowinski_electronic.py +0 -0
  495. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/eos/debye.py +0 -0
  496. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/eos/einstein.py +0 -0
  497. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/minerals/Pitzer_Sterner_1994.py +0 -0
  498. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/minerals/SE_2015.py +0 -0
  499. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/optimize/__init__.py +0 -0
  500. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/optimize/_fitting_plots.py +0 -0
  501. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/optimize/composition_fitting.py +0 -0
  502. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/optimize/eos_fitting.py +0 -0
  503. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/optimize/linear_fitting.py +0 -0
  504. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/optimize/nonlinear_fitting.py +0 -0
  505. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/tools/aspect.py +0 -0
  506. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/tools/chemistry.py +0 -0
  507. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/tools/eos.py +0 -0
  508. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/tools/equilibrium_path.py +0 -0
  509. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/tools/partitioning.py +0 -0
  510. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/tools/phase_diagram_helpers.py +0 -0
  511. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/tools/plot.py +0 -0
  512. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/tools/polytope.py +0 -0
  513. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/tools/potential_grid.py +0 -0
  514. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/tools/seismic.py +0 -0
  515. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/tools/thermobarometry.py +0 -0
  516. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/utils/__init__.py +0 -0
  517. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/utils/anisotropy.py +0 -0
  518. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/utils/chemistry.py +0 -0
  519. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/utils/math.py +0 -0
  520. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/utils/misc.py +0 -0
  521. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/utils/plotting.py +0 -0
  522. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/utils/reductions.py +0 -0
  523. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/burnman_cpp/utils/unitcell.py +0 -0
  524. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/Pearson_York.dat +0 -0
  525. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/basalt_field_verification.json +0 -0
  526. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/basalt_local_amphibole.json +0 -0
  527. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/forsterite_latent_interval.json +0 -0
  528. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/green_provisional_loops.json +0 -0
  529. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/metasediment_contour_ordering_field.json +0 -0
  530. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/metasediment_curve_edit.json +0 -0
  531. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/metasediment_ordering_segment.json +0 -0
  532. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/metasediment_parallel_fields.json +0 -0
  533. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/metasediment_univariant_loop.json +0 -0
  534. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/phase_diagram_model_limit_fan.json +0 -0
  535. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/pyrolite_duplicate_invariant.json +0 -0
  536. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/pyrolite_frame_order.json +0 -0
  537. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/pyrolite_limiting_neighbours.json +0 -0
  538. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/pyrolite_missing_solution_branch.json +0 -0
  539. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/pyrolite_perimeter_neighbours.json +0 -0
  540. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/pyrolite_reaction_extents.json +0 -0
  541. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/pyrolite_retired_junction_geometry.json +0 -0
  542. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/pyrolite_stable_vertex_loop.json +0 -0
  543. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/data/pyrolite_zoom_reaction_limits.json +0 -0
  544. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/original_test_support.py +0 -0
  545. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_aa.py +0 -0
  546. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_adapters.py +0 -0
  547. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_aspect_table.py +0 -0
  548. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_brosh_calphad.py +0 -0
  549. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_calibrants.py +0 -0
  550. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_complete_datasets.py +0 -0
  551. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_composition.py +0 -0
  552. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_composition_reference.py +0 -0
  553. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_confidence_prediction_bands.py +0 -0
  554. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_constants.py +0 -0
  555. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_cork.py +0 -0
  556. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_covariance.py +0 -0
  557. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_dekoker_endmembers.py +0 -0
  558. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_dks.py +0 -0
  559. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_effective_moduli.py +0 -0
  560. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_enthalpy_ps_infill.py +0 -0
  561. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_eos_consistency.py +0 -0
  562. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_eos_fitting.py +0 -0
  563. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_eos_fitting_volumes.py +0 -0
  564. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_equilibrium_path.py +0 -0
  565. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_figure13_benchmark.py +0 -0
  566. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_figure14_benchmark.py +0 -0
  567. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_fitting_diagnostics.py +0 -0
  568. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_gaussian_moment_corrected.py +0 -0
  569. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_geotherm.py +0 -0
  570. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_hp98.py +0 -0
  571. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_hp_datasets.py +0 -0
  572. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_imports.py +0 -0
  573. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_linear_fitting.py +0 -0
  574. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_macaw.py +0 -0
  575. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_mechanical_solution.py +0 -0
  576. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_melt.py +0 -0
  577. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_mineral_catalogue_reference.py +0 -0
  578. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_modifiers.py +0 -0
  579. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_modular_mgd.py +0 -0
  580. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_morse_potential.py +0 -0
  581. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_murnaghan.py +0 -0
  582. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_native_failure_reference.py +0 -0
  583. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_nonlinear_fitting.py +0 -0
  584. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_aa.py +0 -0
  585. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_anharmonic.py +0 -0
  586. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_anisotropicmineral.py +0 -0
  587. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_anisotropicsolution.py +0 -0
  588. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_anisotropy.py +0 -0
  589. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_brosh_calphad.py +0 -0
  590. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_calibrants.py +0 -0
  591. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_chemical_potentials.py +0 -0
  592. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_confidence_prediction_bands.py +0 -0
  593. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_debye.py +0 -0
  594. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_decorators.py +0 -0
  595. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_einstein.py +0 -0
  596. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_endmembers.py +0 -0
  597. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_eos.py +0 -0
  598. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_eos_consistency.py +0 -0
  599. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_equilibration.py +0 -0
  600. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_fitting.py +0 -0
  601. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_geotherm.py +0 -0
  602. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_hp_solutions.py +0 -0
  603. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_hyperelastic.py +0 -0
  604. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_ig51_solutions.py +0 -0
  605. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_layer.py +0 -0
  606. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_material.py +0 -0
  607. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_minerals.py +0 -0
  608. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_modifiers.py +0 -0
  609. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_modular_mgd.py +0 -0
  610. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_partitioning.py +0 -0
  611. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_pitzer_sterner.py +0 -0
  612. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_planet.py +0 -0
  613. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_polytope.py +0 -0
  614. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_processchemistry.py +0 -0
  615. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_radial_structure.py +0 -0
  616. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_seismic.py +0 -0
  617. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_solution.py +0 -0
  618. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_tools.py +0 -0
  619. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_original_utils.py +0 -0
  620. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_phase_diagram_incidence.py +0 -0
  621. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_phase_diagram_plot.py +0 -0
  622. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_pitzer_sterner.py +0 -0
  623. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_polygon_utils.py +0 -0
  624. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_polynomial_solution.py +0 -0
  625. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_potential_grid.py +0 -0
  626. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_reciprocal_kprime.py +0 -0
  627. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_reference_tools.py +0 -0
  628. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_seismic.py +0 -0
  629. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_slb_datasets.py +0 -0
  630. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_slb_reference.py +0 -0
  631. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_solution_fitting.py +0 -0
  632. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_spock.py +0 -0
  633. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_stable_equilibrium.py +0 -0
  634. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_subregular_solution.py +0 -0
  635. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_thermal_components.py +0 -0
  636. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_thermobarometry.py +0 -0
  637. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_wheel_dependencies.py +0 -0
  638. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/python/tests/test_wheel_metadata.py +0 -0
  639. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/calibrants/catalogue.cpp +0 -0
  640. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/calibrants/differentiation.hpp +0 -0
  641. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/calibrants/models.hpp +0 -0
  642. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/calibrants/tools.cpp +0 -0
  643. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/anisotropic_mineral.cpp +0 -0
  644. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/anisotropic_solution.cpp +0 -0
  645. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/anisotropy.cpp +0 -0
  646. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/calibrant.cpp +0 -0
  647. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/combined_mineral.cpp +0 -0
  648. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/composite_material.cpp +0 -0
  649. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/composition.cpp +0 -0
  650. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/equation_of_state.cpp +0 -0
  651. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/equilibrated_composite.cpp +0 -0
  652. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/geotherm.cpp +0 -0
  653. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/hyperelastic.cpp +0 -0
  654. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/mineral.cpp +0 -0
  655. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/radial_profile.hpp +0 -0
  656. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/relaxed_anisotropic_solution.cpp +0 -0
  657. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/relaxed_composite.cpp +0 -0
  658. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/relaxed_solution.cpp +0 -0
  659. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/seismic.cpp +0 -0
  660. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/solution.cpp +0 -0
  661. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/solution_models/asymmetric_regular_solution.cpp +0 -0
  662. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/solution_models/ideal_solution.cpp +0 -0
  663. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/solution_models/mechanical_solution.cpp +0 -0
  664. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/solution_models/polynomial_solution.cpp +0 -0
  665. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/solution_models/solution_model_base.cpp +0 -0
  666. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/core/solution_models/subregular_solution.cpp +0 -0
  667. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/covariance.cpp +0 -0
  668. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/geotherm_data.hpp +0 -0
  669. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_covariance/HGP_2018_ds633_cov.h5 +0 -0
  670. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_covariance/HP_2011_ds62_cov.h5 +0 -0
  671. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_covariance/HPx_ds636_cov.h5 +0 -0
  672. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_geotherm/Anzellini_2013_PT.txt +0 -0
  673. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_geotherm/Katsura_2022.txt +0 -0
  674. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_geotherm/Plesa_2022_Mars_V_6cm3.txt +0 -0
  675. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_geotherm/SOURCES.md +0 -0
  676. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_geotherm/Stacey_1977_continents.txt +0 -0
  677. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_geotherm/Stacey_1977_oceans.txt +0 -0
  678. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_geotherm/anderson_82.txt +0 -0
  679. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_geotherm/brown_81.txt +0 -0
  680. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_seismic/SOURCES.md +0 -0
  681. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_seismic/STW105.txt +0 -0
  682. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_seismic/ak135.txt +0 -0
  683. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_seismic/iasp91.txt +0 -0
  684. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_seismic/prem.txt +0 -0
  685. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_seismic/pwave_fast.txt +0 -0
  686. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_seismic/pwave_slow.txt +0 -0
  687. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_seismic/swave_fast.txt +0 -0
  688. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/input_seismic/swave_slow.txt +0 -0
  689. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/read_table.cpp +0 -0
  690. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/read_table.hpp +0 -0
  691. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/data/seismic_data.hpp +0 -0
  692. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/aa.cpp +0 -0
  693. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/birch_murnaghan.cpp +0 -0
  694. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/brosh_calphad.cpp +0 -0
  695. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/components/anharmonic_debye.cpp +0 -0
  696. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/components/bukowinski_electronic.cpp +0 -0
  697. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/components/debye.cpp +0 -0
  698. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/components/einstein.cpp +0 -0
  699. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/components/modular_mgd_models.cpp +0 -0
  700. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/components/property_modifiers.cpp +0 -0
  701. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/cork.cpp +0 -0
  702. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/dks_common.hpp +0 -0
  703. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/dks_liquid.cpp +0 -0
  704. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/dks_solid.cpp +0 -0
  705. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/hp.cpp +0 -0
  706. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/hp98.cpp +0 -0
  707. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/hp_liquid.cpp +0 -0
  708. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/macaw.cpp +0 -0
  709. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/make_eos.cpp +0 -0
  710. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/mie_grueneisen_debye.cpp +0 -0
  711. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/modified_tait.cpp +0 -0
  712. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/modular_mie_grueneisen_debye.cpp +0 -0
  713. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/morse_potential.cpp +0 -0
  714. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/murnaghan.cpp +0 -0
  715. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/pitzer_sterner.cpp +0 -0
  716. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/reciprocal_kprime.cpp +0 -0
  717. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/reference_states.hpp +0 -0
  718. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/slb.cpp +0 -0
  719. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/spock.cpp +0 -0
  720. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/eos/vinet.cpp +0 -0
  721. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/minerals/SE_2015.cpp +0 -0
  722. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/minerals/other.cpp +0 -0
  723. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/minerals/phase_aliases.cpp +0 -0
  724. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/minerals/water.cpp +0 -0
  725. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/optim/composition_fitting.cpp +0 -0
  726. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/optim/eos_fitting.cpp +0 -0
  727. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/optim/linear_fitting.cpp +0 -0
  728. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/optim/nonlinear_fitting.cpp +0 -0
  729. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/optim/roots/damped_newton_solver.cpp +0 -0
  730. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/averaging/averaging_base.cpp +0 -0
  731. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/averaging/averaging_utils.cpp +0 -0
  732. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/averaging/hs.cpp +0 -0
  733. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/averaging/hs_lower.cpp +0 -0
  734. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/averaging/hs_upper.cpp +0 -0
  735. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/averaging/reuss.cpp +0 -0
  736. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/averaging/voigt.cpp +0 -0
  737. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/averaging/vrh.cpp +0 -0
  738. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/chemistry.cpp +0 -0
  739. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/equilibration/equality_constraint_variants.cpp +0 -0
  740. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/equilibration/equilibrate_impl.cpp +0 -0
  741. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/equilibration/equilibrate_lambda_bounds.cpp +0 -0
  742. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/equilibration/equilibrate_objective.cpp +0 -0
  743. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/equilibration/equilibrate_utils.cpp +0 -0
  744. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/partitioning.cpp +0 -0
  745. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/phase_diagram/boundary_repair.cpp +0 -0
  746. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/phase_diagram/common.cpp +0 -0
  747. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/phase_diagram/consistency.cpp +0 -0
  748. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/phase_diagram/contours.cpp +0 -0
  749. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/phase_diagram/critical.cpp +0 -0
  750. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/phase_diagram/domain.cpp +0 -0
  751. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/phase_diagram/polygons.cpp +0 -0
  752. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/phase_diagram/potential.cpp +0 -0
  753. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/phase_diagram/refinement.cpp +0 -0
  754. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/phase_diagram/stability.cpp +0 -0
  755. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/phase_diagram/tracing.cpp +0 -0
  756. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/phase_diagram/verification.cpp +0 -0
  757. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/polytope.cpp +0 -0
  758. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/seismic.cpp +0 -0
  759. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/solution_simplification.cpp +0 -0
  760. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/tools/thermobarometry.cpp +0 -0
  761. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/utils/anisotropy.cpp +0 -0
  762. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/utils/chemistry_utils.cpp +0 -0
  763. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/utils/polygon_utils.cpp +0 -0
  764. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/src/utils/unitcell.cpp +0 -0
  765. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_anisotropic_mineral.cpp +0 -0
  766. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_anisotropic_solution.cpp +0 -0
  767. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_anisotropy.cpp +0 -0
  768. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_assemblage.cpp +0 -0
  769. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_calibrant.cpp +0 -0
  770. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_composition.cpp +0 -0
  771. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_geotherm.cpp +0 -0
  772. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_hyperelastic.cpp +0 -0
  773. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_mechanical_solution.cpp +0 -0
  774. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_mineral.cpp +0 -0
  775. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_mineral_volume_state.cpp +0 -0
  776. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_original_radial_structure.cpp +0 -0
  777. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_polynomial_solution.cpp +0 -0
  778. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_radial_structure.cpp +0 -0
  779. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_relaxed_anisotropic_solution.cpp +0 -0
  780. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_relaxed_composite.cpp +0 -0
  781. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_seismic.cpp +0 -0
  782. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_solution.cpp +0 -0
  783. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_solution_model.cpp +0 -0
  784. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/core/test_subregular_solution.cpp +0 -0
  785. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_aa.cpp +0 -0
  786. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_birch_murnaghan.cpp +0 -0
  787. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_brosh_calphad.cpp +0 -0
  788. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_bukowinski_electronic.cpp +0 -0
  789. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_cold_reference_pressure.cpp +0 -0
  790. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_cork.cpp +0 -0
  791. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_debye.cpp +0 -0
  792. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_dks.cpp +0 -0
  793. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_einstein.cpp +0 -0
  794. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_excess_params.cpp +0 -0
  795. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_hp.cpp +0 -0
  796. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_hp98.cpp +0 -0
  797. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_macaw.cpp +0 -0
  798. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_mie_grueneisen_debye.cpp +0 -0
  799. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_modified_tait.cpp +0 -0
  800. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_modular_mie_grueneisen_debye.cpp +0 -0
  801. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_morse_potential.cpp +0 -0
  802. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_murnaghan.cpp +0 -0
  803. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_original_aa.cpp +0 -0
  804. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_original_brosh_calphad.cpp +0 -0
  805. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_original_modifiers.cpp +0 -0
  806. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_original_pitzer_sterner.cpp +0 -0
  807. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_pitzer_sterner.cpp +0 -0
  808. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_property_modifiers.cpp +0 -0
  809. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_reciprocal_kprime.cpp +0 -0
  810. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_slb.cpp +0 -0
  811. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_spock.cpp +0 -0
  812. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_thermal_components.cpp +0 -0
  813. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_vinet.cpp +0 -0
  814. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/eos/test_volume_accuracy.cpp +0 -0
  815. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/include/eos_names.hpp +0 -0
  816. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/include/equilibration_fixtures.hpp +0 -0
  817. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/include/original_test_helpers.hpp +0 -0
  818. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/include/ps1994_reference.hpp +0 -0
  819. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/include/solution_fixtures.hpp +0 -0
  820. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/include/thermocalc_reference.hpp +0 -0
  821. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/include/tolerances.hpp +0 -0
  822. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/minerals/test_covariance.cpp +0 -0
  823. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/minerals/test_native_datasets.cpp +0 -0
  824. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/minerals/test_thermocalc_reference.cpp +0 -0
  825. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/minerals/test_water.cpp +0 -0
  826. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/optim/roots/test_damped_newton.cpp +0 -0
  827. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/optim/roots/test_original_solvers.cpp +0 -0
  828. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/optim/roots/test_roots.cpp +0 -0
  829. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/optim/test_composition_fitting.cpp +0 -0
  830. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/optim/test_eos_fitting.cpp +0 -0
  831. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/optim/test_linear_fitting.cpp +0 -0
  832. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/optim/test_nonlinear_fitting.cpp +0 -0
  833. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/reference/aa1994.json +0 -0
  834. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/reference/brosh_calphad.json +0 -0
  835. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/reference/calibrants.json +0 -0
  836. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/reference/ps1994.json +0 -0
  837. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/reference/thermocalc_metapelite.json +0 -0
  838. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/test_main.cpp +0 -0
  839. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/tools/averaging/test_averaging_schemes.cpp +0 -0
  840. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/tools/equilibration/test_equality_constraints.cpp +0 -0
  841. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/tools/equilibration/test_equilibrate.cpp +0 -0
  842. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/tools/equilibration/test_equilibrate_lambda_bounds.cpp +0 -0
  843. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/tools/equilibration/test_equilibrate_objective.cpp +0 -0
  844. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/tools/equilibration/test_equilibrate_utils.cpp +0 -0
  845. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/tools/test_chemistry.cpp +0 -0
  846. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/tools/test_phase_diagram_consistency.cpp +0 -0
  847. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/tools/test_polytope.cpp +0 -0
  848. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/tools/test_thermobarometry.cpp +0 -0
  849. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/utils/test_chemistry_utils.cpp +0 -0
  850. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/utils/test_constants.cpp +0 -0
  851. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/utils/test_exceptions.cpp +0 -0
  852. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/utils/test_index_utils.cpp +0 -0
  853. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/utils/test_math_utils.cpp +0 -0
  854. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/utils/test_matrix_utils.cpp +0 -0
  855. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/utils/test_original_utilities.cpp +0 -0
  856. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/utils/test_polygon_utils.cpp +0 -0
  857. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/utils/test_string_utils.cpp +0 -0
  858. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/utils/test_types.cpp +0 -0
  859. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/utils/test_validate_optionals.cpp +0 -0
  860. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/utils/test_vector_utils.cpp +0 -0
  861. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tests/utils/test_warnings.cpp +0 -0
  862. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tools/build_wheel_dependencies.py +0 -0
  863. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tools/burnman_reference.py +0 -0
  864. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tools/check_reference_data.py +0 -0
  865. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tools/export_calibrants.py +0 -0
  866. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tools/export_covariance_data.py +0 -0
  867. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tools/export_example_minerals.py +0 -0
  868. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tools/export_geotherm_data.py +0 -0
  869. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tools/export_seismic_data.py +0 -0
  870. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tools/extract_thermocalc_reference.py +0 -0
  871. {burnman_cpp-0.17.0 → burnman_cpp-0.21.0}/tools/generate_ps1994_reference.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: burnman_cpp
3
- Version: 0.17.0
3
+ Version: 0.21.0
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
@@ -20,10 +20,12 @@ Provides-Extra: test
20
20
  Requires-Dist: pytest>=7; extra == "test"
21
21
  Requires-Dist: sympy>=1.10; extra == "test"
22
22
  Requires-Dist: matplotlib>=3.6; extra == "test"
23
+ Requires-Dist: shapely>=2.0; extra == "test"
23
24
  Provides-Extra: symbolic
24
25
  Requires-Dist: sympy>=1.10; extra == "symbolic"
25
26
  Provides-Extra: examples
26
27
  Requires-Dist: matplotlib>=3.6; extra == "examples"
28
+ Requires-Dist: shapely>=2.0; extra == "examples"
27
29
  Provides-Extra: contrib
28
30
  Requires-Dist: matplotlib>=3.6; extra == "contrib"
29
31
  Requires-Dist: pandas>=1.5; extra == "contrib"
@@ -152,6 +154,8 @@ Optional Python dependencies are installed through extras:
152
154
  - **pytest 7 or newer** (`test`): runs the Python test suite.
153
155
  - **Matplotlib 3.6 or newer** (`examples`): plots examples, phase diagrams and
154
156
  diagnostic figures; it is also needed by the plotting tests.
157
+ - **Shapely 2.0 or newer** (`examples`): clips interpolated composition contours
158
+ to phase-field boundaries and holes; it is also included in the test extra.
155
159
  - **Python BurnMan 2.1 or newer** (`reference`): enables adapters and comparisons
156
160
  with the original implementation. The reference tests below use a specific
157
161
  Git commit for reproducibility.
@@ -115,6 +115,8 @@ Optional Python dependencies are installed through extras:
115
115
  - **pytest 7 or newer** (`test`): runs the Python test suite.
116
116
  - **Matplotlib 3.6 or newer** (`examples`): plots examples, phase diagrams and
117
117
  diagnostic figures; it is also needed by the plotting tests.
118
+ - **Shapely 2.0 or newer** (`examples`): clips interpolated composition contours
119
+ to phase-field boundaries and holes; it is also included in the test extra.
118
120
  - **Python BurnMan 2.1 or newer** (`reference`): enables adapters and comparisons
119
121
  with the original implementation. The reference tests below use a specific
120
122
  Git commit for reproducibility.
@@ -0,0 +1,11 @@
1
+ `dhz_mineral_compositions.dat` is copied unchanged from Python BurnMan's
2
+ `burnman/data/input_compositions` directory for `example_composition.py`.
3
+ The reference revision is recorded in
4
+ [the reference policy](../../../tests/reference/burnman.json).
5
+
6
+ The table contains oxide weight proportions, oxygen normalization counts,
7
+ mineral names and reference labels for forsterite, pyrope and cummingtonite.
8
+ The original header, values and comments are retained.
9
+
10
+ BurnMan is distributed under GPL v2 or later; this copy is distributed as part
11
+ of burnman_cpp under GPL-3.0-or-later (see the root LICENSE).
@@ -0,0 +1,5 @@
1
+ SiO2 TiO2 Al2O3 Cr2O3 Fe2O3 FeO MnO MgO CaO Na2O K2O H2O Comment
2
+ 41.85 0.07 0.00 0.00 0.00 2.05 0.21 56.17 0.00 0.00 0.00 0.00 4 Forsterite p7,1
3
+ 41.33 0.28 21.83 1.73 1.44 9.00 0.44 19.60 4.40 0.00 0.00 0.00 24 Pyrope p34,1
4
+ 55.57 0.18 0.89 0.00 0.06 17.48 0.45 21.85 1.29 0.13 0.01 2.07 24 Cummingtonite p228,3
5
+ # Lines beginning with hashes (like this one) are not read
@@ -0,0 +1,11 @@
1
+ `ak135_lowermantle.txt` is copied unchanged from Python BurnMan's
2
+ `burnman/data/input_seismic` directory for `example_seismic.py`.
3
+ The reference revision is recorded in
4
+ [the reference policy](../../../tests/reference/burnman.json).
5
+
6
+ The table is labelled AK135, Kennett et al. (1995). The example reads radius,
7
+ pressure, density and P/S-wave velocities, reversing the rows to increasing depth.
8
+ All original values and comments are retained.
9
+
10
+ BurnMan is distributed under GPL v2 or later; this copy is distributed as part
11
+ of burnman_cpp under GPL-3.0-or-later (see the root LICENSE).
@@ -0,0 +1,47 @@
1
+ # AK135 Kennett et al. (1995)
2
+ # Radius (km) Pressure (Pa), rho (g/m^3) Vp (m/s) Vs (m/s) Qk Qm
3
+ 3.531670e+06 1.328487e+11 5.745800e+03 1.365700e+04 7.270000e+03 7.251100e+02 2.739700e+02
4
+ 3.581330e+06 1.299396e+11 5.719600e+03 1.365330e+04 7.259300e+03 7.268700e+02 2.739700e+02
5
+ 3.631000e+06 1.270629e+11 5.693400e+03 1.364980e+04 7.248500e+03 7.227300e+02 2.717400e+02
6
+ 3.631000e+06 1.270629e+11 5.438700e+03 1.364980e+04 7.248500e+03 9.332100e+02 3.508800e+02
7
+ 3.681000e+06 1.241996e+11 5.417600e+03 1.358990e+04 7.225300e+03 9.408800e+02 3.546100e+02
8
+ 3.731000e+06 1.213653e+11 5.396200e+03 1.353110e+04 7.203100e+03 9.520000e+02 3.597100e+02
9
+ 3.779500e+06 1.186355e+11 5.374800e+03 1.347410e+04 7.180400e+03 9.603600e+02 3.636400e+02
10
+ 3.829000e+06 1.158850e+11 5.353100e+03 1.341560e+04 7.158400e+03 9.684600e+02 3.676500e+02
11
+ 3.878500e+06 1.131476e+11 5.331300e+03 1.335840e+04 7.136800e+03 9.768100e+02 3.717500e+02
12
+ 3.928000e+06 1.104332e+11 5.309200e+03 1.330170e+04 7.114400e+03 9.856300e+02 3.759400e+02
13
+ 3.977500e+06 1.077462e+11 5.287000e+03 1.324650e+04 7.093200e+03 9.907700e+02 3.787900e+02
14
+ 4.027000e+06 1.050762e+11 5.264600e+03 1.318950e+04 7.072200e+03 9.994400e+02 3.831400e+02
15
+ 4.076500e+06 1.024252e+11 5.242000e+03 1.313370e+04 7.050400e+03 1.008790e+03 3.876000e+02
16
+ 4.126000e+06 9.979395e+10 5.219200e+03 1.307860e+04 7.028600e+03 1.018380e+03 3.921600e+02
17
+ 4.175500e+06 9.718910e+10 5.196300e+03 1.302260e+04 7.006900e+03 1.032140e+03 3.984100e+02
18
+ 4.225000e+06 9.459652e+10 5.173200e+03 1.296630e+04 6.985200e+03 1.042070e+03 4.032300e+02
19
+ 4.274500e+06 9.201772e+10 5.149900e+03 1.290930e+04 6.962500e+03 1.048090e+03 4.065000e+02
20
+ 4.324000e+06 8.946381e+10 5.126400e+03 1.285240e+04 6.941600e+03 1.058030e+03 4.115200e+02
21
+ 4.373500e+06 8.692114e+10 5.102700e+03 1.279560e+04 6.919400e+03 1.064230e+03 4.149400e+02
22
+ 4.423000e+06 8.439595e+10 5.078900e+03 1.273840e+04 6.897200e+03 1.070380e+03 4.184100e+02
23
+ 4.472500e+06 8.188936e+10 5.054800e+03 1.268070e+04 6.874300e+03 1.085970e+03 4.255300e+02
24
+ 4.522000e+06 7.939284e+10 5.030600e+03 1.262260e+04 6.851700e+03 1.097160e+03 4.310300e+02
25
+ 4.571500e+06 7.691631e+10 5.006200e+03 1.256380e+04 6.828900e+03 1.108580e+03 4.366800e+02
26
+ 4.621000e+06 7.444450e+10 4.981700e+03 1.250300e+04 6.805600e+03 1.120090e+03 4.424800e+02
27
+ 4.670500e+06 7.199670e+10 4.957000e+03 1.244270e+04 6.782000e+03 1.127020e+03 4.464300e+02
28
+ 4.720000e+06 6.955890e+10 4.932100e+03 1.238130e+04 6.757900e+03 1.134010e+03 4.504500e+02
29
+ 4.769500e+06 6.713183e+10 4.906900e+03 1.231810e+04 6.732300e+03 1.141320e+03 4.545500e+02
30
+ 4.819000e+06 6.472272e+10 4.881700e+03 1.225580e+04 6.707000e+03 1.148760e+03 4.587200e+02
31
+ 4.868500e+06 6.232361e+10 4.856200e+03 1.219120e+04 6.681300e+03 1.156040e+03 4.629600e+02
32
+ 4.918000e+06 5.994136e+10 4.830700e+03 1.212470e+04 6.655400e+03 1.163160e+03 4.672900e+02
33
+ 4.967500e+06 5.757095e+10 4.805000e+03 1.205710e+04 6.628500e+03 1.170530e+03 4.717000e+02
34
+ 5.017000e+06 5.521051e+10 4.779000e+03 1.198910e+04 6.600900e+03 1.178190e+03 4.761900e+02
35
+ 5.066500e+06 5.287008e+10 4.752800e+03 1.192080e+04 6.572800e+03 1.186060e+03 4.807700e+02
36
+ 5.116000e+06 5.053131e+10 4.726600e+03 1.184910e+04 6.543100e+03 1.193990e+03 4.854400e+02
37
+ 5.165500e+06 4.820994e+10 4.700100e+03 1.177680e+04 6.513100e+03 1.202040e+03 4.902000e+02
38
+ 5.215000e+06 4.590692e+10 4.673500e+03 1.170200e+04 6.482200e+03 1.210020e+03 4.950500e+02
39
+ 5.264500e+06 4.361388e+10 4.646700e+03 1.162650e+04 6.451400e+03 1.217910e+03 5.000000e+02
40
+ 5.314000e+06 4.133083e+10 4.619800e+03 1.154930e+04 6.418200e+03 1.226520e+03 5.050500e+02
41
+ 5.363500e+06 3.906293e+10 4.592600e+03 1.147040e+04 6.386000e+03 1.234540e+03 5.102000e+02
42
+ 5.413000e+06 3.680860e+10 4.565400e+03 1.138970e+04 6.351900e+03 1.243020e+03 5.154600e+02
43
+ 5.462500e+06 3.456427e+10 4.516200e+03 1.130680e+04 6.316400e+03 1.251690e+03 5.208300e+02
44
+ 5.512000e+06 3.233116e+10 4.465000e+03 1.122280e+04 6.279900e+03 1.260680e+03 5.263200e+02
45
+ 5.561500e+06 3.011548e+10 4.411800e+03 1.113550e+04 6.242400e+03 1.269440e+03 5.319100e+02
46
+ 5.611000e+06 2.791209e+10 4.356500e+03 1.105530e+04 6.210000e+03 1.277930e+03 5.376300e+02
47
+ 5.661000e+06 2.569653e+10 4.298600e+03 1.092220e+04 6.089800e+03 1.311170e+03 5.434800e+02
@@ -11,10 +11,11 @@
11
11
  #
12
12
  # ------------------------------------------------------
13
13
 
14
- """Shared runner for Supplement 3 of Green et al. (2025), egae079.
14
+ """
15
+ Shared driver to recreate the figures in
16
+ Supplement 3 of Green et al. (2025), https://doi.org/10.1093/petrology/egae079.
15
17
 
16
- Use the separate example_green2025_*.py scripts. Thermodynamics, equilibrium,
17
- boundary tracing and polygon construction use the standard C++ routines.
18
+ Use the separate example_green2025_*.py scripts to make the plots.
18
19
  """
19
20
 
20
21
  from collections import Counter
@@ -23,11 +24,9 @@ from pathlib import Path
23
24
  import time
24
25
 
25
26
  import burnman_cpp as bm
26
- from burnman_cpp.minerals import HPx_ds636, model_sets
27
+ from burnman_cpp.minerals import model_sets
27
28
  from burnman_cpp.tools.phase_diagram_helpers import (
28
- example_parser,
29
- refine_saved,
30
- run_phase_diagram_example,
29
+ write_phase_diagram,
31
30
  save_figure,
32
31
  )
33
32
 
@@ -36,10 +35,11 @@ SOURCE = "https://doi.org/10.1093/petrology/egae079"
36
35
 
37
36
  def candidate_phases(composition):
38
37
  models = model_sets.igneous("G25")
39
- # Match MAGEMin's igneous phase exclusions when H2O is absent, including
40
- # the formal dry corners of biotite, cordierite and aqueous fluid.
38
+ # Exclude nominally hydrous phases when H2O is absent, including
39
+ # the dry endmembers of biotite, cordierite and aqueous fluid,
40
+ # which are presumably metastable anyway. Also exclude cor.
41
41
  hydrous = {"fluid", "hb", "bi", "ms", "ep", "cd"}
42
- phases = [
42
+ return [
43
43
  phase
44
44
  for phase in models.phases
45
45
  if phase.name != "cor"
@@ -47,18 +47,11 @@ def candidate_phases(composition):
47
47
  phase.name not in hydrous or composition.atomic_composition.get("H", 0) > 0
48
48
  )
49
49
  ]
50
- # The reference igneous catalogue includes stishovite, not corundum.
51
- stishovite = HPx_ds636.stv()
52
- stishovite.set_name("stv")
53
- return phases + [stishovite]
54
50
 
55
51
 
56
52
  def compare(composition, reference_points, settings):
57
- """Check assemblages at points read well inside the published fields.
58
-
59
- The PDF distinguishes pl/afs, augite/pigeonite and spl/mgt/cm/usp by
60
- composition. These are instances of fsp, cpx and sp respectively here.
61
- Repeated names preserve coexistence across a solvus.
53
+ """
54
+ Check assemblages at points inside the fields reported in the PDF.
62
55
  """
63
56
  rows = []
64
57
  phases = candidate_phases(composition)
@@ -93,7 +86,7 @@ def compare(composition, reference_points, settings):
93
86
 
94
87
 
95
88
  def compare_liquidus(data, pressure_kbar, reference_temperature):
96
- """Intersect saved phase lines with the PDF's liquidus comparison isobar."""
89
+ """Check saved phase lines against the PDF."""
97
90
  report = dict(
98
91
  pressure_kbar=pressure_kbar,
99
92
  reference_temperature_C=reference_temperature,
@@ -163,6 +156,8 @@ def plot(data, target, temperature_range, pressure_range, title, fontsize):
163
156
  bm.plot_phase_diagram(
164
157
  data,
165
158
  ax=ax,
159
+ pressure_unit="kbar",
160
+ temperature_unit="C",
166
161
  cmap="Blues_r",
167
162
  fill_alpha=1.0,
168
163
  label_fontsize=fontsize,
@@ -191,105 +186,72 @@ def main(
191
186
  pressure_range,
192
187
  reference_points,
193
188
  liquidus,
189
+ *,
190
+ seeds=7,
191
+ check_only=False,
194
192
  ):
195
- parser = example_parser(
196
- f"Green et al. (2025), Figure S3-{figure}: {title}",
197
- Path(__file__).parent / f"green2025_{name}_output",
198
- seeds=7,
199
- replot=True,
200
- refine=True,
201
- )
202
- parser.add_argument(
203
- "--check-only",
204
- action="store_true",
205
- help="Only compare interior assemblages with the PDF.",
206
- )
207
- args = parser.parse_args()
208
- # These are oxide moles (including atomic O), not oxide weight percentages.
209
- # Normalising the amount improves numerical scaling without changing the bulk.
193
+ output_dir = Path(__file__).resolve().parent / f"green2025_{name}_output"
194
+ output_dir.mkdir(parents=True, exist_ok=True)
195
+ # Green et al. (2025) report compositions in oxide molar fractions,
196
+ # (including atomic O), but the phase diagram code expects atomic fractions.
210
197
  composition = bm.Composition(
211
198
  {oxide: amount / sum(oxides.values()) for oxide, amount in oxides.items()},
212
199
  unit_type="molar",
213
200
  )
214
201
  settings = bm.PhaseDiagramSettings()
215
- settings.pressure_seeds = settings.temperature_seeds = (
216
- 3 if args.quick else args.seeds
217
- )
218
- settings.step = 0.035 if args.quick else 0.015
219
- settings.max_recovery_passes = 0 if args.quick else 2
220
- settings.verbose = args.verbose
221
- args.output_dir.mkdir(parents=True, exist_ok=True)
222
- started = time.monotonic()
223
- if not args.check_only:
224
-
225
- def calculate_section(source=None, verbose=False):
226
- phases = candidate_phases(composition)
227
- result = (
228
- refine_saved(
229
- source,
230
- phases,
231
- composition=composition.atomic_composition,
232
- settings=settings,
233
- verbose=verbose,
234
- )
235
- if source is not None
236
- else bm.phase_diagram(
237
- composition.atomic_composition,
238
- phases,
239
- (max(1.0e5, pressure_range[0] * 1.0e8), pressure_range[1] * 1.0e8),
240
- tuple(t + 273.15 for t in temperature_range),
241
- settings,
242
- )
243
- )
244
- data = result.to_dict()
245
- data.update(
246
- source=SOURCE,
247
- reference_figure=f"S3-{figure}",
248
- oxide_molar_amounts=oxides,
249
- model_set=model_sets.igneous("G25").to_dict(),
250
- calculation_seconds=time.monotonic() - started,
251
- )
252
- return data
253
-
254
- data = run_phase_diagram_example(
255
- parser,
256
- lambda options: calculate_section(),
257
- args=args,
258
- stem=name,
259
- refine=calculate_section,
260
- plot=lambda result, target, fontsize: plot(
261
- result,
262
- target,
263
- temperature_range,
264
- pressure_range,
265
- title,
266
- fontsize,
267
- ),
202
+ settings.pressure_seeds = settings.temperature_seeds = seeds
203
+ settings.step = 0.015
204
+ settings.max_recovery_passes = 2
205
+ settings.verbose = True
206
+ if not check_only:
207
+ started = time.monotonic()
208
+ result = bm.phase_diagram(
209
+ composition.atomic_composition,
210
+ candidate_phases(composition),
211
+ (max(1.0e5, pressure_range[0] * 1.0e8), pressure_range[1] * 1.0e8),
212
+ tuple(t + 273.15 for t in temperature_range),
213
+ settings,
268
214
  )
269
- if not args.plot_json:
270
- rows = compare(composition, reference_points, settings)
271
- report = dict(source=SOURCE, figure=f"S3-{figure}", interior_assemblages=rows)
272
- if not args.check_only:
273
- report["liquidus"] = compare_liquidus(data, *liquidus)
274
- report["resolved"] = data["resolved"]
275
- report["diagnostics"] = data["diagnostics"]
276
- geometry = bm.phase_diagram_field_polygons(data)
277
- report["geometry"] = dict(
278
- fields=len(geometry.polygons),
279
- open_fields=sum(p.has_open_boundary for p in geometry.polygons),
280
- unidentified_fields=sum(not p.phases for p in geometry.polygons),
281
- covered_area_fraction=sum(p.area for p in geometry.polygons),
282
- diagnostics=list(geometry.diagnostics),
283
- )
284
- print(f"Liquidus comparison: {report['liquidus']}", flush=True)
285
- (args.output_dir / f"{name}_comparison.json").write_text(
286
- json.dumps(report, indent=2, allow_nan=False)
215
+ data = result.to_dict() | dict(
216
+ source=SOURCE,
217
+ reference_figure=f"S3-{figure}",
218
+ oxide_molar_amounts=oxides,
219
+ model_set=model_sets.igneous("G25").to_dict(),
220
+ calculation_seconds=time.monotonic() - started,
287
221
  )
288
- print(
289
- f"PDF interior assemblages: {sum(row['match'] for row in rows)}/{len(rows)} match.",
290
- flush=True,
222
+ write_phase_diagram(data, output_dir / name)
223
+ plot(
224
+ data,
225
+ output_dir / f"{name}.png",
226
+ temperature_range,
227
+ pressure_range,
228
+ title,
229
+ 7.0,
291
230
  )
292
- if not all(row["match"] for row in rows):
293
- raise RuntimeError(
294
- "Assemblages differ from the PDF; see the comparison JSON."
295
- )
231
+
232
+ rows = compare(composition, reference_points, settings)
233
+ report = dict(source=SOURCE, figure=f"S3-{figure}", interior_assemblages=rows)
234
+ if not check_only:
235
+ report.update(
236
+ liquidus=compare_liquidus(data, *liquidus),
237
+ resolved=data["resolved"],
238
+ diagnostics=data["diagnostics"],
239
+ )
240
+ geometry = bm.phase_diagram_field_polygons(data)
241
+ report["geometry"] = dict(
242
+ fields=len(geometry.polygons),
243
+ open_fields=sum(p.has_open_boundary for p in geometry.polygons),
244
+ unidentified_fields=sum(not p.phases for p in geometry.polygons),
245
+ covered_area_fraction=sum(p.area for p in geometry.polygons),
246
+ diagnostics=list(geometry.diagnostics),
247
+ )
248
+ print(f"Liquidus comparison: {report['liquidus']}", flush=True)
249
+ (output_dir / f"{name}_comparison.json").write_text(
250
+ json.dumps(report, indent=2, allow_nan=False) + "\n"
251
+ )
252
+ print(
253
+ f"PDF interior assemblages: {sum(row['match'] for row in rows)}/{len(rows)} match.",
254
+ flush=True,
255
+ )
256
+ if not all(row["match"] for row in rows):
257
+ raise RuntimeError("Assemblages differ from the PDF; see the comparison JSON.")
@@ -1,9 +1,20 @@
1
- # This file is part of BurnMan - a thermoelastic and thermodynamic toolkit for
2
- # the Earth and Planetary Sciences
1
+ # ------------------------------------------------------
2
+ #
3
+ # SPDX-License-Identifier: GPL-3.0-or-later
4
+ #
5
+ # SPDX-FileCopyrightText: Copyright (C) 2025-2026 by the BurnMan Team.
6
+ #
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
+
14
+ # Original example attribution:
3
15
  # Copyright (C) 2012 - 2021 by the BurnMan team, released under the GNU
4
16
  # GPL v2 or later.
5
17
 
6
-
7
18
  """
8
19
  example_anisotropic_mineral
9
20
  ---------------------------
@@ -1,8 +1,20 @@
1
- # This file is part of BurnMan - a thermoelastic and thermodynamic toolkit for the Earth and Planetary Sciences
1
+ # ------------------------------------------------------
2
+ #
3
+ # SPDX-License-Identifier: GPL-3.0-or-later
4
+ #
5
+ # SPDX-FileCopyrightText: Copyright (C) 2025-2026 by the BurnMan Team.
6
+ #
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
+
14
+ # Original example attribution:
2
15
  # Copyright (C) 2012 - 2017 by the BurnMan team, released under the GNU
3
16
  # GPL v2 or later.
4
17
 
5
-
6
18
  """
7
19
  example_anisotropy
8
20
  ------------------
@@ -228,8 +240,8 @@ if __name__ == "__main__":
228
240
  cbar.add_lines(lines)
229
241
 
230
242
  fig.set_layout_engine("tight")
231
- Path("output_figures").mkdir(exist_ok=True)
232
- plt.savefig("output_figures/example_anisotropy.png")
243
+ Path("anisotropy_output").mkdir(exist_ok=True)
244
+ plt.savefig("anisotropy_output/example_anisotropy.png")
233
245
  plt.show()
234
246
 
235
247
  plot_anisotropic_seismic_properties(talc)
@@ -1,5 +1,17 @@
1
- # This file is part of BurnMan - a thermoelastic and thermodynamic toolkit
2
- # for the Earth and Planetary Sciences
1
+ # ------------------------------------------------------
2
+ #
3
+ # SPDX-License-Identifier: GPL-3.0-or-later
4
+ #
5
+ # SPDX-FileCopyrightText: Copyright (C) 2025-2026 by the BurnMan Team.
6
+ #
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
+
14
+ # Original example attribution:
3
15
  # Copyright (C) 2012 - 2025 by the BurnMan team, released under the GNU
4
16
  # GPL v2 or later.
5
17
 
@@ -7,13 +19,6 @@
7
19
  example_assemblage_relaxation
8
20
  -----------------------------
9
21
 
10
- Adapted from Python BurnMan's example_assemblage_relaxation.py. All materials,
11
- equilibrium solves and relaxed derivatives use the native C++ implementation;
12
- the Python BurnMan package is not required.
13
-
14
- Run with ``python examples/example_assemblage_relaxation.py`` after installing
15
- ``pip install -e '.[examples]'``.
16
-
17
22
  In this example, we demonstrate how to use the `RelaxedComposite` class
18
23
  to compute the properties of a mineral assemblage allowing for
19
24
  different levels of compositional and phase relaxation.
@@ -46,7 +51,7 @@ properties of mineral assemblages, which is important for:
46
51
  """
47
52
 
48
53
  import numpy as np
49
- import burnman_cpp as bm
54
+ import burnman_cpp
50
55
  import matplotlib.pyplot as plt
51
56
 
52
57
  from burnman_cpp import equilibrate
@@ -54,18 +59,6 @@ from burnman_cpp.minerals import SLB_2011
54
59
  from burnman_cpp import Assemblage, RelaxedComposite
55
60
  from burnman_cpp.tools.chemistry import reaction_matrix_as_strings
56
61
 
57
-
58
- def solve(composition, assemblage, constraints):
59
- # Physical-unit equivalents of the Python example's default tolerances.
60
- tolerances = np.r_[1.0, 1.0e-6, np.full(assemblage.n_endmembers, 1.0e-9)]
61
- result = equilibrate(composition, assemblage, constraints, tol=tolerances)
62
- solutions = result.sol_array.ravel()
63
- for solution in solutions:
64
- if not solution.success:
65
- raise RuntimeError(solution.message)
66
- return solutions, result.prm
67
-
68
-
69
62
  if __name__ == "__main__":
70
63
  # Initialize the minerals we will use in this example.
71
64
  ol = SLB_2011.mg_fe_olivine()
@@ -79,35 +72,36 @@ if __name__ == "__main__":
79
72
  # Find the wad-in and ol-in pressures at 1600 K
80
73
  T = 1600.0
81
74
  composition = assemblage.formula.copy()
82
- prm = bm.get_equilibration_parameters(assemblage, composition)
75
+ prm = burnman_cpp.get_equilibration_parameters(assemblage, composition)
83
76
  equality_constraints = [
84
- bm.TemperatureConstraint(T),
85
- bm.PhaseFractionConstraint(1, 0.0, prm),
77
+ burnman_cpp.TemperatureConstraint(T),
78
+ burnman_cpp.PhaseFractionConstraint(1, 0.0, prm),
86
79
  ]
87
- solve(composition, assemblage, equality_constraints)
80
+ equilibrate(composition, assemblage, equality_constraints)
88
81
  P_wad_in = assemblage.pressure
89
82
 
90
83
  equality_constraints = [
91
- bm.TemperatureConstraint(T),
92
- bm.PhaseFractionConstraint(0, 0.0, prm),
84
+ burnman_cpp.TemperatureConstraint(T),
85
+ burnman_cpp.PhaseFractionConstraint(0, 0.0, prm),
93
86
  ]
94
- solve(composition, assemblage, equality_constraints)
87
+ equilibrate(composition, assemblage, equality_constraints)
95
88
  P_ol_in = assemblage.pressure
96
89
 
97
90
  # Now get the unrelaxed properties over the two phase region
98
91
  # at their equilibrated states
99
92
  pressures = np.linspace(P_wad_in + 1.0, P_ol_in - 1.0, 101)
100
93
  equality_constraints = [
101
- [bm.PressureConstraint(p) for p in pressures],
102
- bm.TemperatureConstraint(T),
94
+ [burnman_cpp.PressureConstraint(P) for P in pressures],
95
+ burnman_cpp.TemperatureConstraint(T),
103
96
  ]
104
97
 
105
- sols, prm = solve(composition, assemblage, equality_constraints)
106
- # Native equilibrium results store parameter vectors, so restore each state
107
- # to read its frozen properties (Python BurnMan stores assemblage snapshots).
98
+ result = equilibrate(composition, assemblage, equality_constraints)
99
+ sols, prm = result.sol_array.ravel(), result.prm
100
+ # Native results contain parameter vectors, so restore each state to read
101
+ # its unrelaxed properties.
108
102
  unrelaxed = []
109
103
  for sol in sols:
110
- bm.set_composition_and_state_from_parameters(assemblage, sol.x)
104
+ burnman_cpp.set_composition_and_state_from_parameters(assemblage, sol.x)
111
105
  unrelaxed.append(
112
106
  [
113
107
  assemblage.isentropic_bulk_modulus_reuss,
@@ -12,32 +12,37 @@
12
12
  #
13
13
  # ------------------------------------------------------
14
14
 
15
- """Closed-system basalt phase diagram, 300–900 °C and 0–20 kbar.
16
-
17
- All thermodynamics, Gibbs minimisation, phase selection, equilibrium solves
18
- and boundary continuation run in C++. Python specifies the model/bulk and
19
- writes JSON and a figure. No Python BurnMan or optimisation library is needed.
20
-
21
- The matched HPx metabasite set reproduces the 30 January 2022 THERMOCALC
22
- calibration: Green et al. (2016) solids and tonalitic melt, HP dataset 6.2,
23
- and PS94 H2O with the Holland-Powell thermal reference. The model set is
24
- available as burnman_cpp.minerals.model_sets.metabasite().
25
- The closed bulk contains exactly 2 wt% H2O; no water/oxygen buffers are used.
26
- A 1 bar lower calculation limit avoids the fluid singularity at P=0; the
27
- figure uses the requested 0–20 kbar axis. Increase --seeds to check discovery
28
- of narrow or disconnected fields. Failed calculations remain explicit.
29
15
  """
16
+ Calculate and plot a phase diagram for a basalt composition,
17
+ between 300-900 °C and 0-20 kbar.
18
+
19
+ This example uses the HPx metabasite set
20
+ from the 30 January 2022 THERMOCALC calibration:
21
+ Green et al. (2016) solids and tonalitic melt, HP dataset 6.2,
22
+ and Pitzer and Sterner (1994)
23
+ H2O with the Holland-Powell thermal reference.
24
+
25
+ The model set is available as
26
+ burnman_cpp.minerals.model_sets.metabasite().
27
+ The bulk composition contains exactly 2 wt% H2O.
28
+ """
29
+
30
+ from pathlib import Path
30
31
 
31
32
  import burnman_cpp as bm
32
33
  from burnman_cpp.minerals import model_sets
33
34
  from burnman_cpp.tools.phase_diagram_helpers import (
34
- example_parser,
35
35
  plot_phase_diagram_example,
36
36
  refine_saved,
37
- run_phase_diagram_example,
37
+ write_phase_diagram,
38
38
  )
39
39
 
40
+ OUTPUT_DIR = Path(__file__).resolve().with_name("basalt_phase_diagram_output")
41
+ SEEDS = 7
42
+
43
+
40
44
  MODEL_SET = model_sets.metabasite()
45
+ PHASES = MODEL_SET.phases
41
46
 
42
47
  # Masses in a 100 g wet rock; the sum is 100, including exactly 2 g of H2O.
43
48
  BASALT_OXIDES = dict(
@@ -57,25 +62,20 @@ BASALT_COMPOSITION = bm.Composition(
57
62
  )
58
63
 
59
64
 
60
- def candidate_phases():
61
- return model_sets.metabasite().phases
62
-
63
-
64
65
  def calculate(
65
66
  seeds=7,
66
- quick=False,
67
67
  verbose=False,
68
68
  *,
69
69
  pressure_range=(1.0e5, 2.0e9),
70
70
  temperature_range=(573.15, 1173.15),
71
71
  ):
72
72
  settings = bm.PhaseDiagramSettings()
73
- settings.pressure_seeds = settings.temperature_seeds = 4 if quick else seeds
74
- settings.step = 0.04 if quick else 0.025
73
+ settings.pressure_seeds = settings.temperature_seeds = seeds
74
+ settings.step = 0.025
75
75
  settings.verbose = verbose
76
76
  return bm.phase_diagram(
77
77
  BASALT_COMPOSITION.atomic_composition,
78
- candidate_phases(),
78
+ PHASES,
79
79
  pressure_range,
80
80
  temperature_range,
81
81
  settings,
@@ -86,7 +86,7 @@ def refine(source, verbose=False, resolution=None):
86
86
  """Resume saved phase lines and optionally refine their point spacing."""
87
87
  return refine_saved(
88
88
  source,
89
- candidate_phases(),
89
+ PHASES,
90
90
  composition=BASALT_COMPOSITION.atomic_composition,
91
91
  verbose=verbose,
92
92
  resolution=resolution,
@@ -117,6 +117,8 @@ def plot(
117
117
  result,
118
118
  path,
119
119
  label_fontsize,
120
+ pressure_unit="kbar",
121
+ temperature_unit="C",
120
122
  phase_aliases={"g": "gt"},
121
123
  axes=dict(
122
124
  xlim=temperature_range,
@@ -130,24 +132,10 @@ def plot(
130
132
  )
131
133
 
132
134
 
133
- def main():
134
- parser = example_parser(
135
- __doc__,
136
- "basalt_phase_diagram_output",
137
- seeds=7,
138
- replot=True,
139
- refine=True,
140
- resolution=False,
141
- )
142
- return run_phase_diagram_example(
143
- parser,
144
- lambda args: calculate(args.seeds, args.quick, args.verbose),
145
- stem="basalt_phase_diagram",
135
+ if __name__ == "__main__":
136
+ write_phase_diagram(
137
+ calculate(seeds=SEEDS, verbose=True),
138
+ OUTPUT_DIR / "basalt_phase_diagram",
146
139
  save_json=save_json,
147
140
  plot=plot,
148
- refine=refine,
149
141
  )
150
-
151
-
152
- if __name__ == "__main__":
153
- main()