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
Thank you for your prompt and detailed reply. Your guidance has been a great help to me, and I will try to make corrections accordingly based on your suggestions.
I appreciate your time and support.
#2
The way settings are applied in the MATLAB version deliberately overlaps with how you set things in a .melts file in the standalone alphaMELTS, easyMelts etc. If the .melts line would start with "Initial..." or "Final..." or is a "Mode:" constraint that describes the PT path (e.g. "Mode: isenthalpic") then you are going to do things the MATLAB way. But for open versus closed behavior and other settings you use string arrays that mimic the .melts file lines, one setting per row. Two formats are currently accepted - separated into keys and values or delimited by a colon like in the .melts file e.g:

settings = ["Log fO2 Path" "FMQ";...
      "Log fO2 Offset" "-1";...
    "Mode" "Fractionate Solids"];
settings = ["Log fO2 Path: -1FMQ";...
    "Mode: Fractionate Solids"];
disp(settings)
 
ptpath.engine.setSystemProperties(settings);

Case doesn't matter but numerical values like -1 should be passed as strings. A third option is coming soon to both MATLAB and Python versions to have a dictionary of keys and values. Also note that you don't have to pass all the settings in one call - past settings will continue to be stored in MELTS for subsequent calculations unless you change them or make a new MELTSdynamic instance.

In alphaMELTS 1.9 there was a .melts file line "Limit coexisting:". In alphaMELTS 2+ and the MATLAB/Python versions it is "Limit number:". So you could try setting "Limit number: clinopyroxene 1" to see if that suppresses the pigeonite and stabilises orthopyroxene instead.

You can also use "Limit number:" to turn on phases after previously suppressing them. For example, "Suppress: clinopyroxene" is synonymous with "Limit number: clinopyroxene 0". "Limit number: clinopyroxene 1" or "Limit number: clinopyroxene 2" would each have the effect of undoing a "Suppress: clinopyroxene" line.

Best wishes,
Paula
#3
Hi Paula,
I am simulating the reaction process between basalt and cumulate rocks (opx+cpx+pl). Based on petrological analysis, Opx should participate in the reaction, but my simulation results show that only cpx and pl are involved in the reaction. Additionally, an unexpected observation is that two clinopyroxene phases (clinopyroxene1 and clinopyroxene2) appear in the mineral phase results instead of the expected single cpx phase and participating opx.
My key question is: how can I modify the code in the alphaMELTS for MATLAB version to suppress the formation of the clinopyroxene2 phase? I suspect that resolving this issue may also help clarify why opx is not participating in the reaction as expected.
I would be extremely grateful if you could provide any insights, suggestions, or guidance on modifying the relevant code sections to achieve this. Please let me know if you need any additional details about my simulation setup, input parameters, or current code implementation to assist with this inquiry.
#4
easyMelts / Re: Restarting from an earlier...
Last post by Paula - February 25, 2026, 12:28:11 PM
This is an old post but just to say that as of Dec 2025 it is possible to tweak parameters and restart an easyMelts calculation, much like the old GUI. See: https://github.com/magmasource/MAGMA/releases/tag/v0.3.0-beta.0

If the calculation is fractional, or has an fO2 buffer set, then you should uncheck "Normalize on save" when restarting.

Also note that at the moment you need to click both Copy P-T and Copy composition from later step before saving as the buttons disappear when the system is reset
#5
easyMelts / Re: [EX] easyMelts version of ...
Last post by Paula - February 25, 2026, 12:18:44 PM
Yeah, sorry. I deleted the DOI, as it was causing some confusion. The GitHub page should be ok though. Use this beta version, as it has lots of updates: https://github.com/magmasource/MAGMA/releases/tag/v0.3.0-beta.0

As noted, there are some known issues that I hope to address soon (definitely before the Magma Chamber Simulator version 2 comes out).

Paula
#6
easyMelts / Re: [EX] easyMelts version of ...
Last post by skenderes - February 14, 2026, 08:30:40 AM
is anyone else having trouble accessing the easyMELTS GitHub page?
#7
General usage / Re: enabling trace elements wi...
Last post by Paula - January 15, 2026, 04:52:48 PM
Hi Elizabeth,

The "Initial Trace:" line and the environment variables like ALPHAMELTS_DO_TRACE are from alphaMELTS 1.9. So for now, delete those lines and see if the calculation runs.

Note that in alphaMELTS 2+ the "Log fO2 Delta:" line is now "Log fO2 Offset:" for consistency with other MELTS software.

Trace elements are coming to the newer alphaMELTS software soon, though they will be implemented for the Python version and PetThermoTools first.

There is a new, easier installation procedure for alphaMELTS 2.3.2. It's currently in beta and not documented on the Github site yet, but if you email me (click the envelope under my avatar) then I'll send you an invitation to the alphaMELTS Discord server and I can walk you through installation there.

Cheers,
Paula
#8
alphaMELTS for MATLAB/Python / Re: How to solve 'Can not find...
Last post by Paula - January 07, 2026, 06:05:17 PM

Did you try installing one of the downloads from the releases from the download link? Are you also using the Python version? If you are on Windows / Python then you will need to download the alphamelts-py-2.3.2-win64-x86_64.zip file.

You need to unzip the file and follow the appropriate instructions at https://github.com/magmasource/alphaMELTS/wiki/alphaMELTS-installation-and-testing
#9
General usage / enabling trace elements with a...
Last post by elipes - January 06, 2026, 01:20:45 PM
Hi Paula,

I'm struggling with what may be a fairly basic problem with alphaMELTS in getting the program to read trace elements in my input .txt file. The alphaMELTS manual states I need to set ALPHAMELTS_DO_TRACE to true before reading in the file but I currently don't see any option to do that in a command window.

I call the entire directory containing AlphaMELTS:

elizabeth.p@Elizabeths-MacBook-Pro-3 AlphaMELTS % alphamelts_macos
ALPHAMELTS_CALC_MODE not set!

---> Default calculation mode is rhyolite-MELTS (v. 1.0.2).  Change this? (y or n): y
     Set calculation mode to rhyolite-MELTS (public release v 1.1.0)? (y or n): n
     Set calculation mode to rhyolite-MELTS (public release v 1.2.0)? (y or n): n
     Set calculation mode to pMELTS (public release v 5.6.1)? (y or n): y
---> Calculation mode is pMELTS (public release v 5.6.1).

From here I can read in my input file, as follows:

Here's my input file:
Title: Sample average
Initial Composition: SiO2 46.8
Initial Composition: TiO2 0.18
Initial Composition: Al2O3 3.87
Initial Composition: Cr2O3 0.44
Initial Composition: FeO 9.24
Initial Composition: Fe2O3 0.01
Initial Composition: MgO 36
Initial Composition: CaO 3.06
Initial Composition: Na2O 0.051
Initial Trace: Zr 10.5
Initial Trace: Hf 0.283
Initial Trace: Y 4.3
Initial Trace: Sc 16.2
Initial Temperature: 1200.00
Final Temperature: 1200
Initial Pressure: 1
Final Pressure: 1
Increment Pressure: -100
Log fO2 Path: None
Log fO2 Delta: None
mode: fractionate liquid
output: both

It reads the file fine until it gets to Zirconium and says: Error during input file read, offending record: initial trace: zr 10.5.

How can I get around this? Thank you in advance for any insight into solving this!!

Best wishes, Elizabeth P (Univ. of Florida)
#10
alphaMELTS for MATLAB/Python / Re: How to solve 'Can not find...
Last post by zy-cug - December 25, 2025, 09:19:05 AM
Quote from: Paula on October 09, 2025, 08:34:27 AMhttps://github.com/magmasource/alphaMELTS/releases
Hello Puala, I'm a student from China, and I can't find the module in this URL. How can I solve this problem? Thanks for your reply!