.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/_4_unorganized/plot_melts2_sims.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples__4_unorganized_plot_melts2_sims.py: MELTS2.0: Simulations with a calibrated model ============================================= Load the best-fit calibrated MELTS2.0 model and use it Open this code in an executable MyBinder instance (MyBinder links may be slow to load-- please be patient!): .. image:: https://mybinder.org/badge_logo.svg :target: https://mybinder.org/v2/gl/swmatthews-research%2FThermoEngineLite/main?urlpath=%2Fdoc%2Ftree%2F.%2Fdoc%2Fsource%2Fmanual_examples%2Fmelts2_sims%2Fplot_melts2_sims.ipynb .. GENERATED FROM PYTHON SOURCE LINES 15-26 .. code-block:: Python import numpy as np import pandas as pd import matplotlib.pyplot as plt import thermoengine as thermo from thermoengine import rockychem, redox import json from thermoengine import magmaforge import pandas as pd # a useful data analysis package .. GENERATED FROM PYTHON SOURCE LINES 27-29 Load the MELTS2 calibration parameters -------------------------------------- .. GENERATED FROM PYTHON SOURCE LINES 29-46 .. code-block:: Python filenm = "model_fit.json" # filenm = "model_fit_med.json" # filenm = "model_fit_unconstr.json" # filenm = "model_fit_uniform.json" with open(f"input_files/{filenm}") as f: model_fit = json.load(f) param_best_fit = np.array(model_fit['param_svd_mean']).dot(np.array(model_fit['Vh_param_svd_proj'])) param_best_fit database = thermo.Database('MELTS_v1_0') Liq = database.get_phase('Liq') Liq.set_param_values(param_names=model_fit['param_names'], param_values=param_best_fit ) .. GENERATED FROM PYTHON SOURCE LINES 47-66 .. code-block:: Python morb_oxides = pd.Series({ 'SiO2': 48.68, 'TiO2': 1.01, 'Al2O3': 17.64, 'Fe2O3': 0.89, 'Cr2O3': 0.0425, 'FeO': 7.59, 'MgO': 9.10, 'CaO': 12.45, 'Na2O': 2.65, 'K2O': 0.03, 'P2O5': 0.08, 'H2O': 0.2},) # Values in grams (extensive units) .. GENERATED FROM PYTHON SOURCE LINES 67-69 Equil crystallization --------------------- .. GENERATED FROM PYTHON SOURCE LINES 69-87 .. code-block:: Python sys = magmaforge.System(comp = morb_oxides, P_bar = 1000.0, # bars T_C = 1300, # C logfO2 = ('NNO',-1), # setting fO2 equal to 1 log unit below the QFM buffer database=database, # liquid model name ) sys.crystallize( method='equil', # equilibrium crystallization T_step=5, # decrease in temperature at each step fix_fO2=True, # hold fO2 constant at initial fO2 value, relative to indicated buffer ) # magmaforge.plot.phase_fractions(sys.history) magmaforge.plot.magma_evolution(sys.history) .. image-sg:: /auto_examples/_4_unorganized/images/sphx_glr_plot_melts2_sims_001.png :alt: plot melts2 sims :srcset: /auto_examples/_4_unorganized/images/sphx_glr_plot_melts2_sims_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none /workspaces/ThermoEngineLite/thermoengine/thermoengine/magmaforge/system.py:260: UserWarning: Warning: Setting an fO2 value will redistribute the FeO and Fe2O3 values given. warnings.warn('Warning: Setting an fO2 value will redistribute the FeO and Fe2O3 values given.') .. GENERATED FROM PYTHON SOURCE LINES 88-90 Frac crystallization -------------------- .. GENERATED FROM PYTHON SOURCE LINES 90-110 .. code-block:: Python sys = magmaforge.System(comp = morb_oxides, P_bar = 1000.0, # bars T_C = 1300, # C logfO2 = ('NNO',0), database=database, # database="MELTS_v1_0", # liquid model name ) sys.crystallize( method='frac', T_step=5, # decrease in temperature at each step fix_fO2=True, # hold fO2 constant at initial fO2 value, relative to indicated buffer T_final_C=800 ) # magmaforge.plot.phase_fractions(sys.history) magmaforge.plot.magma_evolution(sys.history) .. image-sg:: /auto_examples/_4_unorganized/images/sphx_glr_plot_melts2_sims_002.png :alt: plot melts2 sims :srcset: /auto_examples/_4_unorganized/images/sphx_glr_plot_melts2_sims_002.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none /workspaces/ThermoEngineLite/thermoengine/thermoengine/magmaforge/system.py:260: UserWarning: Warning: Setting an fO2 value will redistribute the FeO and Fe2O3 values given. warnings.warn('Warning: Setting an fO2 value will redistribute the FeO and Fe2O3 values given.') .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 34.652 seconds) .. _sphx_glr_download_auto_examples__4_unorganized_plot_melts2_sims.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_melts2_sims.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_melts2_sims.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_melts2_sims.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_