#
 ====================================================================
DRY SUBALKALINE TO ALKALINE X-eos in NCKFMASTOCr

X-eos for calculating diagrams in

Weller, OM, Holland, TJB, Soderman, CR, Green, ECR, Powell, R,
  Beard, CD & Riel, N (2024). New Thermodynamic Models for Anhydrous
  Alkaline-Silicate Magmatic Systems. Journal of Petrology, 65,
  doi: 10.1093/petrology/egae098

Use with dataset file tc-ds636.txt and THERMOCALC tc351 and upwards

X-eos current 30-09-2024; this file last edited 28-06-2025 by
  Eleanor Green

Solution phases in this file:

  Silicate melt - dry          liq_W24d        Weller et al (2024)
  Olivine                      ol_H18          Holland et al (2018)
  Garnet                       g_W24           Weller et al (2024)
  Spinel (spinel, magnetite,   spl_T21         Tomlinson & Holland (2021)
     Cr-spinel, ulvospinel)
  Feldspar (plagioclase,       fsp_H22         Holland et al (2022)
     alkali feldspar)
  Clinopyroxene                cpx_W24         Weller et al (2024)
     (augite, pigeonite)
  Orthopyroxene                opx_W24         Weller et al (2024)
  Ilmenite                     ilm_W24         Weller et al (2024)
     (ilmenite, hematite)
  Nepheline (Na-rich, K-rich)  nph_W24	       Weller et al (2024)
  Kalsilite  		       kals_W24	       Weller et al (2024)
  Leucite		       lct_W24	       Weller et al (2024)
  Melilite		       mel_W24         Weller et al (2024)

Oxygen buffers in this file (Weller et al, 2024):

  fmq (fayalite-magnetite-quartz)
  nno (Ni-NiO)

-------

Weller, OM, Holland, TJB, Soderman, CR, Green, ECR, Powell, R,
  Beard, CD & Riel, N (2024). New Thermodynamic Models for Anhydrous
  Alkaline-Silicate Magmatic Systems. Journal of Petrology, 65,
  doi: 10.1093/petrology/egae098

Holland, TJB, Green, ECR & Powell, R (2022). A thermodynamic model
  for feldspars in KAlSi3O8-NaAlSi3O8-CaAl2Si2O8 for mineral
  equilibrium calculations. Journal of Metamorphic Geology, 40, 587-600,
  doi: 10.1111/jmg.12639

Tomlinson, EL & Holland, TJB (2021). A Thermodynamic Model for the
  Subsolidus Evolution and Melting of Peridotite. Journal of Petrology,
  62, doi: 10.1093/petrology/egab012

Holland, TJB, Green, ECR & Powell, R (2018). Melting of Peridotites
  through to Granites: A Simple Thermodynamic Model in the System
  KNCFMASHTOCr. Journal of Petrology, 59, 881-900,
  doi: 10.1093/petrology/egy048

-------

"E-m" below refers to end-member(s).

An "ordered" end-member is one that defines how elements are
  distributed over mixing sites, rather than changing the
  composition.

 ====================================================================
#
#
-------------------------------------------------------------------
 Silicate melt (dry): NCKFMASTOCr

 Weller, OM, Holland, TJB, Soderman, CR, Green, ECR, Powell, R,
 Beard, CD & Riel, N (2024). New Thermodynamic Models for Anhydrous
 Alkaline-Silicate Magmatic Systems. Journal of Petrology, 65,
 doi: 10.1093/petrology/egae098

 E-m   	Formula        	Mixing sites		Ordered?
 				M	F
 q3L   	Si3O6		-	Si3
 sl1L   	Al2SiO5		Al	AlSi
 wo1L   	CaSiO3		Ca	Si
 fo2L   	Mg4Si2O8	Mg4	Si2
 fa2L   	Fe4Si2O8	Fe4	Si2
 nmL    	NaSi0.5O1.5	-	NaSi0.5
 hmL    	FeO1.5		-	Fe
 ekL    	CrO1.5		- 	Cr
 tiL    	TiO2		-	Ti
 kmL    	KSi0.5O1.5	-	KSi0.5
 anL    	CaAl2Si2O8	-	CaAl2Si2	y
 ab1L   	NaAlSi3O8	-	NaAlSi3		y
 kfL    	KAlSi3O8	-	KAlSi3		y
 enL    	Mg2Si2O6	-	Mg2Si2		y

 Composition variables:
   wo ->  2 j (panL + pwo1L)
   sl ->  j (pab1L + 2 panL + pkfL + 2 psl1L)
   fo -> -j (penL + 2 pfo2L)
   fa ->  2 j pfa2L
   ns ->  2 j (pab1L + pnmL)
   hm ->  2 j phmL
   ek ->  2 j pekL
   ti ->  2 j ptiL
   ks ->  2 j (pkfL + pkmL)
   where pxL is the proportion of end-member xL, and
          j = 3/(6 + 7 an1L + 6 anL - enL + 7 kfL)
 Order variables:
   yan -> panL
   yab -> pab1L
   yen -> penL
   ykf -> pkfL

 -------------------------------------------------------------------
#

liq_W24d = silicate_melt

 composition variables
  wo(liq)
  sl(liq)
  fo(liq)
  fa(liq)
  ns(liq)
  hm(liq)
  ek(liq)
  ti(liq)
  ks(liq)
  yan(liq)  order variable
  yab(liq)  order variable
  yen(liq)  order variable
  ykf(liq)  order variable

 site fractions
   pq = 1 - wo - sl - ns - fa - fo - hm - ek - ti - ks + yan (1 - ek - fa - fo - hm - ns - ks - sl - ti - wo) + 1/6 yab (3 - 7ek - 7fa - 7fo - 7hm - 7ns - 7ks - 7sl - 7ti - 7wo)
         + 1/6 yen (-3 + ek + fa + fo + hm + ns + ks + sl + ti + wo) + 1/6 ykf (3 - 7ek - 7fa - 7fo - 7hm - 7ns - 7ks - 7sl - 7ti - 7wo)
   psl = sl + yan sl + 7/6 yab sl + (-1/6 yen) sl + 7/6 ykf sl + (-yan) + (-1/2 yab) + (-1/2 ykf)
   pwo = wo + yan wo + 7/6 yab wo + (-1/6 yen) wo + 7/6 ykf wo + (-yan)
   pns = ns + yan ns + 7/6 yab ns + 7/6 ykf ns + (-yab) + (-1/6 yen) ns
   phm = hm + yan hm + 7/6 yab hm + 7/6 ykf hm + (-1/6 yen) hm
   pek = ek + yan ek + 7/6 yab ek + 7/6 ykf ek + (-1/6 yen) ek
   pti = ti + yan ti + 7/6 yab ti + (-1/6 yen) ti + 7/6 ykf ti
   pks = ks + yan ks + 7/6 yab ks + (-1/6 yen) ks + 7/6 ykf ks + (-ykf)
   pab = yab
   pan = yan
   pen = yen
   pkf = ykf
   pol = fo + fa + yan (fo + fa) + 7/6 yab (fo + fa) + 7/6 ykf (fo + fa) + (-1/6 yen) (fo + fa) + (-1/2 yen)
   mgM = 4fo (1 + yan + 7/6 yab + 7/6 ykf - 1/6 yen) + (-2yen)
   feM = 4fa (1 + yan + 7/6 yab + 7/6 ykf - 1/6 yen)
   CaM = wo (1 + yan + 7/6 yab + 7/6 ykf - 1/6 yen) + (-yan)
   AlM = sl (1 + yan + 7/6 yab + 7/6 ykf - 1/6 yen) + (-yan - 1/2 yab - 1/2 ykf)
   sumM = (4fo + 4fa + sl + wo) (1 + yan + 7/6 yab + 7/6 ykf - 1/6 yen) + (-2yan - 1/2 yab - 1/2 ykf - 2yen)

 proportions
   q3L = 1 - wo - sl - ns - fa - fo - hm - ek - ti - ks + yan (1 - ek - fa - fo - hm - ns - ks - sl - ti - wo) + 1/6 yab (3 - 7ek - 7fa - 7fo - 7hm - 7ns - 7ks - 7sl - 7ti - 7wo)
         + 1/6 yen (-3 + ek + fa + fo + hm + ns + ks + sl + ti + wo) + 1/6 ykf (3 - 7ek - 7fa - 7fo - 7hm - 7ns - 7ks - 7sl - 7ti - 7wo)
   sl1L = sl + yan sl + 7/6 yab sl + (-1/6 yen) sl + 7/6 ykf sl + (-yan) + (-1/2 yab) + (-1/2 ykf)
   wo1L = wo + yan wo + 7/6 yab wo + (-1/6 yen) wo + 7/6 ykf wo + (-yan)
   fo2L = fo + yan fo + 7/6 yab fo + (-1/6 yen) fo + 7/6 ykf fo + (-1/2 yen)
   fa2L = fa + yan fa + 7/6 yab fa + 7/6 ykf fa + (-1/6 yen) fa
   nmL = ns + yan ns + 7/6 yab ns + 7/6 ykf ns + (-yab) + (-1/6 yen) ns
   hmL = hm + yan hm + 7/6 yab hm + 7/6 ykf hm + (-1/6 yen) hm
   ekL = ek + yan ek + 7/6 yab ek + 7/6 ykf ek + (-1/6 yen) ek
   tiL = ti + yan ti + 7/6 yab ti + (-1/6 yen) ti + 7/6 ykf ti
   kmL = ks + yan ks + 7/6 yab ks + (-1/6 yen) ks + 7/6 ykf ks + (-ykf)
   anL = yan
   ab1L = yab
   enL = yen
   kfL = ykf

 ideal mixing activities
  q3L = pq
  sl1L = psl AlM sumM^-1
  wo1L = pwo CaM sumM^-1
  fo2L = pol mgM^4 sumM^-4
  fa2L = pol feM^4 sumM^-4
  nmL = pns
  hmL = phm
  ekL = pek
  tiL = pti
  kmL = pks
  anL = pan
  ab1L = pab
  enL = pen
  kfL = pkf

 non-ideality by van laar
  W(q3L,sl1L) = 16.1 - 0.1 P
  W(q3L,wo1L) = 6.8
  W(q3L,fo2L) = 43.1 - 0.5 P
  W(q3L,fa2L) = -7.6 - 0.58 P
  W(q3L,nmL) = 1.1
  W(q3L,hmL) = 16.3
  W(q3L,ekL) = -5.5
  W(q3L,tiL) = 12.1 + 0.4 P
  W(q3L,kmL) = 7 + 0.96 P
  W(q3L,anL) = -6.7 + 0.02 P
  W(q3L,ab1L) = -0.1
  W(q3L,enL) = 22.7 - 0.41 P
  W(q3L,kfL) = -10.2 - 0.48 P
  W(sl1L,wo1L) = -24.6 + 0.85 P
  W(sl1L,fo2L) = 5.4 - 0.16 P
  W(sl1L,fa2L) = 0.6
  W(sl1L,nmL) = -12.4 - 0.01 P
  W(sl1L,hmL) = -7
  W(sl1L,ekL) = -2
  W(sl1L,tiL) = 5.4
  W(sl1L,kmL) = -33 + 0.07 P
  W(sl1L,anL) = 1
  W(sl1L,ab1L) = -10.1 - 0.05 P
  W(sl1L,enL) = 8.3
  W(sl1L,kfL) = 4.8
  W(wo1L,fo2L) = 40.8
  W(wo1L,fa2L) = 12.4
  W(wo1L,nmL) = 2.7 - 0.14 P
  W(wo1L,hmL) = 1.2
  W(wo1L,ekL) = -11
  W(wo1L,tiL) = 9.7
  W(wo1L,kmL) = 1.4 - 0.07 P
  W(wo1L,anL) = 6.5
  W(wo1L,ab1L) = -2.5
  W(wo1L,enL) = 18.3 + 0.09 P
  W(wo1L,kfL) = 13.6
  W(fo2L,fa2L) = 18 - 0.16 P
  W(fo2L,nmL) = 16.9 - 0.12 P
  W(fo2L,hmL) = -2.5
  W(fo2L,ekL) = -3
  W(fo2L,tiL) = -6 - 0.16 P
  W(fo2L,kmL) = 26 + 0.69 P
  W(fo2L,anL) = -4.9
  W(fo2L,ab1L) = 12.9
  W(fo2L,enL) = 0.9 + 0.2 P
  W(fo2L,kfL) = -1.2
  W(fa2L,nmL) = 1.5
  W(fa2L,hmL) = -27.7
  W(fa2L,ekL) = 4.2
  W(fa2L,tiL) = -7
  W(fa2L,kmL) = 15.5
  W(fa2L,anL) = -6.8
  W(fa2L,ab1L) = 4.4
  W(fa2L,enL) = 3.8
  W(fa2L,kfL) = -7.9
  W(nmL,hmL) = 12.3
  W(nmL,ekL) = -2
  W(nmL,tiL) = 9.9 + 0.14 P
  W(nmL,kmL) = -8.5 - 0.02 P
  W(nmL,anL) = -9.2
  W(nmL,ab1L) = -1.1 + 0.13 P
  W(nmL,enL) = 1.4
  W(nmL,kfL) = -7.5
  W(hmL,ekL) = 0
  W(hmL,tiL) = -1.4
  W(hmL,kmL) = 8.9
  W(hmL,anL) = 1.6
  W(hmL,ab1L) = -1.4
  W(hmL,enL) = 0.1
  W(hmL,kfL) = -2.3
  W(ekL,tiL) = -2.5
  W(ekL,kmL) = 0
  W(ekL,anL) = 0.5
  W(ekL,ab1L) = -2
  W(ekL,enL) = -2
  W(ekL,kfL) = -1.5
  W(tiL,kmL) = 4.8
  W(tiL,anL) = -8.7
  W(tiL,ab1L) = -1.8
  W(tiL,enL) = 6.4
  W(tiL,kfL) = -10
  W(kmL,anL) = 17.7
  W(kmL,ab1L) = 19.8
  W(kmL,enL) = -1.2
  W(kmL,kfL) = 29.8 + 0.46 P
  W(anL,ab1L) = -4.1
  W(anL,enL) = 0.5
  W(anL,kfL) = 12.9
  W(ab1L,enL) = 0.4
  W(ab1L,kfL) = 23.5
  W(enL,kfL) = 0.3

  v(q3L) = 100
  v(sl1L) = 145
  v(wo1L) = 145
  v(fo2L) = 200
  v(fa2L) = 200
  v(nmL) = 85
  v(hmL) = 50
  v(ekL) = 50
  v(tiL) = 50
  v(kmL) = 85
  v(anL) = 100
  v(ab1L) = 100
  v(enL) = 100
  v(kfL) = 100

 "make" end-members
  q3L = 3 qL + 0.97 - 0.076 P  (mod)
  sl1L = corL + qL - 18.37 - 0.246 P  (od)
  wo1L = woL - 1.26 - 0.047 P  (mod)
  fo2L = 2 foL + 13.24 - 0.142 P  (mod)
  fa2L = 2 faL + 12.57 - 0.027 P  (mod)
  nmL = neL - 1/2 corL - 1/2 qL + 49.09 - 0.007 T - 0.171 P  (make)
  hmL = 1/2 hemL + 5.9 - 0.002 P  (mod)
  ekL = 1/2 eskL + 23.51 + 0.19 P  (mod)
  tiL = ruL + 3.29 - 0.228 P  (mod)
  kmL = ksL - 1/2 corL - 1/2 qL + 72.05 - 0.025 T + 0.304 P  (make)
  anL = woL + corL + qL - 48.24 + 0.022 P  (od)
  ab1L = neL + 2 qL + 18.29 - 0.032 T - 0.342 P  (od)
  enL = foL + qL - 13.17 - 0.338 P  (od)
  kfL = ksL + 2 qL + 0.95 - 0.02 T - 0.11 P  (od)

#
 -------------------------------------------------------------------
 Olivine: CFMS

 Holland, TJB, Green, ECR & Powell, R (2018). Melting of Peridotites
 through to Granites: A Simple Thermodynamic Model in the System
 KNCFMASHTOCr. Journal of Petrology, 59, 881-900,
 doi: 10.1093/petrology/egy048

 E-m     Formula     Mixing sites			Ordered?
                     M1            M2
                     Mg    Fe      Mg    Fe    Ca
 mont    CaMgSiO4    1     0       0     0     1
 fa      Fe2SiO4     0     1       0     1     0
 fo      Mg2SiO4     1     0       1     0     0
 cfm     MgFeSiO4    1     0       0     1     0   	y

 Composition variables:
   x -> (xFeM1 + xFeM2)/(xFeM1 + xFeM2 + xMgM1 + xMgM2)
   c -> xCaM2
 Order variables:
   Q -> x - xFeM1/(xFeM1 + xMgM1)

 -------------------------------------------------------------------
#

ol_H18 = olivine

 composition variables
  x(ol)
  c(ol)
  Q(ol)  range -0.5 <> 0.5  order variable

 site fractions
   xMgM1 = 1 + Q - x
   xFeM1 = -Q + x
   xMgM2 = 1 - c - Q - x + c x
   xFeM2 = Q + x + (-c) x
   xCaM2 = c

 proportions
   mont = c
   fa = -Q + x
   fo = 1 - c - Q - x + c x
   cfm = 2Q + (-c) x

 ideal mixing activities
  mont = xMgM1 xCaM2
  fa = xFeM1 xFeM2
  fo = xMgM1 xMgM2
  cfm = xMgM1 xFeM2

 non-ideality by symmetric formalism
  W(mont,fa) = 24
  W(mont,fo) = 38
  W(mont,cfm) = 24
  W(fa,fo) = 9
  W(fa,cfm) = 4.5
  W(fo,cfm) = 4.5

 "make" end-members
  cfm = 1/2 fa + 1/2 fo

#
 -------------------------------------------------------------------
 Garnet: CFMASTOCr

 Weller, OM, Holland, TJB, Soderman, CR, Green, ECR, Powell, R,
 Beard, CD & Riel, N (2024). New Thermodynamic Models for Anhydrous
 Alkaline-Silicate Magmatic Systems. Journal of Petrology, 65,
 doi: 10.1093/petrology/egae098

 E-m    Formula             Mixing sites
                            M1            M2
                            Mg  Fe  Ca    Al  Cr  Fe3 Mg  Ti
 py    Mg3Al2Si3O12         3   0   0     2   0   0   0   0
 alm   Fe3Al2Si3O12         0   3   0     2   0   0   0   0
 gr    Ca3Al2Si3O12         0   0   3     2   0   0   0   0
 andr  Ca3Fe2Si3O12         0   0   3     0   0   2   0   0
 knor  Mg3Cr2Si3O12         3   0   0     0   2   0   0   0
 tig   Mg3.5AlTi0.5Si3O12   3   0   0     1   0   0   1/2 1/2

 Composition variables:
   x -> xFeM1/(xFeM1 + xMgM1)
   c -> xCaM1
   f -> xFe3M2
   cr -> xCrM2
   t -> xTiM2

 -------------------------------------------------------------------
#

g_W24 = garnet

 composition variables
  x(g)
  c(g)
  f(g)
  cr(g)
  t(g)

 site fractions
   xMgM1 = 1 - c - x + c x
   xFeM1 = x + (-c) x
   xCaM1 = c
   xAlM2 = 1 - cr - f - 2t
   xCrM2 = cr
   xFe3M2 = f
   xMgM2 = t
   xTiM2 = t

 proportions
   py = 1 - c - cr - x - 4t + c x
   alm = x + (-c) x
   gr = c - f
   andr = f
   knor = cr
   tig = 4t

 ideal mixing activities
  py = xMgM1^3 xAlM2^2
  alm = xFeM1^3 xAlM2^2
  gr = xCaM1^3 xAlM2^2
  andr = xCaM1^3 xFe3M2^2
  knor = xMgM1^3 xCrM2^2
  tig = 8 xMgM1^3 xAlM2 xMgM2^(1/2) xTiM2^(1/2)

 non-ideality by van laar
  W(py,alm) = 4 + 0.1 P
  W(py,gr) = 45.4 - 0.01 T + 0.04 P
  W(py,andr) = 107 - 0.01 T - 0.036 P
  W(py,knor) = 2
  W(py,tig) = 1
  W(alm,gr) = 17 - 0.01 T + 0.1 P
  W(alm,andr) = 65 - 0.01 T + 0.039 P
  W(alm,knor) = 8.2 + 0.01 P
  W(alm,tig) = 0
  W(gr,andr) = 2
  W(gr,knor) = 5 - 0.01 T + 0.18 P
  W(gr,tig) = -3
  W(andr,knor) = 63 - 0.01 T + 0.1 P
  W(andr,tig) = -1
  W(knor,tig) = 0

  v(py) = 1
  v(alm) = 1
  v(gr) = 2.5
  v(andr) = 2.5
  v(knor) = 1
  v(tig) = 1

 "make" end-members
  tig = py + 1/2 per + 1/2 ru - 1/2 cor + 42.3 - 0.0173 T  (make)

#
 -------------------------------------------------------------------
 Spinel: FMATOCr

 Tomlinson, EL & Holland, TJB (2021). A Thermodynamic Model for the
 Subsolidus Evolution and Melting of Peridotite. Journal of Petrology,
 62, doi: 10.1093/petrology/egab012

 E-m  Formula   Mixing sites							Ordered?
                T                         M
                Mg    Fe    Al    Fe3     Mg    Fe    Al    Fe3   Cr    Ti
 nsp  MgAl2O4   1     0     0     0       0     0     2     0     0     0      y
 isp  MgAl2O4   0     0     1     0       1     0     1     0     0     0      y (inverse)
 nhc  FeAl2O4   0     1     0     0       0     0     2     0     0     0      y
 ihc  FeAl2O4   0     0     1     0       0     1     1     0     0     0      y (inverse)
 nmt  Fe3O4     0     1     0     0       0     0     0     2     0     0      y
 imt  Fe3O4     0     0     0     1       0     1     0     1     0     0      y (inverse)
 picr MgCr2O4   1     0     0     0       0     0     0     0     2     0
 usp  Fe2TiO4   0     1     0     0       0     1     0     0     0     1

 Composition variables:
   x -> (2 xFeM + xFeT)/(2 xFeM + xFeT + 2 xMgM + xMgT)
   y -> (2 xFe3M + xFe3T)/(2 xAlM + xAlT + 2 xFe3M + xFe3T)
   c -> xCrM
   t -> 2 xTiM
 Order variables:
   Q1 -> -xMgM + xMgT
   Q2 -> -xFeM + xFeT
   Q3 -> -xFe3M + xFe3T

 -------------------------------------------------------------------
#

spl_T21 = spinel

 composition variables
  x(spl)
  y(spl)
  c(spl)
  t(spl)
  Q1(spl)  range -1 <> 1  order variable
  Q2(spl)  range -1 <> 1  order variable
  Q3(spl)  range -1 <> 1  order variable

 site fractions
   xMgT = 1/3 + 1/3 t - 1/3 x + 2/3 Q1 + (-1/3 t) x
   xFeT = 1/3 x + 2/3 Q2 + 1/3 t x
   xAlT = 2/3 - 1/3 t - 2/3 Q1 - 2/3 Q2 - 2/3 Q3 - 2/3 y + 2/3 c y + 2/3 t y
   xFe3T = 2/3 Q3 + 2/3 y + (-2/3 c) y + (-2/3 t) y
   xMgM = 1/3 - 1/3 Q1 + 1/3 t - 1/3 x + (-1/3 t) x
   xFeM = -1/3 Q2 + 1/3 x + 1/3 t x
   xAlM = 2/3 + 1/3 Q1 + 1/3 Q2 + 1/3 Q3 - c - 2/3 y - 5/6 t + 2/3 c y + 2/3 t y
   xFe3M = -1/3 Q3 + 2/3 y + (-2/3 c) y + (-2/3 t) y
   xCrM = c
   xTiM = 1/2 t

 proportions
   nsp = 1/3 + 1/3 t - 1/3 x - c + 2/3 Q1 + (-1/3 t) x
   isp = 2/3 - 2/3 Q1 + 2/3 t - 2/3 x + (-2/3 t) x
   nhc = 1/3 x - 1/3 y - t + 2/3 Q2 + 2/3 Q3 + 1/3 t x + 1/3 c y + 1/3 t y
   ihc = -t - 2/3 Q2 - 2/3 Q3 + 2/3 x - 2/3 y + 2/3 t x + 2/3 c y + 2/3 t y
   nmt = 1/3 y - 2/3 Q3 + (-1/3 c) y + (-1/3 t) y
   imt = 2/3 Q3 + 2/3 y + (-2/3 c) y + (-2/3 t) y
   picr = c
   usp = t

 ideal mixing activities
  nsp = xMgT xAlM
  isp = 2 xAlT xMgM^(1/2) xAlM^(1/2)
  nhc = xFeT xAlM
  ihc = 2 xAlT xFeM^(1/2) xAlM^(1/2)
  nmt = xFeT xFe3M
  imt = 2 xFe3T xFeM^(1/2) xFe3M^(1/2)
  picr = xMgT xCrM
  usp = 2 xFeT xFeM^(1/2) xTiM^(1/2)

 non-ideality by van laar
  W(nsp,isp) = -6.7
  W(nsp,nhc) = 3.6
  W(nsp,ihc) = -9.8
  W(nsp,nmt) = 43.2
  W(nsp,imt) = 49.5
  W(nsp,picr) = -38.4 - 0.08 P
  W(nsp,usp) = 40
  W(isp,nhc) = 2.7
  W(isp,ihc) = -3.5
  W(isp,nmt) = 36.8
  W(isp,imt) = 20.7
  W(isp,picr) = -21.6 - 0.08 P
  W(isp,usp) = 38.2
  W(nhc,ihc) = -6
  W(nhc,nmt) = 17.5
  W(nhc,imt) = 51.6
  W(nhc,picr) = -53.8
  W(nhc,usp) = 25.7
  W(ihc,nmt) = -4.1
  W(ihc,imt) = 10
  W(ihc,picr) = -38.8
  W(ihc,usp) = 21
  W(nmt,imt) = 18.1
  W(nmt,picr) = 12.1
  W(nmt,usp) = 5.2
  W(imt,picr) = -8.7
  W(imt,usp) = 21.5
  W(picr,usp) = 15

  v(nsp) = 1
  v(isp) = 1
  v(nhc) = 1
  v(ihc) = 1
  v(nmt) = 1
  v(imt) = 1
  v(picr) = 1
  v(usp) = 0.9

 "make" end-members
  nsp = o-sp
  isp = o-sp + 23.5 - 0.005763 T  (od)
  nhc = o-herc
  ihc = o-herc + 23.6 - 0.005763 T  (od)
  nmt = e-mt + 0 + 0.005763 T  (od)
  imt = e-mt + 0.3  (od)

#
 -------------------------------------------------------------------
 Plagioclase (4TR model): NCKAS

 Holland, TJB, Green, ECR & Powell, R (2022). A thermodynamic model
 for feldspars in KAlSi3O8-NaAlSi3O8-CaAl2Si2O8 for mineral
 equilibrium calculations. Journal of Metamorphic Geology, 40, 587-600,
 doi: 10.1111/jmg.12639

 E-m   Formula        Mixing sites
                      A                   TB*
                      Na    Ca    K       Al    Si
 ab    NaAlSi3O8      1     0     0       1     3
 san   KAlSi3O8       0     0     1       1     3
 an    CaAl2Si2O8     0     1     0       2     2
 *use 1/4 entropy of mixing from TB-sites

 Composition variables:
   ca -> xCaA
   k -> xKA

 -------------------------------------------------------------------
#

fsp_H22 = ternary_feldspar

 composition variables
  ca(fsp)
  k(fsp)

 site fractions
   xNaA = 1 - ca - k
   xCaA = ca
   xKA = k
   xAlTB = 1/4 + 1/4 ca
   xSiTB = 3/4 - 1/4 ca

 proportions
   ab = 1 - k - ca
   an = ca
   san = k

 ideal mixing activities
  ab = 1.7548 xNaA xAlTB^(1/4) xSiTB^(3/4)
  an = 2 xCaA xAlTB^(1/2) xSiTB^(1/2)
  san = 1.7548 xKA xAlTB^(1/4) xSiTB^(3/4)

 non-ideality by van laar
  W(ab,an) = 14.6 - 0.00935 T - 0.04 P
  W(ab,san) = 24.1 - 0.00957 T + 0.338 P
  W(an,san) = 48.5 - 0.13 P

  v(ab) = 0.674
  v(an) = 0.55
  v(san) = 1

#
-------------------------------------------------------------------
 Clinopyroxene: KNCFMASTOCr

 Weller, OM, Holland, TJB, Soderman, CR, Green, ECR, Powell, R,
 Beard, CD & Riel, N (2024). New Thermodynamic Models for Anhydrous
 Alkaline-Silicate Magmatic Systems. Journal of Petrology, 65,
 doi: 10.1093/petrology/egae098

 E-m   Formula          Mixing sites
                        M1                        M2                    T*         Ordered?
                        Mg  Fe  Al  Fe3 Cr  Ti    Mg  Fe  Ca  Na  K     Si  Al
 di    CaMgSi2O6        1   0   0   0   0   0     0   0   1   0   0     2   0
 cfs   Fe2Si2O6         0   1   0   0   0   0     0   1   0   0   0     2   0
 cats  CaAl2SiO6        0   0   1   0   0   0     0   0   1   0   0     1   1
 crdi  CaCrAlSiO6       0   0   0   0   1   0     0   0   1   0   0     1   1
 cess  CaFeAlSiO6       0   0   0   1   0   0     0   0   1   0   0     1   1
 cbuf  Ca1.5AlTi0.5SiO6 1/2 0   0   0   0   1/2   0   0   1   0   0     1   1
 jd    NaAlSi2O6        0   0   1   0   0   0     0   0   0   1   0     2   0
 cen   Mg2Si2O6         1   0   0   0   0   0     1   0   0   0   0     2   0
 cfm   MgFeSi2O6        1   0   0   0   0   0     0   1   0   0   0     2   0     y
 kjd   KAlSi2O6         0   0   1   0   0   0     0   0   0   0   1     2   0
 *use 1/4 entropy of mixing from T-site

 Composition variables:
   x -> (xFeM1 + xFeM2)/(xFeM1 + xFeM2 + xMgM1 + xMgM2)
   y -> 2 xAlT
   o -> xFeM2 + xMgM2
   n -> xNaM2
   f -> xFe3M1
   t -> xTiM1
   cr -> xCrM1
   k -> xKM2
 Order variables:
   Q -> -x + xFeM1/(xFeM1 + xMgM1)

-------------------------------------------------------------------
#

cpx_W24 = low-Na_clinopyroxene

 composition variables
  x(cpx)
  y(cpx)  range 0 <> 2
  o(cpx)
  n(cpx)
  f(cpx)
  t(cpx)
  cr(cpx)
  k(cpx)
  Q(cpx)  range -1 <> 1  order variable

 site fractions
   xMgM1 = 1 - k - n - Q + t - x - y + k Q + n Q + (-Q) t + k x + n x + (-t) x + Q y + x y
   xFeM1 = Q + x + (-k) Q + (-n) Q + Q t + (-k) x + (-n) x + t x + (-Q) y + (-x) y
   xAlM1 = -cr - f + k + n + y - 2t
   xFe3M1 = f
   xCrM1 = cr
   xTiM1 = t
   xMgM2 = o + Q + (-k) Q + (-n) Q + Q t + (-o) x + (-Q) y
   xFeM2 = -Q + k Q + n Q + (-Q) t + o x + Q y
   xCaM2 = 1 - k - n - o
   xNaM2 = n
   xKM2 = k
   xSiT = 1 - 1/2 y
   xAlT = 1/2 y

 proportions
   di = 1 - k - n - o - y
   cfs = Q + x + (-k) Q + (-n) Q + Q t + (-k) x + (-n) x + t x + (-Q) y + (-x) y
   cats = -cr - f + y - 2t
   crdi = cr
   cess = f
   cbuf = 2t
   jd = n
   cen = o + Q + (-k) Q + (-n) Q + Q t + (-o) x + (-Q) y
   cfm = -x - 2Q + 2k Q + 2n Q + (-2Q) t + k x + n x + o x + (-t) x + 2Q y + x y
   kjd = k

 ideal mixing activities
  di = xMgM1 xCaM2 xSiT^(1/2)
  cfs = xFeM1 xFeM2 xSiT^(1/2)
  cats = 1.4142 xAlM1 xCaM2 xSiT^(1/4) xAlT^(1/4)
  crdi = 1.4142 xCrM1 xCaM2 xSiT^(1/4) xAlT^(1/4)
  cess = 1.4142 xFe3M1 xCaM2 xSiT^(1/4) xAlT^(1/4)
  cbuf = 2.8284 xMgM1^(1/2) xTiM1^(1/2) xCaM2 xSiT^(1/4) xAlT^(1/4)
  jd = xAlM1 xNaM2 xSiT^(1/2)
  cen = xMgM1 xMgM2 xSiT^(1/2)
  cfm = xMgM1 xFeM2 xSiT^(1/2)
  kjd = xAlM1 xKM2 xSiT^(1/2)

 non-ideality by van laar
  W(di,cfs) = 25.8 - 0.03 P
  W(di,cats) = 13 - 0.06 P
  W(di,crdi) = 8
  W(di,cess) = 8
  W(di,cbuf) = 8
  W(di,jd) = 26
  W(di,cen) = 29.8 - 0.03 P
  W(di,cfm) = 20.6 - 0.03 P
  W(di,kjd) = 26
  W(cfs,cats) = 25 - 0.1 P
  W(cfs,crdi) = 38.3
  W(cfs,cess) = 43.3
  W(cfs,cbuf) = 24
  W(cfs,jd) = 24
  W(cfs,cen) = 2.3
  W(cfs,cfm) = 3.5
  W(cfs,kjd) = 24
  W(cats,crdi) = 2
  W(cats,cess) = 2
  W(cats,cbuf) = 6
  W(cats,jd) = 6
  W(cats,cen) = 45.2 - 0.35 P
  W(cats,cfm) = 27 - 0.1 P
  W(cats,kjd) = 6
  W(crdi,cess) = 2
  W(crdi,cbuf) = 6
  W(crdi,jd) = 3
  W(crdi,cen) = 52.3
  W(crdi,cfm) = 40.3
  W(crdi,kjd) = 3
  W(cess,cbuf) = 6
  W(cess,jd) = 3
  W(cess,cen) = 57.3
  W(cess,cfm) = 45.3
  W(cess,kjd) = 3
  W(cbuf,jd) = 16
  W(cbuf,cen) = 24
  W(cbuf,cfm) = 22
  W(cbuf,kjd) = 16
  W(jd,cen) = 40
  W(jd,cfm) = 26
  W(jd,kjd) = 28
  W(cen,cfm) = 4
  W(cen,kjd) = 40
  W(cfm,kjd) = 40

  v(di) = 1.2
  v(cfs) = 1
  v(cats) = 1.9
  v(crdi) = 1.9
  v(cess) = 1.9
  v(cbuf) = 1.9
  v(jd) = 1.2
  v(cen) = 1
  v(cfm) = 1
  v(kjd) = 1.2

 "make" end-members
  cfs = fs + 2.1 - 0.002 T + 0.045 P  (tran)
  crdi = e-cats + kos - jd + 4.85  (make)
  cess = e-cats + acm - jd - 3.46  (make)
  cbuf = e-cats + 1/2 per + 1/2 ru - 1/2 cor - 20.89 - 0.0012 T + 0.248 P  (make)
  cen = en + 3.5 - 0.002 T + 0.048 P  (tran)
  cfm = 1/2 en + 1/2 fs - 1.6 - 0.002 T + 0.0465 P  (od)
  kjd = jd - abh + e-san + 10.82 + 0.6 P  (make)

#
 -------------------------------------------------------------------
 Orthopyroxene: NCFMASTOCr

 Weller, OM, Holland, TJB, Soderman, CR, Green, ECR, Powell, R,
 Beard, CD & Riel, N (2024). New Thermodynamic Models for Anhydrous
 Alkaline-Silicate Magmatic Systems. Journal of Petrology, 65,
 doi: 10.1093/petrology/egae098

 E-m   Formula          Mixing sites
                        M1                        M2                T*        Ordered?
                        Mg  Fe  Al  Fe3 Cr  Ti    Mg  Fe  Ca  Na    Si  Al
 en    Mg2Si2O6         1   0   0   0   0   0     1   0   0   0     2   0
 fs    Fe2Si2O6         0   1   0   0   0   0     0   1   0   0     2   0
 fm    MgFeSi2O6        1   0   0   0   0   0     0   1   0   0     2   0     y
 odi   CaMgSi2O6        1   0   0   0   0   0     0   0   1   0     2   0
 mgts  MgAl2SiO6        0   0   1   0   0   0     1   0   0   0     1   1
 cren  MgCrAlSiO6       0   0   0   0   1   0     1   0   0   0     1   1
 obuf  Mg1.5AlTi0.5SiO6 1/2 0   0   0   0   1/2   1   0   0   0     1   1
 mess  MgFeAlSiO6       0   0   0   1   0   0     1   0   0   0     1   1
 ojd   NaAlSi2O6        0   0   1   0   0   0     0   0   0   1     2   0
 *use 1/4 entropy of mixing from T-site

 Composition variables:
   x -> (xFeM1 + xFeM2)/(xFeM1 + xFeM2 + xMgM1 + xMgM2)
   y -> 2 xAlT
   c -> xCaM2
   j -> xNaM2
   f -> xFe3M1
   t -> xTiM1
   cr -> xCrM1
 Order variables:
   Q -> -x + xFeM1/(xFeM1 + xMgM1)

 -------------------------------------------------------------------
#

opx_W24 = orthopyroxene

 composition variables
  x(opx)
  y(opx)  range 0 <> 2
  c(opx)
  j(opx)
  f(opx)
  t(opx)
  cr(opx)
  Q(opx)  range -1 <> 1  order variable

 site fractions
   xMgM1 = 1 - j - Q + t - x - y + j Q + (-Q) t + j x + (-t) x + Q y + x y
   xFeM1 = Q + x + (-j) Q + Q t + (-j) x + t x + (-Q) y + (-x) y
   xAlM1 = -cr - f + j + y - 2t
   xFe3M1 = f
   xCrM1 = cr
   xTiM1 = t
   xMgM2 = 1 - c - j + Q - x + (-j) Q + Q t + c x + j x + (-Q) y
   xFeM2 = -Q + x + j Q + (-Q) t + (-c) x + (-j) x + Q y
   xCaM2 = c
   xNaM2 = j
   xSiT = 1 - 1/2 y
   xAlT = 1/2 y

 proportions
   en = 1 - c - j + Q - x - y + (-j) Q + Q t + c x + j x + (-Q) y
   fs = Q + x + (-j) Q + Q t + (-j) x + t x + (-Q) y + (-x) y
   fm = -2Q + 2j Q + (-2Q) t + (-c) x + (-t) x + 2Q y + x y
   odi = c
   mgts = -cr - f + y - 2t
   cren = cr
   obuf = 2t
   mess = f
   ojd = j

 ideal mixing activities
  en = xMgM1 xMgM2 xSiT^(1/2)
  fs = xFeM1 xFeM2 xSiT^(1/2)
  fm = xMgM1 xFeM2 xSiT^(1/2)
  odi = xMgM1 xCaM2 xSiT^(1/2)
  mgts = 1.4142 xAlM1 xMgM2 xSiT^(1/4) xAlT^(1/4)
  cren = 1.4142 xCrM1 xMgM2 xSiT^(1/4) xAlT^(1/4)
  obuf = 2.8284 xMgM1^(1/2) xTiM1^(1/2) xMgM2 xSiT^(1/4) xAlT^(1/4)
  mess = 1.4142 xFe3M1 xMgM2 xSiT^(1/4) xAlT^(1/4)
  ojd = xAlM1 xNaM2 xSiT^(1/2)

 non-ideality by van laar
  W(en,fs) = 7
  W(en,fm) = 3.5
  W(en,odi) = 29 + 0.15 P
  W(en,mgts) = 12.5 - 0.04 P
  W(en,cren) = 8
  W(en,obuf) = 6
  W(en,mess) = 8
  W(en,ojd) = 35
  W(fs,fm) = 4.5
  W(fs,odi) = 23 + 0.08 P
  W(fs,mgts) = 11 - 0.15 P
  W(fs,cren) = 10
  W(fs,obuf) = 7
  W(fs,mess) = 10
  W(fs,ojd) = 35
  W(fm,odi) = 19 + 0.08 P
  W(fm,mgts) = 15 - 0.15 P
  W(fm,cren) = 12
  W(fm,obuf) = 8
  W(fm,mess) = 12
  W(fm,ojd) = 35
  W(odi,mgts) = 75.5 - 0.84 P
  W(odi,cren) = 20
  W(odi,obuf) = 40
  W(odi,mess) = 20
  W(odi,ojd) = 35
  W(mgts,cren) = 2
  W(mgts,obuf) = 10
  W(mgts,mess) = 2
  W(mgts,ojd) = 7
  W(cren,obuf) = 6
  W(cren,mess) = 2
  W(cren,ojd) = -11
  W(obuf,mess) = 6
  W(obuf,ojd) = 20
  W(mess,ojd) = -11

  v(en) = 1
  v(fs) = 1
  v(fm) = 1
  v(odi) = 1.2
  v(mgts) = 1
  v(cren) = 1
  v(obuf) = 1
  v(mess) = 1
  v(ojd) = 1.2

 "make" end-members
  fm = 1/2 en + 1/2 fs - 6.6  (od)
  odi = di + 2.8 + 0.005 P  (tran)
  cren = en + e-cats + kos - jd - di - 6 + 0.14 P  (make)
  obuf = mgts + 1/2 per + 1/2 ru - 1/2 cor - 3.91 - 0.0051 T + 0.37 P  (make)
  mess = mgts + acm - jd + 3  (make)
  ojd = jd + 18.2  (tran)

#
 -------------------------------------------------------------------
 Ilmenite:FMTO

 Weller, OM, Holland, TJB, Soderman, CR, Green, ECR, Powell, R,
 Beard, CD & Riel, N (2024). New Thermodynamic Models for Anhydrous
 Alkaline-Silicate Magmatic Systems. Journal of Petrology, 65,
 doi: 10.1093/petrology/egae098

 E-m    Formula        Mixing sites					  Ordered?
                       A                         B
        		Fe    Ti    Fe3   Mg      Fe    Ti    Fe3   Mg    y
 oilm   FeTiO3		1     0     0     0       0     1     0     0
 dilm   FeTiO3		1/2   1/2   0     0       1/2   1/2   0     0
 hem    Fe2O3		0     0     1     0       0     0     1     0
 ogk    MgTiO3		0     0     0     1       0     1     0     0     y
 dgk    MgTiO3		0     1/2   0     1/2     0     1/2   0     1/2

 Composition variables:
   i -> 1 - xFe3A
   m -> (xMgA + xMgB)/(xFeA + xFeB + xMgA + xMgB)
 Order variables:
   Q -> xFeA - xFeB
   Qt -> -xTiA + xTiB

 -------------------------------------------------------------------
#

ilm_W24 = ilmenite

 composition variables
  i(ilm)
  m(ilm)
  Q(ilm)  range -1 <> 1  order variable
  Qt(ilm)  range -1 <> 1  order variable

 site fractions
   xFeA = 1/2 i + 1/2 Q + (-1/2 i) m
   xTiA = 1/2 i - 1/2 Qt
   xFe3A = 1 - i
   xMgA = -1/2 Q + 1/2 Qt + 1/2 i m
   xFeB = 1/2 i - 1/2 Q + (-1/2 i) m
   xTiB = 1/2 i + 1/2 Qt
   xFe3B = 1 - i
   xMgB = 1/2 Q - 1/2 Qt + 1/2 i m

 proportions
   oilm = Q
   dilm = i - Q + (-i) m
   hem = 1 - i
   ogk = -Q + Qt
   dgk = Q - Qt + i m

 ideal mixing activities
  oilm = xFeA^(1/2) xTiB^(1/2)
  dilm = 2 xFeA^(1/4) xTiA^(1/4) xFeB^(1/4) xTiB^(1/4)
  hem = xFe3A^(1/2) xFe3B^(1/2)
  ogk = xMgA^(1/2) xTiB^(1/2)
  dgk = 2 xTiA^(1/4) xMgA^(1/4) xTiB^(1/4) xMgB^(1/4)

 non-ideality by symmetric formalism
  W(oilm,dilm) = 7.05 + 0.13 P
  W(oilm,hem) = 14.3
  W(oilm,ogk) = -7.6
  W(oilm,dgk) = 0.6
  W(dilm,hem) = 7.25 - 0.13 P
  W(dilm,ogk) = -5.5
  W(dilm,dgk) = -2.2
  W(hem,ogk) = 12.5
  W(hem,dgk) = 2.7
  W(ogk,dgk) = 8.3

 "make" end-members
  oilm = o-ilm
  dilm = d-ilm
  ogk = o-geik
  dgk = d-geik

#
 -------------------------------------------------------------------
 Nepheline: NCKASO

 Weller, OM, Holland, TJB, Soderman, CR, Green, ECR, Powell, R,
 Beard, CD & Riel, N (2024). New Thermodynamic Models for Anhydrous
 Alkaline-Silicate Magmatic Systems. Journal of Petrology, 65,
 doi: 10.1093/petrology/egae098

 E-m  Formula        	Mixing sites
        		A1                  A2                  T2                  Ordered?
         		Na    K     Ca      Na    K     v       Al    Si    Fe3
 neN  Na4Al4Si4O16	3     0     0       1     0     0       4     0     0
 neS  Na3Al3Si5O16  	3     0     0       0     0     1       3     1     0
 neK  K4Al4Si4O16 	0     3     0       0     1     0       4     0     0
 neO  Na3KAl4Si4O16  	3     0     0       0     1     0       4     0     0       y
 neC  Na2CaAl4Si4O16	2     0     1       0     0     1       4     0     0
 neF  Na4Fe4Si4O16 	3     0     0       1     0     0       0     0     4

 Composition variables:
   k -> (3 xKA1 + xKA2)/(3 xKA1 + xKA2 + 3 xNaA1 + xNaA2)
   s -> xvA2
   f -> xFe3T2
   c -> xCaA1

 Order variables:
   Q -> -xKA1 + xKA2

 -------------------------------------------------------------------
#

nph_W24 = nepheline

 composition variables
  k(nph)
  s(nph)
  f(nph)
  c(nph)
  Q(nph)  range -1 <> 1  order variable

 site fractions
   xNaA1 = 1 + 1/4 Q - c - k + 3/4 c k + 1/4 k s
   xKA1 = -1/4 Q + k + (-3/4 c) k + (-1/4 k) s
   xCaA1 = c
   xNaA2 = 1 - k - s - 3/4 Q + 3/4 c k + 1/4 k s
   xKA2 = k + 3/4 Q + (-3/4 c) k + (-1/4 k) s
   xvA2 = s
   xAlT2 = 1 - 1/4 s - f + 3/4 c
   xSiT2 = 1/4 s - 3/4 c
   xFe3T2 = f

 proportions
   neN = 1 - f - k - s - 3/4 Q + 3/4 c k + 1/4 k s
   neS = s - 3c
   neK = -1/4 Q + k + (-3/4 c) k + (-1/4 k) s
   neO = Q
   neC = 3c
   neF = f

 ideal mixing activities
  neN = xNaA1^3 xNaA2 xAlT2^2
  neS = 3.0792 xNaA1^3 xvA2 xAlT2^(3/2) xSiT2^(1/2)
  neK = xKA1^3 xKA2 xAlT2^2
  neO = xNaA1^3 xKA2 xAlT2^2
  neC = 6.7500 xNaA1^2 xCaA1 xvA2 xAlT2^2
  neF = xNaA1^3 xNaA2 xFe3T2^2

 non-ideality by van laar
  W(neN,neS) = 21.9 - 0.92 P
  W(neN,neK) = 112.8 - 0.03 P
  W(neN,neO) = 11.4 - 0.03 P
  W(neN,neC) = 22
  W(neN,neF) = 0
  W(neS,neK) = 79.7
  W(neS,neO) = 25.2
  W(neS,neC) = 5
  W(neS,neF) = 23
  W(neK,neO) = 59.4 + 0.17 P
  W(neK,neC) = 100
  W(neK,neF) = 80
  W(neO,neC) = 50
  W(neO,neF) = 13
  W(neC,neF) = 27

  v(neN) = 1.187
  v(neS) = 1
  v(neK) = 1
  v(neO) = 0.995
  v(neC) = 1
  v(neF) = 1

 "make" end-members
  neN = 4 e-ne + 0.45 + 0.004 T  (mod)
  neS = 3 e-ne + 2 trd - 20.6 + 0.002 T - 0.145 P  (make)
  neK = 4 kls + 1.2 - 0.0005 T + 0.008 P  (tran)
  neO = 3 e-ne + kls - 1.1 - 0.07 P  (od)
  neC = 2 e-ne + e-an
  neF = 4 e-ne + 4 acm - 4 jd + 167  (make)

#
 -------------------------------------------------------------------
 Kalsilite: NKAS

 Weller, OM, Holland, TJB, Soderman, CR, Green, ECR, Powell, R,
 Beard, CD & Riel, N (2024). New Thermodynamic Models for Anhydrous
 Alkaline-Silicate Magmatic Systems. Journal of Petrology, 65,
 doi: 10.1093/petrology/egae098

 E-m  Formula        	Mixing sites
        		A
         		Na    K
 nks  NaAlSiO4 	1     0
 kls  KAlSiO4	 	0     1

 Composition variables:
 k -> xKA

 -------------------------------------------------------------------
#

kals_W24 = kalsilite

 composition variables
  k(kals)

 site fractions
   xKA = k
   xNaA = 1 - k

 proportions
   nks = 1 - k
   kls = k

 ideal mixing activities
  nks = xNaA
  kls = xKA

 non-ideality by van laar
  W(nks,kls) = 14.4 - 0.06 P

  v(nks) = 1.235
  v(kls) = 1

 "make" end-members
  nks = e-ne + 3.17 + 0.0025 T - 0.115 P  (tran)

#
-------------------------------------------------------------------
 Leucite: NKAS

 Weller, OM, Holland, TJB, Soderman, CR, Green, ECR, Powell, R,
 Beard, CD & Riel, N (2024). New Thermodynamic Models for Anhydrous
 Alkaline-Silicate Magmatic Systems. Journal of Petrology, 65,
 doi: 10.1093/petrology/egae098

 E-m  Formula        	Mixing sites
        		A
         		Na    K
 nlc  NaAlSi2O6 	1     0
 lc   KAlSi2O6 	0     1

 Composition variables:
   n -> xNaA

 -------------------------------------------------------------------
#

lct_W24 = leucite

 composition variables
  n(lct)

 site fractions
   xNaA = n
   xKA = 1 - n

 proportions
   nlc = n
   lc = 1 - n

 ideal mixing activities
  nlc = xNaA
  lc = xKA

 non-ideality by van laar
  W(nlc,lc) = 14.5

  v(nlc) = 0.95
  v(lc) = 1

 "make" end-members
  nlc = e-lc + e-ab - e-san + 16.6  (make)

#
-------------------------------------------------------------------
 Melilite: NCFMASO

 Weller, OM, Holland, TJB, Soderman, CR, Green, ECR, Powell, R,
 Beard, CD & Riel, N (2024). New Thermodynamic Models for Anhydrous
 Alkaline-Silicate Magmatic Systems. Journal of Petrology, 65,
 doi: 10.1093/petrology/egae098

 E-m  Formula        	Mixing sites
         		M1            T1                        T2
        		Na    Ca      Mg    Fe    Al    Fe3     Al    Si
 geh  Ca2Al2SiO7   	0     2       0     0     1     0       1     1
 ak   Ca2MgSi2O7 	0     2       1     0     0     0       0     2
 fak  Ca2FeSi2O7	0     2       0     1     0     0       0     2
 nml  NaCaAl2SiO7   	1     1       0     0     1     0       0     2
 fge  Ca2FeAlSiO7  	0     2       0     0     0     1       1     1

 Composition variables:
   x ->  xFeT1/(xFeT1 + xMgT1)
   n -> xNaM1
   y -> xAlT1
   f -> xFe3T1
 -------------------------------------------------------------------
#

mel_W24 = melilite

 composition variables
  x(mel)
  n(mel)
  y(mel)
  f(mel)

 site fractions
   xNaM1 = n
   xCaM1 = 1 - n
   xMgT1 = 1 - f - x - y + f x + x y
   xFeT1 = x + (-f) x + (-x) y
   xAlT1 = y
   xFe3T1 = f
   xAlT2 = 1/2 f + 1/2 y - n
   xSiT2 = 1 - 1/2 f - 1/2 y + n

 proportions
   geh = y - 2n
   ak = 1 - f - x - y + f x + x y
   fak = x + (-f) x + (-x) y
   nml = 2n
   fge = f

 ideal mixing activities
  geh = 2 xCaM1^2 xAlT1 xAlT2^(1/2) xSiT2^(1/2)
  ak = xCaM1^2 xMgT1 xSiT2
  fak = xCaM1^2 xFeT1 xSiT2
  nml = 4 xNaM1 xCaM1 xAlT1 xSiT2
  fge = 2 xCaM1^2 xFe3T1 xAlT2^(1/2) xSiT2^(1/2)

 non-ideality by symmetric formalism
  W(geh,ak) = 15
  W(geh,fak) = 13.5
  W(geh,nml) = 1
  W(geh,fge) = 0
  W(ak,fak) = 0
  W(ak,nml) = 0
  W(ak,fge) = 15
  W(fak,nml) = 13.5
  W(fak,fge) = 13.5
  W(nml,fge) = 1

 "make" end-members
  fak = ak + o-herc - o-sp + 4.05  (make)
  nml = e-geh + e-ab - e-an - 25.14  (make)
  fge = e-geh + acm - jd + 7.81  (make)

