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
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - asimow

#1
Meanwhile, as for Co and Ni:
• These don't do anything as major element in pMELTS; they were left out of the calibration
• in MELTS and rhyoliteMELTS, CoO and NiO are handled by thermodynamic calculation, not as partition coefficients, at least for olivine-liquid partitioning, following the work of Hirschmann. Of course, you can also set partition coefficients for them and track them as trace elements in parallel with the thermodynamic modeling of them as oxide components of the system.
• Not sure what the previous post meant by "unstable". As major oxides, they may not be right, and they don't account for any solids other than olivine, but they shouldn't be unstable.

If you want to simulate major and trace elements together:
• It sounds like you are already doing that. That is what turning on trace elements in alphaMELTS 1.x does.

Windows:
• Most things now work the same on any operating system, once you get past installation. easyMELTS and alphaMELTS both run native on Windows now without emulators or Linux subsystem. To run alphaMELTS, you just have to have a perl installation. But it sounds like you are past those initial steps already. We don't have a lot of good teaching videos ... the conferences that have hosted our workshops recently have not allowed us to record them.
#2
Hi Jimmy,

It should be possible to set a mineral/melt partition coefficient for Sc for each phase. The default Sc partition coefficients for many phases is 0 (the only defined values in the default file are: clinopyroxene 0.51, feldspar 0.02, garnet 2.27, olivine 0.16, orthopyroxene 0.33). So, let's say you want to change D_Sc_cpx/melt to 4 and, for good measure, D_Sc_ilm/melt to, say, 0.25.

You make a file with these values to override the defaults. Let's call it new_trace_data.txt:
Set D: clinopyroxene Sc 4
Set D: rhm-oxide Sc 0.25

Add as many lines as you like to activate partitioning of Sc into those phases.

Then in your setting file, such as alphamelts_default_env.txt, make sure you have these lines:
ALPHAMELTS_DO_TRACE true
ALPHAMELTS_TRACE_INPUT_FILE new_trace_data.txt

That last one is what tells the program to read in your new partition coefficients. Just editing default_trace_data.txt doesn't do this ... that file is for information purposes only, unless you tell alphaMELTS to read it using ALPHAMELTS_TRACE_INPUT_FILE

Then when you run, you should see values of bulk D above one when the solid assemblage is cox-rich.

Try it.

Meanwhile, as for Co and Ni:

#3
There is a small typo in the install.command script. If you open it with any text editor, go to line 19 and change "install2.command" to "install.command". Save, then run it. That should fix the issue.
#5
Dear Sati,

I don't think you are doing anything wrong and your installation is fine. I believe this change is due to a fix that we have made, since 2020, in the standard state properties of rutile. When you run this calculation now, at 1 bar and 1350°C (where you calculate the entropy that matches the potential temperature of interest), you get an assemblage that includes rutile. When we ran this exercise in 2020, we did NOT get rutile under those conditions. Hence the resulting entropy is different and that causes an offset in the whole isentropic calculation. If you wish to reproduce exactly the previous results, simply add a line to the .melts file that says "Suppress: rutile".

-- Paul
#6
Hi Richard,

First, this composition is illegal as a superliquidus state in MELTS, because it doesn't have enough SiO2 to plot between the liquid end members that have been adopted to describe the silicate liquid phase.

Let me explain: MELTS represents the liquid as a solution among mineral-like molecules. The molecules that were chosen to represent the 9 oxides you are using are Si4O8, TiO2, Al4O6, MgCr2O4, MnSi0.5O2, Mg2SiO4, NiSi0.5O2, CaSiO3, Na2SiO3, KAlSiO4. To make a legal liquid, the number of each of this molecules must be non-negative. But if you convert your weight percents to oxide mole fractions, you'll see right away that SiO2 < (MgO/2) + CaO ... that is, you don't have enough SiO2 to make all the forsterite molecules needed to take up the MgO and the wollastonite molecules needed to take up the CaO. So the error you're getting is entirely appropriate.

Second, did you mean to have absolutely no iron in the system, or did you leave it out? At IW-4.93, maybe there is no FeO left ... I'm just checking. In any case, imposing an fO2 has no meaning in MELTS is there is no Fe in the system ... the only way that it knows how to measure or buffer fO2 is by via the Fe3+/Fe2+ ratio.

In principle, there may be a workaround if you don't try to model the near-liquidus region. A subsolidus initial guess may exist from a state that contains forsterite plus periclase plus other minerals. Then you could work up from there. But the subsolidus initial routine built into alphaMELTS isn't general enough to handle that case. You'd have to use the MATLAB or Python interface to construct the initial guess.
#7
Dear Sati,

What you are doing sounds correct. The reason the behavior you are seeing is unexpected is that the bulk system Fe2O3 is a combination of two effects: the varying Fe2O3/FeO of the melt (which is what Kress and Carmichael describe) and the varying melt fraction and mineralogy as you crystallize the system. The superposition of these two effects indeed gives a minimum in bulk system Fe2O3, I think at the temperature where clinopyroxene joins the residue.

-- Paul
#8
Hi Liz,

I ran your calculation and it worked fine, but I have a bunch of questions about what you're trying to do.

(a) Your input file seems to redundantly have the 0.18 g of Fe2O3 and in the total Fe as FeO, but maybe your text comment indicates that you actually put Initial Composition: FeO 8.008 in your real input file. So that's fine. It should not matter at all whether you put the Fe2O3 in initially or let the program calculate it when you impose the FMQ buffer ... except that your first calculation takes place before you turn the buffer on. Anyway, 0.18 g of Fe2O3 is only equivalent to FMQ at certain conditions, so if you want to stay on the buffer, you should not run closed system with Fe2O3 and FeO separately conserved.
So, for example, if I run with 0.18 g of Fe2O3, then 30000 bars and 1500 °C is above the solidus, but if I turn on FMQ at the same P, T then it is subsolidus.

(b) Why are you doing the business with turning liquid off and equilibrating at 1500 °C and 1 bar? That part of the tutorial is only to obtain a reference entropy for subsequent use in isentropic calculations. If you're not going to run isentropic, you don't need it.

(c) The calculation you describe is a strange one. It appears to be isothermal decompression fractional melting, starting at high pressure and 1500 °C and continuing down pressure in 25 bar steps at constant temperature. This path implies addition of entropy from somewhere ... both decompression and melting should cause the system to cool, and you are not letting it do so. So, what do you really want? Are you trying to find an equilibrium of the source composition at some particular P and T? Do you really mean to do fractional melting? Think about what you are asking the program to do and why.

(d) I don't know at what step you are crashing, so I can't really advise on that.

(e) I don't know what you mean by "to be able to successfully put Cr in the melt...". At 1500 °C, this composition, with Cr and buffered to FMQ, crosses the solidus at about 29550 bars (though it scrapes along at very, very low melt fraction until 28900 bars).

(f) If you include Cr, you will always have residual Cr-spinel. That may be what people meant when they warned you about Cr. You can't ever get a four-phase garnet peridotite, because MELTS doesn't know where to put Cr except in spinel and liquid. Apart from that, and hence a very wide range of garnet-spinel coexistence, the behavior with Cr is OK.

(g) You're right that simultaneously applying isentropic constraint and an fO2 buffer is complicated, but it can be done under some circumstances. The question is whether you need to do so.

So, if you could explain better just what you want ("melt a composition similar to Workman and Hart with an FMQ fO2 underneath a continent" is too vague), we can figure out how to do it.

-- Paul
#9
Unfortunately, calculating the activity of some oxides is not really a well-defined exercise.

For SiO2, TiO2, Al2O3, Fe2O3, CO2, and H2O, these oxides are also components of the MELTS, pMELTS, and rMELTS liquid models and their activities are given in melts-liquid.tbl (you may have to set "output: both" in your .melts file to enable MELTS GUI style output files so that you get melts-liquid.tbl). However, to turn these into activity coefficients you have to decide what mole fraction to use, since gamma = activity/(mole fraction). The mole fraction of, for example, SiO2 molecules among the molecules that represent the liquid in MELTS is *not* the same as the mole fraction of SiO2 on an oxide basis. Probably what you want, though, is activity coefficient relative to an ideal mixture of oxides, in which case go ahead and convert the weight % oxides into mole fractions of oxides (this is not done for you), and divide the activity of SiO2 given in melts-liquid.tbl by mole fraction to get activity coefficient.

The reason this is straightforward for those six oxides is that activity is defined by the relation mu(P,T,X) = mu0(P,T) + R T ln a and for these six (only), we know both mu and mu0 (the chemical potential of the pure liquid oxide at the P and T of interest).

For the other oxides (Cr2O3, FeO, MnO, MgO, CoO, NiO, CaO, Na2O, K2O, P2O5), the liquid model represents these as non-oxide mineral-like molecules (MgCr2O4, Fe2SiO4, MnSi0.5O2, Mg2SiO4, CoSi0.5O2, NiSi0.5O2, CaSiO3, Na2SiO4, KAlSiO4, Ca3(PO4)2) and we only have mu and mu0 for these molecules, not for the oxides. It is straightforward to compute mu for the oxides because the liquid is in equilibrium and so, for example, mu(CaO) + mu(SiO2) = mu(CaSiO3). But the same statement is not true for the end members: mu0(CaO) + mu0(SiO2) ≠ mu0(CaSiO3), because pure CaO, SiO2, and CaSiO3 liquids are NOT in equilibrium with each other. That means MELTS *does not know* the standard state chemical potential of CaO and therefore cannot convert the chemical potential of CaO into activity of CaO.

My advice is try to be satisfied with, for example, activity and activity coefficient of CaSiO3 and figure out how to avoid needing activity coefficient of CaO. If you really want this you have to introduce an external (probably not MELTS-compatible) function for standard state chemical potential of pure CaO liquid.

OK, that was pretty heavy. If you need further explanation please ask.

We do our best job of this calculation in the MATLAB and python versions of melts, rather than in alphaMELTS proper.
#10
Hi Tim. Good questions! The value of ALPHAMELTS_FOCUS_FACTOR you are using is too big. The environment variable sets the factor by which the melt flux is increased *at each step of the calculation*, i.e. every 100 bars of decompression. It corresponds to the intensity of a single focusing event, OmegaD as shown in Figures 1 and 2 of Asimow & Stolper 1999. So, indeed, as you say, it compounds during the calculation to a (near) infinite value of the Integrated Focusing Factor OmegaI, something like 52^400. The focusing factors shown in Figures 4, 5, and 6 are these integrated focusing factors. So, with 400 steps of 100 bars each, to match an integrated focusing factor of, say, 100 (which ought to give you a dunite residue by 0.6 GPa or so), you want to set ALPHAMELTS_FOCUS_FACTOR such that OmegaI^400 = 100, which yields 1.01158. Try that, and make small adjustments to that just-slightly-bigger-than-unity value if you need to fine-tune the opx-out pressure!

-- Paul
#11
There is no easy answer to this question. It depends on how much information you have about the possible source rocks and tectonic setting, and on what you hope to learn from your modeling exercise.

You might start by testing whether the suite of sample compositions that you actually have can plausibly be related to one another by fractional crystallization along a liquid line of descent. For this, just choose the lowest SiO2 sample that you have, and use that as the starting composition. This is independent of what the primary liquid may have been, but if you can't pass this test then searching for a primary liquid won't mean very much. Add enough excess H2O to ensure vapor saturation. Then check various pressure and fO2 conditions, and see how the liquid evolves. Does it move along the trends defined by the sample suite? If not, what could that mean? It could mean you need to add some component of recharge. It could mean the rocks are not liquid compositions but contain a significant fraction of cumulate material. It could mean the rocks are not co-genetic.

Assuming you can find a set of conditions where your suite looks like a liquid line of descent (and I note that often you cannot, because granites are, in my experience, very rarely liquid compositions), you might then choose a parental melt that would be a typical mafic rock for the tectonic setting you suppose your granites were emplaced in. Fractionate that under the same conditions that allow your granitoid samples to be related to each other, and see if it comes close to your samples. If not, you can try manually varying the oxides to improve the fit. In alphaMELTS 1.9 you can use the amoeba to do this search automatically; I think this is not yet implemented in alphaMELTS 2, though.

If you cannot demonstrate to yourself that your samples are liquid compositions along a fractionation path, your other choice is simply to use the rhyoliteMELTS barometer (see Gualda and Ghiorso's paper) to try to locate the multiple saturation conditions where each sample might have formed, and not try to solve the (very difficult) parental melt problem.
#12
We are pleased to announce that a training school, "Empirical and Ab Initio Thermodynamic Models of Minerals and Melts", will be held at the Agricultural University of Athens, Athens, Greece, from 1st - 5th November, 2021, and is sponsored by the European Geosciences Union.

The training school, aimed at early career scientists, is on thermodynamic modeling of natural silicate liquids and their equilibria with minerals and fluids, combining two quite different but complementary intellectual approaches â€" macroscopic and atomistic. The macroscopic approach will be based on the MELTS family of thermodynamic minimization algorithms, whereas the atomistic approach will use ab initio molecular dynamics based on the ABINIT density functional theory package.

Introductory sessions will include talks describing the models and software, with short demonstrations. Practical sessions will aim to give participants first-hand experience using a variety of software interfaces. Examples from the morning sessions will generally be expanded on in the afternoons, and some special calculations will highlight features that are only available (or only convenient) on particular platforms.

Registration form
Information can be accessed here (https://sites.google.com/view/2ndmeltsgr), and a link to the registration form here (https://forms.gle/6ehRgCyV8WCsCYFNA). Furthermore, please address any queries to the workshop organizer, Ioannis Baziotis (ibaziotis@aua.gr; ibaziotis@gmail.com).

Fees - Room and board
There is no registration fee, however, the participants will have to manage hotel accommodation for six nights - arrival on Sunday 31st Oct, 2021, and checking out on Saturday 6th Nov 2021. Participants will need to pay for the accommodation and then submit a claim to EGU. Upon the approval of the workshop, more details will be announced about the maximum amount to be reimbursed and the procedure for reimbursement by EGU.

Transportation
Attendees should make their own arrangements for travel to and from Athens. This will generally involve flying into Athens airport, transfer to the city center (~1 hour via "Metro" or "Proastiakos" train). Details for the transportation schedule can be found here (https://www.athensairporttaxi.com/metro/timetable-to-airport).

Contingencies
Agenda may be scaled back or cancelled in case of small enrollment (<20 participants). Our ability to hold the workshop in-person also depends on continued recovery from CoVID-19 in the European Union; a final decision will be made whether to move to a virtual format by October 1.

Field-trip
One-day post-conference optional tour of the Lavrion area is planned for the last day of the training school.

Subsistence
Refreshments will be provided during the workshop for all participants. Meals are not covered but there are plenty of inexpensive places to eat around workshop`s venue, so you should allow approximately 30 â,¬ per day for subsistence.
#13
Also, for learning the software, let me recommend you work through the workshop files and examples from some of our recent workshops, posted on magmasource at https://magmasource.caltech.edu/workshops/caltech/links.php
#14
alphaMELTS2 does not yet include trace elements. It will soon. You could compute trace elements in alphaMELTS 1.9, but it does not include the rhyoliteMELTS calibration, which is important for highly differentiated granites. So it is best to wait for the trace elements function to be enabled in alphaMELTS 2. In the meantime, you can use alphaMELTS 2 to simulate the differentiation of your suite to match major elements and obtain mineral modes fractionated at each step. Then you can use that information to post-process the trace element evolution by applying suitable mineral/melt partition coefficients of your choice.

However, there is a very important additional consideration: the trace element evolution of highly differentiated granites is DOMINATED by accessory phases like zircon, monazite, xenotime, etc. but MELTS does not know about these phases. So you may have to modify your calculation by using calibrated equations for the saturation of these accessory phases ... the parameters that you need (P, T, liquid composition) for input to these saturation models are available from the alphaMELTS output.
#15
Dear Anna,

Negative values of end-members is normal and not a matter of concern. You should only be concerned if the quantity of some actual element were negative. Let's look at why you get negative end-members so you can understand my answer. The pyroxene components are:

diopside                CaMgSi2O6
clinoenstatite        Mg2Si2O6
hedenbergite        Ca(Fe2+)Si2O6
alumino-buffonite  Ca(Ti0.5Mg0.5)(AlSi)O6
buffonite              Ca(Ti0.5Mg0.5)(Si(Fe3+))O6
essenite               CaFe3+SiAlO6
jadeite                 NaAlSi2O6

So, for starters, consider how to make the perfectly legal and legitimate pyroxene ferrosilite, (Fe2+)2Si2O6. It isn't one of the end-members, but you can make it by a linear combination of them: ferrosilite = clinoenstatite + 2 hedenbergite ââ,¬â€œ 2 diopside. So that means, in normalized percent terms, ferrosilite is

diopside clinoenstatit  hedenbergite alumino-buffo     buffonite      essenite       jadeite
    -200              100               200                   0                0                0               0

In general, any low-Ca, high-Fe2+ pyroxene is going to have negative diopside (geometrically, this happens if it plots below the diagonal from enstatite to hedenbergite in the pyroxene quadrilateral and so is outside the enstatite-hedenbergite-diopside triangle).

For the non-quadrilateral components, you will note that Al-Bf has Al and Ti. Bf has Fe3+ and Ti. Ess has Al and Fe3+. By linear combinations of these three, you can make whatever amount of Al, Ti, and Fe3+ you need. But the abundances of the end-members may well be negative. Consider a pyroxene that contains tetrahedral Al but is free of either Ti or Fe3+. To make that, you have to have positive Al-Bf and Ess and negative Bf (to cancel out the Ti and Fe3+ that come along with the Al in Al-Bf and Ess).

Hope that helps!

-- Paul