News:

alphaMELTS 2.3 standalone & for MATLAB/Python is now open source and available on GitHub (https://github.com/magmasource/alphaMELTS).
alphaMELTS 1.9 is available at the legacy download and information site.
For news of all MELTS software see the MELTS Facebook page.

Main Menu

Recent posts

#61
  Dear Paula, thanks for your prompt reply. I downloaded the rhyolite-MELTS/pMELTS via the link https://melts.ofm-research.org/unix.html and run it with my Ubuntu22. I have set a stopping pressure and a pressure increment as you said. It did work.
 
  I found there was some difference between choosing or not choosing the "fractionate liquids". Could you tell me which mode is more appropriate for partial melting of mantle? Before I asked for your help, I have tried to use easyMelts to simulate the partial melting, but it is hard to work and always malfunctions: https://www.youtube.com/watch?v=2lF_0zU7jsw. If you are convenient, please help me to check out where is going wrong.

#62
Hi Gary,

Did you download the latest version from Mark Ghiorso's site? I would be surprised if they work, unless your Ubuntu is quite old. You should have more luck with the version on the alphaMELTS links page, but even those are a few years old. I've transferred my support to easyMelts instead, as 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, there are some things that apply to all versions of MELTS. For a start, MnO and P2O5 are both not calibrated in pMELTS so you should remove those. K2O is better treated as a trace species for mantle melting calculations. There are few solid phases except feldspar for it to go in to, which makes it difficult to approach the solidus. You still may not be able to get right down to the solidus, even without K2O in the system - sometimes seeking the effective solidus where there is a little melt but barely enough for it to be extracted can be more practical.

I can't really tell much from the screenshot because it's from before you specify the P-T path. You need at least a stopping pressure and a pressure increment. I don't think "Compute" does much, unless you have non-zero P and T increments and then it will calculate dP/dT. In the past, I've found the T, P, H, S, V pop up and menu options to be quite sensitive to the order in which you do things (though to be fair, I haven't used the GUI much, so it could be user error). If you try easyMelts, you will need a pressure increment and a number of steps to take, rather than specifying the stopping pressure directly. There isn't a way to input the entropy increment in easyMelts (except via a .melts file) but you don't need that anyway.

Once you have closed the T, P, H, S, V pop up and select "Execute" what happens? Does it calculate the equilibrium for 1380oC, 2000 bars and then stop? Or does it fail on this first step? If the latter, what are the error messages? Neither the GUI or easyMelts are especially geared towards mantle melting. It doesn't necessarily mean something is wrong, but you might need to use a workaround (or try alphaMELTS).

If it's failing in the initial subsolidus step then you might need to approach from higher temperature or lower pressure first (without "fractionate liquids", and isentropic mode). Then once you have the starting conditions you want, turn on "fractionate liquids" and isentropic mode, reset the pressure increment and stopping value and do Execute again.

Paula
#63
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!
#64
That is fantastic!  Thanks so much Paula.  I will check out easyMelts and implement your suggestions.

Cheers,

Kevin
#65
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

#66
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.
#67
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
#68
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 ?
#69
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
#70
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?