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.
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).
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.
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).
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
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}