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

#1
Magma chamber processes / Re: Magmatic mixing, isenthalp...
Last post by Paula - April 01, 2025, 12:16:50 PM
The Assimilant filename is Enrichment.melts.

As described in the ALPHAMELTS_ASSIMILATE documentation you can have a single file or multiple files. That forum thread was about adding the option to have multiple files, but you can still have just 1 file.

See: https://magmasource.caltech.edu/alphamelts/1/manual_text.html#0.1__Toc192218456  (that link is from an older version but it's not changed significantly in the v1.9 pdf).

Magnetite is part of the spinel solid solution, and ilmenite is part of the run-oxide solid solution (see: https://magmasource.caltech.edu/forum/index.php/topic,85.0.html). If you are not getting spinel crystallizing then try suppressing rhm-oxide or change the fO2.

Check the MELTS file section of the documentation (https://magmasource.caltech.edu/alphamelts/1/alphamelts_manual.pdf) for the fO2 format. In alphaMELTS 1.9 you can specify non-integer offsets with "Log fO2 Delta:". Note that in alphaMELTS 2 that line is replaced by "Log fO2 Offset:" for more consistency other MELTS software.
#2
Magma chamber processes / Re: Magmatic mixing, isenthalp...
Last post by GIGN - April 01, 2025, 10:17:05 AM
Thank you very much for your prompt assistance. I sincerely appreciate it.
I'm conducting an isenthalpic calculation: adding a small amount of new magma (new_magma.melts) to a shallow magma chamber (Initial.melts).(A small amount of magma from the deep magma chamber has replenished the shallow magma chamber.)
Following your advice, I gave it a try:
env.txt
ALPHAMELTS_VERSION MELTS
ALPHAMELTS_MODE isenthalpic
ALPHAMELTS_CELSIUS_OUTPUT true
ALPHAMELTS_ASSIMILATE true
ALPHAMELTS_FRACTIONATE_SOLIDS true
ALPHAMELTS_DO_TRACE true
ALPHAMELTS_DO_TRACE H2O true
ALPHAMELTS_TRACE_INPUT_FILE new_trace_data.txt
ALPHAMELTS_SAVE_ALL true


Steps:
-f -----env.txt
1------Initial.melts
3-----1--Superliquidus
12----new_magma.melts-------1--Mix traces and majors
                       20----Mass ...... added     ###Is that correct?
          Tip:  Old reference Enthalpy (H0): not set yet
                   Old total Enthalpy: -1.18037e+006
4------1--Superliquidus
0------Number of assimilant MELTS files (or '0' for binary input file)
1------Mass of enriching agent to be added in grams per cycle1
           Assimilant filename        ###I don't understand here.

       ###Do I need files for many different minerals here? I saw the discussion on "isenthalpic AFC" in the forum(2012). I don't have these files. What should I do?
After completing the isenthalpic mixing, I want to continue by allowing the mixed magma to undergo fractional crystallization under isobaric conditions. Do you have any suggestions?  Unfortunately, I'm stuck at the stage of isenthalpic mixing.My idea is to use the output from the successful mixing as the initial composition for a fractional crystallization simulation under isobaric conditions.

I have two more questions:
(1) Can Alphamelts simulate magnetite crystallization? The results I obtained were rhm-oxide. Is this ilmenite? If Alphamelts can simulate magnetite, how should I set it up?

(2) Can only integer oxygen fugacities be simulated? For example, +1FMQ, +2FMQ, but not +0.5FMQ? When I used non-integer oxygen fugacities, only liquid_0 and olivine_0 appeared, and no other minerals.

Thank you so much for your time and effort. I extend my best wishes to you!

#3
Magma chamber processes / Re: Magmatic mixing, isenthalp...
Last post by Paula - March 31, 2025, 04:50:26 PM
Check the ALPHAMELTS_ASSIMILATE entry in the documentation.
  • Note that ALPHAMELTS ASSIMILATE [sic] is missing an underscore in your file and should be to a value like 'true', not the proportion you want.
  • '=' is not a valid character in the environment file. 
  • There is no 'ALPHAMELTS_ASSIMILATE_FILE' variable. You will be asked for the file name when you call option 4.
  • If you are doing isenthalpic calculations you need to mix majors and traces. This means having ALPHAMELTS_ASSIMILATE set and leave ALPHAMELTS_FLUX_MELTING unset (with a '!' in front).
  • Menu option 12 is the Source Mixer for one off mixing. You want the Remixer, which will be triggered when you call menu option 4 if you have ALPHAMELTS_ASSIMILATE set correctly (and ALPHAMELTS_FLUX_MELTING unset).
#4
Magma chamber processes / Magmatic mixing, isenthalpic p...
Last post by GIGN - March 28, 2025, 06:52:14 AM
Hello, I want to simulate the enrichment process of a trace element in minerals after magma mixing using Alphamelts 1.9 on Windows. The scenario involves mixing a 1200°C magma with a 1180°C magma in a 0.3:0.7 ratio. Both magmas have identical compositions, including H2O and trace elements. However, during the mixing calculation, I consistently encounter errors related to the reference enthalpy settings. Even after adjusting the enthalpy values, the simulation fails. I've tried debugging parameters like temperature, pressure, and oxygen fugacity (fO2) but the problem persists. I'm at my wit's end and urgently need assistance. Below are the steps I followed:
env
ALPHAMELTS_VERSION MELTS
ALPHAMELTS_MODE isenthalpic
ALPHAMELTS_CELSIUS_OUTPUT true
ALPHAMELTS_FLUX_MELTING true
ALPHAMELTS ASSIMILATE=0.3
ALPHAMELTS_ASSIMILATE_FILE=Enrichment.melts
ALPHAMELTS_FRACTIONATE_SOLIDS true
ALPHAMELTS_DO_TRACE true
ALPHAMELTS_DO_TRACE H2O true
ALPHAMELTS_TRACE_INPUT_FILE new_trace_data.txt
ALPHAMELTS_SAVE_ALL true


Initial.melts:
Initial Composition: SiO2 45.4076
Initial Composition: TiO2 4.10505
Initial Composition: Al2O3 15.9333
Initial Composition: Cr2O3 0.00
Initial Composition: FeO 10.6709
Initial Composition: Fe2O3 2.14495
Initial Composition: MnO 0.2072
Initial Composition: MgO 5.5787
Initial Composition: CaO 9.62144
Initial Composition: Na2O 3.59729
Initial Composition: K2O 1.26834
Initial Composition: P2O5 0.918457
Initial Composition: H2O 0.5467
Initial Temperature: 1130.00
Initial Pressure: 1000.00
Initial Trace: Sc 26.6834
Initial Trace: Ni 1.72881
log fo2 Path: FMQ

Enrichment.melts
Initial Composition: SiO2 41.8471
Initial Composition: TiO2 5.23912
Initial Composition: Al2O3 14.5134
Initial Composition: Cr2O3 0.008769
Initial Composition: FeO 14.8942
Initial Composition: Fe2O3 2.1862
Initial Composition: MnO 0.172914
Initial Composition: MgO 6.81381
Initial Composition: CaO 9.53249
Initial Composition: Na2O 3.0196
Initial Composition: K2O 1.0099
Initial Composition: P2O5 0.762578
Initial Composition: H2O 0.0
Initial Temperature: 1200.00
Initial Pressure: 1000.0
Initial Trace: Sc 24.7462
Initial Trace: Ni 3.52352
log fo2 Path: FMQ

-f-----1------3-----1 Superliquidus ------12----1  Mix traces and majors----Mass proportion 0.3

Old reference Enthalpy (H0): not set yet
Old total Enthalpy: -1.18037e+006
and over
..............................

I have tried manually inputting the enthalpy values and other steps, but all attempts have failed,I really need your help.Looking forward to your suggestions!
#5
Many thanks Paula!
#6
For the liquid, the calculation of volume (and hence density) is equivalent to what you describe. Constants a, b, c and d in your expression are calculated for the liquid end members from Lange & Carmichael and e is from comparison with the Birch-Murnaghan equation. This is described and tabulated in the Appendix to Ghiorso & Sack 1995.

For the solid end members the expression is taken from Berman 1988 (equation 5). In your notation it would be: V = a + b(T-Tr) + c(P-Pr) + d(T-Tr)^2 + e(P-Pr)^2

In addition some of the solid solutions, e.g. pyroxenes, have non-ideal volumes of mixing that are detailed in the individual papers describing the solution models. The references are linked in the the pinned forum post (https://magmasource.caltech.edu/forum/index.php/topic,85.0.html) but I imagine that's a lot more weeds than you want to get into.
#7
Hi,

I am trying to understand/confirm how rhyolite-Melts calculates liquid, mineral and system density but have not been able to build up a complete picture from the details given in the literature and have not be able to obtain a copy of Lange and Carmichael (1990).

If I follow correctly the density each oxide component of the liquid is calculated based on the EOS: V = a + b(T-Tr) + c(P-Pr) + D(T-Tr)(P-Pr) + e(P-Pr)^2.  This gives the molar volume which can be divided by the molar weight to get the density of each component, which can then be combined based on the mass percentage to get the liquid density.

Are the mineral densities calculated in the same way? Or are they determined based on a reference density and the co-efficient of thermal expansion?

Thanks in advance for any help!
#8
Windows / Re: Rank deficiency detected b...
Last post by Paula - March 04, 2025, 08:57:14 AM
I assumed it was a made up example for the purposes of the 2014-2015 series of workshops. I guess the REE concentrations came from some reference but I don't know where. Sorry not to be of more help. You could try asking Paul Asimow - he created those files.

Paula
#9
Windows / Re: Rank deficiency detected b...
Last post by Bhuvan - March 03, 2025, 06:34:58 AM
Hello!

It was quite a struggle, but I somehow managed to run the flux melting calculations (though I have no clue how it worked!). Could you please point me towards the source of the hydrous fluid composition given in the workshop files? I checked in the manual and the workshop files but I couldn't find the reference.

Thanks again for your time and help.
#10
alphaMELTS for MATLAB/Python / Re: Suppressing liquid and cal...
Last post by lelkins - February 20, 2025, 07:28:52 PM
Aha, thanks! I'll play with the suppressing phase string to see what I can do, and I'll explore some of the other docstrings and options to see what else you have working so far. It will be useful to be able to do single melting trajectories for isentropic melting, and I think we can replicate the perl operations with this. I can share a notebook after I have set it up, if you like!

Otherwise, we're trying to replicate iterative methods to find the minerals and mineral modes that coexist with a specific liquid F at a given pressure, which is a bit tricky but I think should be possible to automate for easier calculations. We're basically looking for the T where F is within a specific threshold at a particular pressure for a lithology. I have a preliminary notebook that I think I can debug to avoid exceptions/cases that don't converge and basically work.

For what it's worth, we have found that the older garnet model works better for predicting garnet behavior more accurately for some lithologies at high pressure (so using pMELTS), like pyroxenites, and it might be useful to find a way to access that model as an option eventually. I don't have an easy way to automate this kind of iterative operation in perl, though that's really because I lack the coding knowledge.