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

QUADRATIC MINIMIZATION FAILURE during fractional melting

Started by Ri Cao, October 21, 2021, 10:02:53 AM

Previous topic - Next topic

Ri Cao

Hi Paula,
This is Ri, a fresher user of Rhyolite-melt (version 1.0.1). Sorry for my interruption but I have a question regarding the Algorithm convergence issue.

Recently, when I run the MELTS software to do the fractional melting (I assume that I should tick the ''fractionate liquid'' button in the Options list in order to run the fractional melting). However, if my system does not have SO3, the results just show me a piece of error information: The Quadratic minimization Algorhitms has failed to converge (see attached figure 1).

I understand from the previous post that I could change the chemical composition to make things work. On top of this, I modify the SO3 content from 0 to 1.6 wt% then the calculation works when SO3 > wt 1%. Would you please provide some insights on why changing the SO3 content could make the calculation work? (i.e., some underlying physics)? Thank you very much and I look forward to your response.

Sincerely,
Ri

Paula

Hi Ri,

SO3 is not calibrated in the any of the current MELTS models, so you shouldn't be including it (same goes for Cl and F). I do vaguely remember a bug in the rhyolite-MELTS GUI to do with entering the composition in those boxes, but that was years ago. What version of rhyolite-MELTS are you using (operating system, where did you download it from)?

Paula

Ri Cao

Hi Paula,
Thank you very much for your prompt response.

The operating system I am currently using is Mac OS (Big Sur). The Rhyolite-Melts I am currently using is 1.0.2. I downloaded the software from there:

https://melts.ofm-research.org/macosx.html.

Since I am a totally fresher user of Rhyolite-melts, I was wondering when I do the fractional melting, is that the ''fractionate liquids'' or ''fractionate fluids'' button that I should tick in the Options list in order to run the fractional melting (please see attached figure 1)? Probably, in this case, we should set up the starting temperature lower than the stop temperature in this case? (i.e., from 1000 oC to 1300 oC)? Thank you very much and I look forward to your response.

Sincerely,
Ri Cao

Paula

Hi Ri,

Two things: firstly, the graphical user interface doesn't have a good way to start subsolidus. Much better is to start at at higher temperature and run down-temperature, without any fractionation, until you get to the solidus, or near to it. Then change the temperature limits to go up-temperature, and turn on fractionation before continuing the calculation. It may take a bit of trial and error to know where to stop.

The output will all go the same files, so you'll have to ignore the earlier results and just use the fractional melting ones. But you are more likely to get realistic results this way.

Secondly: for fractional melting you need "Fractionate liquids", where "liquid" = silicate liquid. "Fractionate fluids" refers to the H2O - CO2 mixed fluid that may exsolve at lower pressures. Ticking both should not do any harm. What are you melting anyway?

Paula

Ri Cao

Hi Paula,
Thank you very much for your prompt response and clarification regarding the fractional melting issue.

I have tried the calculation following the steps you suggested above. I successfully found the solidus temperature using equilibrium crystallisation and I stop the calculation at 5 degreeC below the solidus temperature. Then, as you suggested, I start to reset the temperature limits to let it go up-temperature (i.e., start temperature = 950oC (solidus temperature) - 5 oC, stop temperature: 1000 oC), with current temperature step = 10 oC.

However, after I clicked the running button, that just show me: ''Checking saturation state of potential solids' and it seems that the programme is not in iteration/running at the moment. I was wondering did I miss some fundamental step for this fractional melting calculation exercise?

Out of curiosity, when we start to change the temperature limits to go up-temperature, shall I close the graphical user interface and reopen that again? or I could just run the calculation in the same interface as before?

The system I am trying to melt is some data from Venus surface (i.e., starting composition: SiO2: 47%, TiO2: 1.7%, Al2O3: 16.3%, FeO:6.8%, MnO: 0.2%, MgO:11.7%......)

Any thoughts on this will be very helpful! Thank you very much and I look forward to your response.

Sincerely,
Ri Cao

Paula

Quote from: Ri Cao on October 25, 2021, 02:54:30 PM
I have tried the calculation following the steps you suggested above. I successfully found the solidus temperature using equilibrium crystallisation and I stop the calculation at 5 degreeC below the solidus temperature. Then, as you suggested, I start to reset the temperature limits to let it go up-temperature (i.e., start temperature = 950oC (solidus temperature) - 5 oC, stop temperature: 1000 oC), with current temperature step = 10 oC.
That is rather big for a temperature step, especially for fractional melting. I would try something <= 3oC.
Quote
However, after I clicked the running button, that just show me: ''Checking saturation state of potential solids' and it seems that the programme is not in iteration/running at the moment. I was wondering did I miss some fundamental step for this fractional melting calculation exercise?
I would also stop the calculation just above the solidus (with the smallest melt fraction you can do get but non-zero). Having a little bit of liquid around at the start, no matter how little, will help to stabilize the calculation and maybe it will not hang like that.
Quote
Out of curiosity, when we start to change the temperature limits to go up-temperature, shall I close the graphical user interface and reopen that again? or I could just run the calculation in the same interface as before?
Do not close the GUI. The whole point is that trying to start from the solidus is difficult, and that approaching it from higher temperatures is more likely to work.
Quote
The system I am trying to melt is some data from Venus surface (i.e., starting composition: SiO2: 47%, TiO2: 1.7%, Al2O3: 16.3%, FeO:6.8%, MnO: 0.2%, MgO:11.7%......)
You probably want to play around with the oxidation state - either by inputting some Fe as Fe2O3 or by setting a fO2 buffer. Or maybe you already doing that?

Paula

Ri Cao

Hi Paula,
Thank you very much for your clarification regarding my questions above.

Following your suggestions, the minimum melt fraction I could get is approximately 8% (1 oC above the solidus temperature). On top of this, I started to increase the temperature to run the fractional melting with temperature step = 2 or 3 oC and that works now.

Regarding the redox state: Yes, I computed the redox state ahead of the calculation and also choose the FMQ = 0 for the calculation.

I was wondering that would be interesting to see the variation of FMQ (i.e., -1, or +1) could (1) potentially influence the calculation results or (2) could resolve the algorithm converge issue? Thank you very much for your suggestions.

Sincerely,
Ri Cao


Ri Cao

Hi Paula,
Sorry for my interruption again but another question I have found is that:

After I started to run the fractional melting, something comes weird here: After finding the solidus temperature (960 oC), I started the fractional crystallization at 960.6 oC (only 0.72% melt), and I set up the temperature step to 1 or 2 oC. However, the first step of the fractional melting gave me a huge amount of the liquid in the system (approximately 9 gm), however, for the rest of the calculation, the maximum liquid mass for each step is <<1.

For instance, here are some proportions of data from melts-liquid.tbl file:
Index  Temperature Pressure      Liquid Mass
21      960.6           0.1      7.16E-01
22       962.6           0.1      9.99E+00
23      964.6           0.1      1.75E+00
24      966.6           0.1      1.89E+00
25      968.6           0.1      2.06E+00
26      970.6           0.1      2.29E+00
27      972.6           0.1      7.52E-01



I was wondering is there something wrong with the calculation for the first step at 962.6 oC temperature since we get a huge amount of the liquid? Thank you very much and I look forward to your response.

Sincerely,
Ri Cao

Paula

It is quite common to get some hysteresis near the solidus, and sometimes the calculated phase assemblage is actually metastable.

One thing you might check is whether the melt productivity is smooth going down and up temperature for batch crystallization / melting. Do you get the same assemblage in each direction? Which assemblage is the stable one (as judged by the total Gibbs free energy)?

There is a worked example for a comparable situation for fractional crystallization in the most recent workshop files (easyMelts is similar enough to the Rhyolite-MELTS graphical user interface that it should be possible to follow):

https://magmasource.caltech.edu/gitlist/Workshops.git/tree/main/workshop_files/RC12frac/easyMELTS/
https://magmasource.caltech.edu/gitlist/Workshops.git/tree/main/workshop_files/RC12frac_b/easyMELTS/

Ri Cao

Dear Paula,
Thank you very much for your reply.

Yes, I tried to check the batch crystallization/melting and let the model go in each direction (i.e., decrease T and increase T), and the results looks almost the same. When I compare the Alkaline versus SiO2, or CaO versus SiO2 ...., the starting point and the endpoint looks exactly the same and just see a little bit of difference (within 1%) of Alkaline or CaO, TiO2 content in the middle of the calculation).

I am not too sure which assembly is the stable one. I plotted the Gibbs free energy versus temperature for both batch melting and batch crystallization and the results look almost the same. Would you please provide some further insights on this?


I tried the exercise you mentioned below (workshop exercise), and I have some questions there:

(1) Regarding the fO2 buffer to QFM_M1, does that mean I should choose FMQ-Mt+1 in this case?
(2) Is there a ''isothermal'' button I should click in the options list?
(3) How shall I choose the Calc steps? (i.e., 5 Cals steps at -1oC temperature increment)? Shall I set up a specific stop temperature to constrain the Calc steps?

Sorry for these repetitive questions and please take your time to respond. Any thoughts on this will be very helpful! Thank you very much.

PS: Are there any recordings for this recent workshop? or How shall I get the information or register if there are any future workshops regarding MELTS software in the near future? Thank you very much.

Sincerely,
Ri Cao

Paula

Quote from: Ri Cao on November 03, 2021, 08:13:56 AM
Yes, I tried to check the batch crystallization/melting and let the model go in each direction (i.e., decrease T and increase T), and the results looks almost the same. When I compare the Alkaline versus SiO2, or CaO versus SiO2 ...., the starting point and the endpoint looks exactly the same and just see a little bit of difference (within 1%) of Alkaline or CaO, TiO2 content in the middle of the calculation).
Have a look at what phases are crystallizing / melting out. What is produced or consumed when the amount of liquid jumps? It's possible that it's an artifact of some chemical components not having many solid phases to go into (in MELTS' world).
Quote
I am not too sure which assembly is the stable one. I plotted the Gibbs free energy versus temperature for both batch melting and batch crystallization and the results look almost the same. Would you please provide some further insights on this?
Whichever has the more negative Gibbs Free Energy is the more stable one.
Quote
I tried the exercise you mentioned below (workshop exercise), and I have some questions there:
(1) Regarding the fO2 buffer to QFM_M1, does that mean I should choose FMQ-Mt+1 in this case?
No, Q-Fa-Mt+1 will correspond to FMQ+1. You want Q-Fa-Mt-1.
Quote
(2) Is there a ''isothermal'' button I should click in the options list?
No, that's an easyMelts setting. Calculations will be "isothermal" / "isobaric" by default in the graphical user interface. Just don't select Isenthalpic, Isentropic or Isochoric.
Quote
(3) How shall I choose the Calc steps? (i.e., 5 Cals steps at -1oC temperature increment)? Shall I set up a specific stop temperature to constrain the Calc steps?
Yes, set the final temperature and temperature increment the same way as you did with the other calculations.
Quote
PS: Are there any recordings for this recent workshop? or How shall I get the information or register if there are any future workshops regarding MELTS software in the near future? Thank you very much.
No recordings, sorry. We weren't allowed to record it. The next workshop is planned for Goldschmidt next summer. There will be announcements once the registration site goes live, which will be December / January time.

Best wishes,
Paula

Ri Cao

Dear Paula,
Thank you very much for your response and clarification regarding my questions above.

In terms of mineral phases crystallizing/melting out, after checking the melts.out file, I believe that presumably, there is a type of spinel disappear from the system that causes the jump up of the liquid at the first step (please see detailed spinel information below).

spinel           mass = 2.81 (gm)  density = 3.88 (gm/cc)     (analysis in mole %)
                 Fe''0.31Mg0.72Fe'''0.34Al1.61Cr0.00Ti0.02O4
                 G = -39939.73 (J)  H = -32506.70 (J)  S = 6.02 (J/K)  V = 0.72 (cc)  Cp = 3.29 (J/K) 
           chromite     hercynite     magnetite        spinel    ulvospinel
               0.00          8.83         16.97         71.78          2.42


For the workshop exercise, yes, I just followed your suggestions (i.e., the second link you sent me in the previous message) and I could successfully run until step 15 (do 270 more calc steps at a T increment of -1 oC). My calculation finished at 918.04 oC, and that said the calculation fail to converge at that temperature. I was wondering probably I could decrease the calc steps a little bit in order to run through step 10, and 11?


Finally, just out of curiosity, I run some Venus igneous system batch modelling recently, and it sounds like I got two clinopyroxenes, where the former one is Al,Ti rich diopside and the latter one is esseneite. since esseneite might not exist in the igneous system, I was wondering probably MELTS is considering the mass balance or chemical equilibrium of the whole system (i.e., there are some silica-poor Fe3+ left) that MELTS give us the output mineral esseneite? Any thoughts on this will be very helpful, too. Thank you very much.

sincerely,
Ri Cao 

Paula

Quote from: Ri Cao on November 07, 2021, 03:20:09 AM
In terms of mineral phases crystallizing/melting out, after checking the melts.out file, I believe that presumably, there is a type of spinel disappear from the system that causes the jump up of the liquid at the first step (please see detailed spinel information below).
OK. Might be worth trying different fO2 buffers (like you suggested before) and/or experiment with turning the buffer off after calculating the initial Fe2+/Fe3+ distribution.

Quote
For the workshop exercise, yes, I just followed your suggestions (i.e., the second link you sent me in the previous message) and I could successfully run until step 15 (do 270 more calc steps at a T increment of -1 oC). My calculation finished at 918.04 oC, and that said the calculation fail to converge at that temperature. I was wondering probably I could decrease the calc steps a little bit in order to run through step 10, and 11?
The plot tab mentioned in step 10 is specific to easyMelts. None of the plots work in the graphical user interface anymore, e.g. see here. But you can use Combine_tbl (called Melts_Excel in the instructions) to plot results. Or you can try easyMelts!

Quote
Finally, just out of curiosity, I run some Venus igneous system batch modelling recently, and it sounds like I got two clinopyroxenes, where the former one is Al,Ti rich diopside and the latter one is esseneite. since esseneite might not exist in the igneous system, I was wondering probably MELTS is considering the mass balance or chemical equilibrium of the whole system (i.e., there are some silica-poor Fe3+ left) that MELTS give us the output mineral esseneite? Any thoughts on this will be very helpful, too. Thank you very much.
Yes, it may just be an artifact as (I think) you are suggesting. How much of the essenite is MELTS predicting?

Ri Cao

Dear Paula,
Thank you very much for your response.

Yes, I tried to decrease the fO2 buffer to FMQ = -1, and the initial jump down of the melting liquid disappear. I was wondering does that mean we decrease the fO2 buffers so that inhibit the crystallization of spinel that resolve the issue (liquid jump up)?

That makes sense now for step 10, I just import the melts output file to Matlab to create the plot. Recently, I just understood that MELTS has the MATLAB version so that I could incorporate melts in Matlab directly.

For the esseneite, yes, I believe that only small amount of esseneite appears in the system. For instance, normally, for batch melting, 0.01 GPa, anhydrous, we have 14 (gm), Al, Ti-rich diopside crystallized in the system, but the amount of esseneite is only approximately 0 -4 (gm) (the lower the temperature, the higher the esseneite we could obtain in the system). Perhaps, I could just ignore this esseneite in this case due to artefact? Thank you very much.

Sincerely,
Ri Cao