EC-RAFC is a self-consistent formulation for the conservation of energy, mass and species in a magma body undergoing concurrent assimilation and fractional crystallization, with or without recharge into the magma chamber. The model tracks the system as magma cools and crystallizes while wallrock heats up and partially melts. A set of coupled non-linear differential equations describing the conservation equations are solved incrementally until magma and wallrock reach thermal equilibrium. Output provides a path-dependent view of the isotope and trace element inventory, the energy balance and material changes to the cooling-crystallizing magma body.

The EC-RAFC model we have developed builds on previous treatments of open-system processes (Taylor, 1980; DePaolo, 1981; DePaolo, 1985) but here we incorporate features that are not routinely assessed in analyses of open-system magmatic processes such as energy conservation and wallrock partial melting.

In the current version of the EC-RAFC model that we provide here, we have set recharge equal to zero. The model, therefore, is energy-constrained assimilation and fractional crystallization without recharge, or EC-AFC. Below we provide running instructions, a brief synopsis of the input/output parameters and a few helpful tips.

The EC-RAFC program runs under Microsoft Excel 98 (and higher) on both Macintosh and Windows computers. EC-RAFC is easy to use and most of the parameters are self-explanatory. Below is a detailed list of instructions which will take about 10 minutes to go through while running the program. Depending on your computer setup, the actual simulations will take 2-8 minutes. Please note that none of the "help" buttons currently works.

1. Open the Program File

Double click on the ECRAFC100a.xls file. The program will open in Microsoft Excel but you will need to "enable" macros in order to activate the program's functionality. The EC-RAFC front page will appear. Note that for all parts of the program, where possible, we have entered "default" values. These are the same as the "standard" upper crustal case in the manuscripts. If you like these values, simply push the appropriate "buttons" and the program will run.

2. Calculate Magma Body Characteristics

This section utilizes a small number of user-defined input parameters to calculate characteristics of the magma body at different equilibration temperatures.

● Click on the "thermal" button. This will take you to a page that allows you to enter the thermal parameters of the system; all temperatures are in C ...


Temperature [ C ]
Tlm Liquidus of magma


Initial temperature of magma
Tla Liquidus of assimilant
Tao Initial temperature of assimilant
Ts Solidus
Cpm Specific heat, magma
Cpa Specific heat, assimilant
Hcry Heat of crystallization
Hfus Heat of fusion

● Click "next" which will take you to the melt/crystallization production functions page. This allows a choice of melting/crystallization production functions. You must stick with linear for now as the non-linear production functions are still under construction.

● Click "next" which will take you to the initial conditions page. This page sets initial conditions for all of the parameters. All of these are set automatically, except the temperature step, ΔT. This is the step size, in normalized temperature, that the program uses to calculate results. For a quick view, we recommend ΔT of 0.005 or -0.001. The smaller the step-size, the longer the calculations take.

● Click "home" which takes you to the front page. Then click "Run Equilibration" and a series of calculations will take place. At the conclusion, you will see a dialogbox that says "Equilibration complete. N rows written to Equilibration" ... Click "OK" to end this part.

3. View Equilibration Results

Click "View Equilibration Results" and the program will take you to a sheet that shows a set of results for each equilibration temperature. The equilibration temperature Teq represents a final temperature to which the magma cools and the wallrock heats up. For each equilibration temperature there are a set of unique results, including ...


Tnorm Normalized equilibration temperature of system (to normalize divide any temperature by the liquidus temperature of magma) in Kelvin


Equilibration temperature of system in degrees C
Mm Total mass of melt (liquid) in magma body (normalized to original mass of magma body)
Mao Total mass of wallrock brought to Teq (normalized to original mass of magma body)
Ma* Total mass of the melted wallrock incorporated into magma body (normalized to original mass of magma body)
Mc Total mass of cumulates that form (normalized to original mass of magma body)
fa(T) Melt-temperature relationship for wallrock (wallrock melt production function)
fm(T) Crystallization temperature relationship for magma (magma crystallization production function)
Mao/Mc Ratio of the total mass of wallrock heated to Teq over the mass of cumulates formed
Ma*/Mc Ratio of the mass of melted wallrock over the mass of cumulates formed

4. Calculate Path Dependent View

Return to front page by clicking on "main menu" bar at bottom of spreadsheet. Using the scrolldown menu and choose "one" final Teq for your calculation. For this Teq a path-dependent view of the composition, mass and energy changes is calculated as the magma cools and the wallrock heats up.

● To set the chemical parameters, first click the "isotopes" button. A screen will appear asking for up to three entries of isotope ratios (and associated values). These are self-explanatory except for the enthalpy entry, which should be set to zero, if there is no temperature-dependence of the partition coefficient. This entry is the enthalpy of the reaction describing the partition between solid and melt. It should be entered in units of Joules/mole. That is, the entered value is the enthalpy of the reaction Tr(s) goes to Tr(melt) and assumes the enthalpy of the reaction is constant.

● Click "Next" which takes you to the trace element page. Up to three elements may be added. Again, the parameters are self explanatory.

● Click "Next" which takes you to the page for Oxygen isotopes. To calculate Oxygen isotopes, click "yes" in the outlined box. Enter values for the isotope ratio of magma and assimilant. Do not change the oxygen concentration of the magma and the assimilant.

● Click "Next" which takes you to the "initial conditions" page, where you have to worry about two items: (1) the temperature step ΔT (again, we recommend 0.005 or 0.001), and (2) if you want graphical output (all parameters plotted against magma body temperature) you have to check the left box to "automatically chart after results are computed".

● Click "home" which takes you to the front page and click "Run path dependent" to start the calculation.

5. Results

It takes a few minutes to do the graphing, which occurs after all the calculations are completed. This section shows typical results from the calculations.

● Upon completion of the calculation, a dialogue box will appear "Simulation complete. XX rows written to RK98Mtest_X". This is the name of the sheet where the results are listed. Go to the bottom menu bar and click on this sheet. Note that a new sheet is created for each new run you do. (A solution sheet called upper crust has the solutions to the standard upper crustal case).

● In this sheet, you will see a list of results as well an echo of your input parameters. For each temperature step, the program balances the energy available from magma cooling and crystallization and applies it to heating up the entire wallrock mass, and partially melting wallrock according to the melt productivity function. Note that the first 4 columns are the incremental temperature of the magma (cooling down) and wallrock (heating up). At the end of the calculation (last row of results) the wallrock and magma temperatures should be close to the Teq you chose. It may not be exact given your chosen ΔT step.

6. Some Notes

● The mass of remaining melt (Mm) will initially decrease (due to fractional crystallization) but may increase when assimilant melt enters the chamber. This reflects the fact that the mass of the assimilant melt entering the chamber can exceed the mass of cumulates being removed from the system.

● Ma*/Mc is not constant. This illustrates that energy conservation leads to a non-constant r.

● Trace element concentrations are in ppm. Note that for the "standard" upper crustal case Nd increases as the magma body cools, but eventually decreases due to the effects of fractional melting of the assimilant.

● The isotope ratios do not change for a number of steps. This represents the fact that the wallrock initially must heat up to its solidus (prior to melting).

7. Tips

● If you want to stop the simulation in the middle, hit your escape key. This will activate a box with some choices. Choose "end".

● Be careful about changing thermal parameters in Section 2. Any change and you must rerun these calculations. Otherwise, you will end up with incorrect results towards the end.

● If you want to get rid of one or more of your results sheets, click on that sheet, go to edit (menu bar at top) and choose "delete sheet" and answer the dialogbox appropriately. Do this for every sheet but make sure you dont accidentally remove the front page.

● There are certain parameters that are sensitive to the ΔT step you choose. For example, extreme ΔTs (such as 15 or 20) cause numerical problems in the program. With certain conditions, the program becomes inaccurate; the first manifestation of this is that the isotope ratios (Nd, Sr) will go out of range (that is, they will be outside of the range of the magma and assimilant). This problem is linked to a change in derivative of the melt production function when assimilant melting is initiated. We are in the process of fixing this problem.

● We are in the process of entering some safeguards (some are already present), but be warned that if you enter a physically implausible value for some parameter, the program may or may not catch it.

 EC-RAFC Program Version 1.0
 MagIC Software