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 - matrix

#1
Dear Paula,

Thank you very much for the detailed guidance. Following your advice, I found a little strange result. alphamelts 1.9 is used, and the steps are:
step 1: choose 1 (to read .melts file)
step2: LPUM.melts (input .melts file name)
step 3: 7 (impose initial entropy, enthalpy or volume)
step 4: 1 (to use current total enthalpy)
step 5: 3 (single/batch calculation)
step 6: 1 (initial superliquidus guess)
step 7: 7 (impose initial entropy, enthalpy or volume)
step 8: -116000.0 (new system total enthalpy J per 100 g)
step 9: 3 (single/batch calculation)
step 10: 0 (quit)

steps 1-7 are used to get current system total enthalpy, -115900.0 J per 100 g, for example. I need extract dQ=100.0 J per 100g from the system, so -116000.0 is input. These will give new temperature that is compatible with dQ. Setting file is:

ALPHAMELTS_VERSION pMELTS
ALPHAMELTS_IMPOSE_FO2 true
ALPHAMELTS_MODE isentropic
ALPHAMELTS_DELTAP 0
ALPHAMELTS_DELTAT -0.1 (very small if dQ is small)
ALPHAMELTS_MAXP 40000
ALPHAMELTS_MINP 1
ALPHAMELTS_MAXT 1800
ALPHAMELTS_MINT 1000
ALPHAMELTS_SAVE_ALL true

Accordingly, Log fO2 Path : IW and Log fO2 Delta: -1.0.

The above, if it runs just once, gives new temperature after dQ is removed. However, if the outcome above (new liquid composition, new T) is set as input of the next calculation, the steps 1-7 would give a new current system total enthalpy that is different from the result of previous enthalpy, that's strange. Say, H0 is initial system total enthalpy, H is new system total enthalpy:
calculation 1: H0=-115900, H=-116000
calculation 2: H0=-116037, H= -116137
calculation 3: H0=-116147, H=-116247
......
as you can see, H in calculation 1 is different from H0 in calculation, etc. Since at T~1800 C, system is always superliquidus, thus liquid composition stays constant. So, the only variable is temperature T. Why H in calculation is different from H0 in calculation 2? This is puzzling. Could you please give me some hints?


Best,
Mingming
#2
Dear all,

The .melts file and setting file have included initial temperature, pressure and final temperature, pressure. This means the energy absorbed from environment or removed from system itself is forced to meet given temperature and pressure (in fact, energy has no control on system evolution, and just being a natural input or output). However, I recently came across with a situation where the energy removed from system is given (or known), but temperature is wanted (pressure is known). I have no idea how to do it, do you guys have any suggestions? Any advice is welcome.

This problem is explained in detail as following:
(1)at time=0, the system has initial composition X0,  Temperature=T0 (superliquidus), pressure=P0; then this system is cooled by ambient medium. At some time t1>0, the total energy removed from system due to convection and conduction is known as Q. Q is of course equal to sensible heat from temperature change and latent heat from crystallization. So, how to know the temperature drop dT and the mass of minerals newly crystallized during this time interval?
(2)This problem is initially from binary metal alloy system whose liquidus is known as a function of concentration of one component, see 'Numerical method for solution of strongly coupled binary alloy solidification problems' by Daming Xu et al.,1991. The explicit liquidus is used to calculate temperature drop and mass crystallized and even new concentration. In magma system, however, there are no such explicit functions of liquidus, elements concentration, etc.

Either temperature drop or minerals mass crystallzed is known, the other quantity is known. So, I have to find a way to calculate one of the two quantities.


Thank you all
Mingming
#3
Wow, that's really cool. Hope geoscience programmers love it.


Mingming
#4
Tips, tools & add-ons / Fortran call alphamelts
April 26, 2019, 07:45:11 PM
Hi all,

I came up with an idea for the calculation of alphamelts as a subroutine embeded  in Fortran program. Fortran is much faster in numerical calculations (e.g., nonlinear heat conduction with layers of iterations, my case), while alphamelts is specificlly designed for (T,P,X) of rocks and it's needed in my case too, so I put alphamelts in my Fortran code. All you need is: 1. declare a character variable, e.g., cmdstr, at the begining of Fortran code; 2. add one line 'call system(cmdstr)' where needed. For example, cmdstr='E:\MELTS\run_alphamelts.command -f E:\MELTS\frac_xtal_env.txt -p E:\MELTS\test\ -b E:\MELTS\testbatch.txt', and in testbatch.txt the .melts file should be in absolute path, e.g., 'E:\MELTS\test.melts'. Just make sure all files are in absolute path.

Hope this is helpful.

Mingming

#5
Hi, I found another similar case in which certain mineral disappeared (mineral gap) under some conditions where the mineral was supposed to be there as some researchers suggested. That mineral is just suddenly gone completely. I can not find the causes. But there is indeed some cases where alphaMELTS would not converge even with smaller P/T step. The gaps are filled by certain algorithm (e.g., nearest neighboring algorithm). See the paper "Evolution of young oceanic lithosphere and themeaning of seafloor subsidence rate", Korenaga, 2016. You can contact Paula directly for suggestions, she's very kind.




Best,
matrix
#6
Hi,
Recently, I'm working on partial melting of primitive mantle via pMELTS. The initial condition is set as: primitive Earth mantle composition (Sun and McDonough, 1989), isentropic, continuous melting with minimum melt fraction 0.2%, and starts at 4GPa, 1723K. As pMLETS yielded, OPX is stable within the following area P=0.9-1.2GPa and T>=1250K (of course, OPX is stable at other T and P condition). However, one paper ("Evolution of young oceanic lithosphere and the meaning of seafloor subsidence rate", Korenaga, 2016) shows that there is no OPX within 0.9-1.2 GPa and T>1250K, while CPX is much higher than pMELTS generally predicted in the same area (in their Fig.2b and 2c). What's more insteresting is, e.g., when P=1.0 GPa, T=1622K (which is normal P-T path within Earth upper mantle), I got identical bulk chemical composition to their results (their Table 2, row 1 GPa). (We have the same initial condition). So what is the problem with missing OPX while having the same bulk chemical composition? Possibly it's related to phase transitions. Somebody help me!


Thanks,
Mingming