News:

alphaMELTS 1.9 is available at the download and information site.
alphaMELTS 2 standalone & for MATLAB/Python are available on request
(see the Version 2 tab on the download site for more details).
For news of all MELTS software see the MELTS Facebook page.

Main Menu

Recent posts

#11
I downloaded the latest version of rhyolite-MELTS/pMELTS for Ubuntu to simulate the isentropic decompression melting of mantle. Firstly, I set the compositions and choose the isentropic and fractionate liquid modes. Then, I set the start temperature and pressure at 1380 ℃ and 2.0 Gpa, respectively. But when I clicked the execute. I could not obtain the result of continuous melting of the mantle. There must be something wrong. Can anyone tell me the correct operating steps? Thank you in advance!
#12
That is fantastic!  Thanks so much Paula.  I will check out easyMelts and implement your suggestions.

Cheers,

Kevin
#13
Hi Kevin,

The Rhyolite-MELTS GUI is not really supported anymore. I've submitted bug fixes to Mark Ghiorso but they've not made it onto the OFM website in years. It has become increasing difficult to build the Mac and Linux versions, and impossible to continue the VirtualBox version for Windows. I recommend users try easyMelts instead. It has all the features of the GUI, plus working plots. There's more information here: https://magmasource.caltech.edu/alphamelts/links.php

That said, most of the responses to your questions would apply just as much if you were running things in easyMelts. So here goes:

Quote from: KevinFarries on February 23, 2024, 08:01:05 PM1.    When running the analysis the quadratic minimization algorithm quite often fails to converge.  To overcome this issue I either: change the oxygen fugacity for a small increment before changing back; skip over the problem temperature (by changing the starting temperature); or if the issue occurs below solidus, then I adopt a minimum temperature higher than the problem temperature. Are these approaches valid?  On-line it suggests making a minor change to composition, but I am unsure of what element's composition I should change or by how much.
Those do sound like valid approaches. Depending where you saw the advice about changing the composition, the kind of changes they may have had in mind might be zeroing out a component that is nearly exhausted (e.g. for fractional crystallization). Alternatively adding a small but non-zero amount of a component that is otherwise not included can sometimes help: for example, the choice of pyroxene end members in MELTS systems means that calculations that have only two of Fe2O3, TiO2 and Al2O3 are likely to fail. So we often recommend that users put a little Fe2O3 or TiO2 even if they don't have a measured value for these. Adjusting the fO2 slightly could achieve the same thing for a reducing system.

Quote2.    I get a higher solidus for heating compared to cooling. On heating, quite often the solidus temperature is problematic for quadratic convergence, and the solidus temperature I obtain is quite sensitive to the approach I take to overcoming this issue. Can I clarify what aspect melts-rhyolite algorithm and its calibration give rise to this asymmetry in the solidus temperature for cooling and heating and the best approach to accurately predict the solidus temperature.
This happens quite frequently - the algorithms for detection of phase saturation in the Rhyolite-MELTS GUI (and alphaMELTS 2, easyMelts etc.) are better than in older versions of MELTS, but are still not perfect. So sometimes stabilization of a particular phase is delayed, or the wrong phase may come in first. And when the correct phase does finally join the assemblage a bunch comes in all at once. For fO2-buffered calculations this problem can be exacerbated as there is a discontinuity between the the Kress & Carmichael model used when liquid is present (which is not quite self-consistent with the Rhyolite-MELTS liquid model) and the algorithm used for buffering subsolidus (which should be fully self-consistent, but also see the next answer).

You can work out the true solidus by running the calculation in both directions, like you are doing, and then examining the text output. The assemblage with the lowest total Gibbs Free Energy is the one that should be stable.

Quote3.    The data I have on the regolith precursor will always give total Fe either as FeO or Fe2O3 equivalent, so I need to impose a buffer to determine the initial proportions of FeO and Fe2O3.  I am currently running analyses with a range of buffers, but comparing my experimental results to the rhyolite-Melts output I a tending towards QFM for the process in atmosphere, and Fe-FeO to model the process in vacuum. Are these values reasonable?  I notice that rhyolite-Melts will automatically remove the buffer if the algorithm encounters convergence problems. Should I maintain the buffer throughout the analysis (from liquidous through to solidus and back) or is it more appropriate to set a buffer to determine the composition at the liquidous temperature and the to remove the buffer thereafter?
The log10fO2 in air is -0.68 (roughly QFM+10) and is fairly insensitive to temperature. There isn't a way to buffer to an absolute logfO2 value in the GUI or easyMelts (there is in alphaMELTS), so you probably just want the most oxidizing value you can get, which would be HM. Or another approach would be to distrubute the Fe as FeO and Fe2O3 manually (e.g. see DOI 10.5281/zenodo.5907843) and leave the buffer off. At 1200oC, for the composition you give this would be 8.13 grams Fe2O3 and 1.45 grams FeO (the input to MELTS is actually grams, it's just that we typically use ~100 grams so that it looks like wt%). The fO2 will change a bit during the calculation but you can check the melts.out output to see how much it departs from the "in air" value.

For the vacuum, I'm not sure: I don't know enough about the experimental procedure to say really. But calculations for lunar conditions often use IW for the fO2 buffer, so I guess that's reasonable.

As to whether to keep the buffer on, as mentioned above there can be trouble crossing the solidus with the buffer on. I suggest trying to keep it on. But also try repeating the calculations, switching the buffer off just after the find liquids step, to see how much it deviates.

I recently discovered a bug in the subsolidus fO2 routines, which could increase the chance of failure of the fO2 buffering (which, as you note, means the buffer gets switched off) or complete failure of the equilibration. I will be posting updated executables for easyMelts and most alphaMELTS software as soon as I can, but there are quite a lot of other things to deal with first (updates to the operating systems, introduction of M3 chip Macs etc). The Rhyolite-MELTS GUI and alphaMELTS 1.9 won't be updated, so that's another reason to check out easyMelts!

Quote4.    In the original formulation of MELTS and rhyolite-MELTS it appeared from the referenced papers that sub-solidus calibration data was limited. As a result, I am terminating the analyses at around 900 degrees C.  However, I think I read somewhere that additional sub-solidus datapoint were later added. Can you provide any advice on the temperature range for which the rhyolite-MELTS model as implemented by the GUI has been calibrated?
The MELTS and rhyolite-MELTS models were about calibration of the liquid models, so they did not cite any subsolidus data. They did rely on previous calibrations of the solid solution phases, the majority of which were based on subsolidus data. There were algorithms added to the MELTS software to deal with subsolidus conditions (Asimow & Ghiorso, 1998), an improved model for rhombohedral oxide (ilmenite) introduced in the software at the time Rhyolite-MELTS was published (Ghiorso & Evans, 2008), and some solid carbonate phases added when the mixed H2O-CO2 fluid model was published (Ghiorso & Gualda, 2015).

On Mark Ghiorso's MELTS site it says (Rhyolite-)MELTS is good for a temperature range 500-2000oC.

Hope that helps!
Paula

#14
Hi,
Apologies in advance, I am new to both the MELTS programs and to petrology/mineralogy. 

I am running the rhyolite-Melts GUI as part of an investigation into the viability of melting lunar regolith to make construction materials.  I am running experiments in the lab using lunar regolith simulants which I will use in conjunction with the rhyolite-METLS GUI to determine the thermo-physical properties of the regolith melt which I will feed into a computational fluid dynamics model of the casting process. 

Lunar material is generally either basaltic (for lowland areas) or anorthositic. It has a low silica content (40-50%). Typical composition is as below:

Sample  SiO2  Al2O3  FeO    CaO    MgO      TiO    Na2O    K20      SiO2
LMS_1  46.9%  12%    8.6%  7.0%  16.8%  3.6%  1.7%    0.7%  46.9%


Most of the casting experiments will be in air, though I will need to extend the results of the CFD model to casting in a vacuum. 

For each rhyolite-MELTS analysis, I first enter the chemical composition of the material and calculate the liquidous temperature for a given oxygen fugacity and run down to just below solidus before running back up to above liquidous. Typical variation of mineral content with temperature is as the graphs below (apologies if these do not show up I am struggling to see how to attach images).





I have a few questions about how to best model the processes using rhyolite melts:

1.    When running the analysis the quadratic minimization algorithm quite often fails to converge.  To overcome this issue I either: change the oxygen fugacity for a small increment before changing back; skip over the problem temperature (by changing the starting temperature); or if the issue occurs below solidus, then I adopt a minimum temperature higher than the problem temperature. Are these approaches valid?  On-line it suggests making a minor change to composition, but I am unsure of what element's composition I should change or by how much.

2.    I get a higher solidus for heating compared to cooling. On heating, quite often the solidus temperature is problematic for quadratic convergence, and the solidus temperature I obtain is quite sensitive to the approach I take to overcoming this issue. Can I clarify what aspect melts-rhyolite algorithm and its calibration give rise to this asymmetry in the solidus temperature for cooling and heating and the best approach to accurately predict the solidus temperature.
 
3.    The data I have on the regolith precursor will always give total Fe either as FeO or Fe2O3 equivalent, so I need to impose a buffer to determine the initial proportions of FeO and Fe2O3.  I am currently running analyses with a range of buffers, but comparing my experimental results to the rhyolite-Melts output I a tending towards QFM for the process in atmosphere, and Fe-FeO to model the process in vacuum. Are these values reasonable?  I notice that rhyolite-Melts will automatically remove the buffer if the algorithm encounters convergence problems. Should I maintain the buffer throughout the analysis (from liquidous through to solidus and back) or is it more appropriate to set a buffer to determine the composition at the liquidous temperature and the to remove the buffer thereafter?

4.    In the original formulation of MELTS and rhyolite-MELTS it appeared from the referenced papers that sub-solidus calibration data was limited. As a result, I am terminating the analyses at around 900 degrees C.  However, I think I read somewhere that additional sub-solidus datapoint were later added. Can you provide any advice on the temperature range for which the rhyolite-MELTS model as implemented by the GUI has been calibrated?

Thanks in advance for any advice you are able to give.
#15
Windows / Re: How to combine the output ...
Last post by Paula - January 18, 2024, 09:37:04 AM
Click the alphaMELTS 2 link in the reply (https://github.com/magmasource/alphaMELTS). It'll take you to the alphaMELTS source repository. Soon the releases will be hosted there, but in the short term, there are separate links to download pages for alphaMELTS 2 and alphaMELTS for MATLAB/Python.

Paula
#16
Windows / Re: How to combine the output ...
Last post by hyjwhyjw - January 18, 2024, 12:03:39 AM
Quote from: Paula on January 16, 2024, 10:21:07 AMHi,

alphaMELTS 1.9 (double-click) doesn't have a way to generate the melts.out and .tbl files. You just have to import the .txt files into Excel individually (though you don't need logfile.txt or alphaMELTS_tbl.txt if you do the others). Using column_pick.command to generate a single file with the values you are interested in is an option. That way you only have to import one or two .txt files instead of 5.

Alternatively, alphaMELTS 2 has an option to output GUI-style files like the easyMelts ones, as described in its tutorial:

https://magmasource.caltech.edu/forum/index.php/topic,975.0.html

It also has a more flexible column-pick.command script, which not only allows you to pick columns from existing files but also to automate calculation of variables. E.g. see this workshop example:

https://magmasource.caltech.edu/gitlist/Workshops.git/tree/main/workshop_files/RC12frac_b_withcolcustom/alphaMELTS2/

You can use the value from an earlier column by putting curly brackets around the name, like in the example which calculates FeOtot, Mg#, and Mg# as %:
Quote! custom expressions need to be at the end and are processed left to right; avoid special characters like in FeO* or Mg#
File: Liquid_comp_tbl.txt
Table: "Liquid Composition"
Columns: SiO2 TiO2 Al2O3 Fe2O3 Cr2O3 FeO MnO MgO NiO CaO Na2O K2O P2O5 H2O CO2 FeOtot={FeO}+0.9*{Fe2O3} Mgnum=({MgO}/40.3044)/(({MgO}/40.3044)+({FeO}/71.8464)) Mgpc=100*{Mgnum}

Paula

Thank you Paula!
But where can I download the alphaMELTS 2 ?
#17
Windows / Re: How to combine the output ...
Last post by Paula - January 16, 2024, 10:21:07 AM
Hi,

alphaMELTS 1.9 (double-click) doesn't have a way to generate the melts.out and .tbl files. You just have to import the .txt files into Excel individually (though you don't need logfile.txt or alphaMELTS_tbl.txt if you do the others). Using column_pick.command to generate a single file with the values you are interested in is an option. That way you only have to import one or two .txt files instead of 5.

Alternatively, alphaMELTS 2 has an option to output GUI-style files like the easyMelts ones, as described in its tutorial:

https://magmasource.caltech.edu/forum/index.php/topic,975.0.html

It also has a more flexible column-pick.command script, which not only allows you to pick columns from existing files but also to automate calculation of variables. E.g. see this workshop example:

https://magmasource.caltech.edu/gitlist/Workshops.git/tree/main/workshop_files/RC12frac_b_withcolcustom/alphaMELTS2/

You can use the value from an earlier column by putting curly brackets around the name, like in the example which calculates FeOtot, Mg#, and Mg# as %:
Quote! custom expressions need to be at the end and are processed left to right; avoid special characters like in FeO* or Mg#
File: Liquid_comp_tbl.txt
Table: "Liquid Composition"
Columns: SiO2 TiO2 Al2O3 Fe2O3 Cr2O3 FeO MnO MgO NiO CaO Na2O K2O P2O5 H2O CO2 FeOtot={FeO}+0.9*{Fe2O3} Mgnum=({MgO}/40.3044)/(({MgO}/40.3044)+({FeO}/71.8464)) Mgpc=100*{Mgnum}

Paula
#18
Windows / How to combine the output of a...
Last post by hyjwhyjw - January 16, 2024, 12:42:02 AM
Using EASYMELTS, I had access to MELTS.OUT and many TBL files, and later via

https://magmasource.caltech.edu/gitlist/Combine_tbl.git/blob/master/MELTS_Excel-Combine_tbl_2.zip

, the results were easily combined to automatically create tables and charts similar to the MELTS for Excel

However,

I followed the alphaMELTS (double-click) version of the tutorial

https://magmasource.caltech.edu/forum/index.php/topic,752.msg974.html#msg974

At the end of the program run, I don't see MELTS.OUT in the specified OUTPUT folder, and the output filenames are all. txt:

alphaMELTS_tbl.txt

Bulk_comp_tbl.txt

Liquid_comp_tbl.txt

logfile.txt

Phase_main_tbl.txt

Phase_main_tbl.txt

......

What should I do to combine the output of alphaMELTS and get tables and plots similar to MELTS for Excel?
#19
alphaMELTS 2 text-menu interface / Re: Assimilation in Alphamelts
Last post by Paula - January 09, 2024, 07:15:38 PM
Hi Brian,

The larger files were generated with easyMelts, and I suggest you play around with easyMelts to get a feel for how the interface for specifying an assimilant and the resulting .melts files are related.

There will be lines that you need to delete or edit for it to work in alphaMELTS. For example, amphibole is separated into clinoamphibole and orthoamphibole in alphaMELTS. Feldspar is separated into plagioclase and alkali-feldspar in alphaMELTS 2. If you delete the line for a particular solution phase then you need to delete the lines for the end members. If you delete only amphibole then tremolite will give issues; delete feldspar then albite will give issues etc. You should be able to delete most of the lines with a 0.0 - that's what isothermal test 1 did.

test 2 illustrates a small extension to the alphaMELTS code for reading in assimilation settings. In the GUI and easyMelts you specify the total mass of assimilated material and the number of increments to divide it into. In alphaMELTS 2 you can also optionally add the same mass of material at each iteration until the run stops for other reasons e.g. it reaches the final temperature. This more closely matches the behavior of alphaMELTS 1.X. The change in the .melts file is to put "Assimilant: Increments 0" (compare with putting '0' for number of iterations in the menu option 4).

Note that in each case "Assimilant mass:" refers to the mass of solid assimilant, which is made up of the mineral phases that you define phase and end member proportions for. The "Liquid mass:" line is for the liquid or bulk assimilant. The .melts output is a bit confusing, as the liquid mass line is early on in the file but the oxide wt% values that belong to the liquid or bulk assimilant are printed last (i.e. the lines at the bottom of the larger .melts files). If alphaMELTS was crashing it might have been a divide by zero error.

test 3 illustrates another extension in alphaMELTS 2 where phase mass proportions are given, in this case 100 wt% olivine (note that the line is "Assimilant: olivine mass 100.00", whereas in test 1 it is "Assimilant: olivine 100.00"). The oxide wt % values then refer to whatever the most recent "mass" line was. You can have multiple solid phases. This replaces the alphaMELTS 1.X assimilation option with separate .melts enrichment files for each mineral phase (see here).

For isothermal conditions bulk assimilation and liquid assimilation are the same and you can just use a "Liquid mass:" line and then make sure the oxide wt % lines come before any other phase mass lines. For isenthalpic or isentropic calculations, it will be the metastable liquid properties that are used to calculate the reference enthalpy or entropy of the assimilant respectively.

There will be an option to equilibrate the assimilant, which will be replacing the binary file assimilant from alphaMELTS 1.9. Instead of having to write out and read in binary files, though, the user will be able to simply swap the (already equilibrated) system and assimilant properties. It's not fully implemented yet, but it's coming soon. So watch this space!

Paula
#20
alphaMELTS 2 text-menu interface / Re: Assimilation in Alphamelts
Last post by balta1701 - December 29, 2023, 02:55:21 PM
How this browser was logged in under my old email address/account I don't know either, but adding a post here so that it goes to updated email address.