#Phases and kinetics from (Zhang et al. 2019DATABASE C:\phreeqc\database\core10.datPHASESForsterite Mg2SiO4 + 4 H+ = SiO2 + 2 H2O + 2 Mg+2 log_k 27.8626 -delta_H -205.614 kJ/mol# deltafH -520 kcal/mol -analytic -7.6195e1 -1.4013e-2 1.4763e4 2.5090e1 -3.0379e5# Range 0-350 -Vm 43.79# Extrapol supcrt92# Ref HDN+78Fayalite Fe2SiO4 + 4 H+ = SiO2 + 2 Fe+2 + 2 H2O log_k 19.1113 -delta_H -152.256 kJ/mol# deltafH -354.119 kcal/mol -analytic 1.3853e1 -3.5501e-3 7.1496e3 -6.8710e0 -6.3310e4# Range 0-350 -Vm 46.39# Extrapol supcrt92# Ref HDN+78Diopside CaMgSi2O6 + 4 H+ = Ca+2 + Mg+2 + 2 H2O + 2 SiO2 log_k 20.9643 -delta_H -133.775 kJ/mol# deltafH -765.378 kcal/mol -analytic 7.1240e1 1.5514e-2 8.1437e3 -3.0672e1 -5.6880e5# Range 0-350 -Vm 66.09# Extrapol supcrt92# Ref HDN+78Enstatite MgSiO3 + 2 H+ = H2O + Mg+2 + SiO2 log_k 11.3269 -delta_H -82.7302 kJ/mol# deltafH -369.686 kcal/mol -analytic -4.9278e1 -3.2832e-3 9.5205e3 1.4437e1 -5.4324e5# Range 0-350 -Vm 31.276# Extrapol supcrt92# Ref HDN+78Ferrosilite FeSiO3 + 2 H+ = Fe+2 + H2O + SiO2 log_k 7.4471 -delta_H -60.6011 kJ/mol# deltafH -285.658 kcal/mol -analytic 9.0041 3.7917e-3 5.1625e3 -6.3009 -3.9565e5# Range 0-350 -Vm 32.952# Extrapol supcrt92# Ref HDN+78Anorthite CaAl2(SiO4)2 + 8 H+ = Ca+2 + 2 Al+3 + 2 SiO2 + 4 H2O log_k 26.5780 -delta_H -303.039 kJ/mol# deltafH -1007.55 kcal/mol -analytic 3.9717e-1 -1.8751e-2 1.4897e4 -6.3078 -2.3885e5# Range 0-350 -Vm 100.79# Extrapol supcrt92# Ref HDN+78Hematite Fe2O3 + 6 H+ = 2 Fe+3 + 3 H2O log_k 0.1086 -delta_H -129.415 kJ/mol# deltafH -197.72 kcal/mol -analytic -2.2015e2 -6.0290e-2 1.1812e4 8.0253e1 1.8438e2# Range 0-350 -Vm 30.274# Extrapol supcrt92# Ref HDN+78Magnetite Fe3O4 + 8 H+ = Fe+2 + 2 Fe+3 + 4 H2O log_k 10.4724 -delta_H -216.597 kJ/mol# deltafH -267.25 kcal/mol -analytic -3.0510e2 -7.9919e-2 1.8709e4 1.1178e2 2.9203e2# Range 0-350 -Vm 44.524# Extrapol supcrt92# Ref HDN+78RATES Forsterite1 rem unit should be mol,kgw-1 and second-12 rem parm(1) is surface area in the unit of m2/kgw3 rem calculation of surface area can be found in the note4 rem M is current moles of minerals. M0 is the initial moles of minerals5 rem parm(2) is a correction factor10 rem acid solution parameters11 a1=8.38E+0412 E1=6720613 n1=0.47020 rem neutral solution parameters21 a2=1.58E+0322 E2=7900030 rem base solution parameters31 a3=1.00E-07 32 E3=5663733 n2=-0.60036 rem rate=0 if no minerals and undersaturated40 SR_mineral=SR("forsterite")41 if (M<0) then goto 20042 if (M=0 and SR_mineral<1) then goto 20043 if (M0<=0) then SA=PARM(1) else SA=PARM(1)*(M/M0)^0.6750 if (SA<=0) then SA=160 R=8.3145175 Rate1=a1*EXP(-E1/R/TK)*ACT("H+")^n1 #acid rate expression80 Rate2=a2*EXP(-E2/R/TK) #neutral rate expression85 Rate3=a3*EXP(-E3/R/TK)*ACT("H+")^n2 #base rate expression90 Rate=(Rate1+Rate2 + Rate3)*(1-Sr_mineral)*SA*parm(2)100 moles= rate*Time200 save moles-end Fayalite# from Palandri and Kharaka 2004# experimental condition range T=8-25C, pH=1.3-11-start1 rem unit should be mol,kgw-1 and second-12 rem parm(1) is surface area in the unit of m2/kgw3 rem calculation of surface area can be found in the note 4 rem M is current moles of minerals. M0 is the initial moles of minerals5 rem parm(2) is a correction factor10 rem acid solution parameters11 a1=5.48E+1112 E1=9440013 n1=020 rem neutral solution parameters21 a2=5.48E+0222 E2=9440030 rem base solution parameters31 a3=032 E3=033 n2=036 rem rate=0 if no minerals and undersaturated40 SR_mineral=SR("Fayalite")41 if (M<0) then goto 20042 if (M=0 and SR_mineral<1) then goto 20043 if (M0<=0) then SA=PARM(1) else SA=PARM(1)*(M/M0)^0.6750 if (SA<=0) then SA=160 R=8.3145175 Rate1=a1*EXP(-E1/R/TK)*ACT("H+")^n1 #acid rate expression80 Rate2=a2*EXP(-E2/R/TK) #neutral rate expression85 Rate3=a3*EXP(-E3/R/TK)*ACT("H+")^n2 #base rate expression90 Rate=(Rate1+Rate2+Rate3)*(1-Sr_mineral)*SA*parm(2)100 moles= rate*Time200 save moles-endDiopside# from Palandri and Kharaka 2004# experimental condition range T=8-90C, pH=1-6-start1 rem unit should be mol,kgw-1 and second-12 rem parm(1) is surface area in the unit of m2/kgw3 rem calculation of surface area can be found in the note 4 rem M is current moles of minerals. M0 is the initial moles of minerals5 rem parm(2) is a correction factor10 rem acid solution parameters11 a1=3.00E+10 12 E1=9610013 n1=0.71020 rem neutral solution parameters21 a2=1.00E-04 22 E2=4060030 rem base solution parameters31 a3=032 E3=033 n2=036 rem rate=0 if no minerals and undersaturated40 SR_mineral=SR("diopside")41 if (M<0) then goto 20042 if (M=0 and SR_mineral<1) then goto 20043 if (M0<=0) then SA=PARM(1) else SA=PARM(1)*(M/M0)^0.6750 if (SA<=0) then SA=160 R=8.3145175 Rate1=a1*EXP(-E1/R/TK)*ACT("H+")^n1 #acid rate expression80 Rate2=a2*EXP(-E2/R/TK) #neutral rate expression85 Rate3=a3*EXP(-E3/R/TK)*ACT("H+")^n2 #base rate expression90 Rate=(Rate1+Rate2+Rate3)*(1-Sr_mineral)*SA*parm(2)100 moles= rate*Time200 save moles-endenstatite# from Palandri and Kharaka 2004# experimental condition range T=8-72C, pH=1-12-start1 rem unit should be mol,kgw-1 and second-12 rem parm(1) is surface area in the unit of m2/kgw3 rem calculation of surface area can be found in the note 4 rem M is current moles of minerals. M0 is the initial moles of minerals5 rem parm(2) is a correction factor10 rem acid solution parameters11 a1=1.00E+05 12 E1=8000013 n1=0.60020 rem neutral solution parameters21 a2=2.00E+01 22 E2=8000030 rem base solution parameters31 a3=032 E3=033 n2=036 rem rate=0 if no minerals and undersaturated40 SR_mineral=SR("enstatite")41 if (M<0) then goto 20042 if (M=0 and SR_mineral<1) then goto 20043 if (M0<=0) then SA=PARM(1) else SA=PARM(1)*(M/M0)^0.6750 if (SA<=0) then SA=160 R=8.3145175 Rate1=a1*EXP(-E1/R/TK)*ACT("H+")^n1 #acid rate expression80 Rate2=a2*EXP(-E2/R/TK) #neutral rate expression85 Rate3=a3*EXP(-E3/R/TK)*ACT("H+")^n2 #base rate expression90 Rate=(Rate1+Rate2+Rate3)*(1-Sr_mineral)*SA*parm(2)100 moles= rate*Time200 save moles-endAnorthite# from Palandri and Kharaka 2004# experimental condition range T=25-95C, pH=2-10.2-start1 rem unit should be mol,kgw-1 and second-12 rem parm(1) is surface area in the unit of m2/kgw3 rem calculation of surface area can be found in the note 4 rem M is current moles of minerals. M0 is the initial moles of minerals5 rem parm(2) is a correction factor10 rem acid solution parameters11 a1=2.58E-01 12 E1=1660113 n1=1.41120 rem neutral solution parameters21 a2=1.00E-06 22 E2=1782130 rem base solution parameters31 a3=1.00E-22 32 E3=1815033 n2=-1.76736 rem rate=0 if no minerals and undersaturated40 SR_mineral=SR("anorthite")41 if (M<0) then goto 20042 if (M=0 and SR_mineral<1) then goto 20043 if (M0<=0) then SA=PARM(1) else SA=PARM(1)*(M/M0)^0.6750 if (SA<=0) then SA=160 R=8.3145175 Rate1=a1*EXP(-E1/R/TK)*ACT("H+")^n1 #acid rate expression80 Rate2=a2*EXP(-E2/R/TK) #neutral rate expression85 Rate3=a3*EXP(-E3/R/TK)*ACT("H+")^n2 #base rate expression90 Rate=(Rate1+Rate2+Rate3)*(1-Sr_mineral)*SA*parm(2)100 moles= rate*Time200 save moles-endmagnesite# from Palandri and Kharaka 2004# experimental condition range T=25C, pH=0.2-12# calcite activation energy is assumed# near equilibrium parameters p=4.0 and q=1.0-start1 rem unit should be mol,kgw-1 and second-12 rem parm(1) is surface area in the unit of m2/kgw3 rem calculation of surface area can be found in the note 4 rem M is current moles of minerals. M0 is the initial moles of minerals5 rem parm(2) is a correction factor10 rem acid solution parameters11 a1=1.39E-4 12 E1=1440013 n1=1.00020 rem neutral solution parameters21 a2=5.99E-6 22 E2=2350030 rem CO2 denpendence parameters31 a3=6.03E+05 32 E3=6280033 n2=1.00036 rem rate=0 if no minerals and undersaturated40 SR_mineral=SR("magnesite")41 if (M<0) then goto 20042 if (M=0 and SR_mineral<1) then goto 20043 if (M0<=0) then SA=PARM(1) else SA=PARM(1)*(M/M0)^0.6750 if (SA<=0) then SA=160 R=8.3145175 Rate1=a1*EXP(-E1/R/TK)*ACT("H+")^n1 #acid rate expression80 Rate2=a2*EXP(-E2/R/TK) #neutral rate expression85 Rate3=a3*EXP(-E3/R/TK)*SR("CO2(g)")^n2 #CO2 rate expression90 Rate=(Rate1+Rate2+Rate3)*(1-Sr_mineral)*SA*parm(2)100 moles= rate*Time200 save moles-endhematite# from Palandri and Kharaka 2004# experimental condition range T=25-50C, pH=0-5-start1 rem unit should be mol,kgw-1 and second-12 rem parm(1) is surface area in the unit of m2/kgw3 rem calculation of surface area can be found in the note 4 rem M is current moles of minerals. M0 is the initial moles of minerals5 rem parm(2) is a correction factor10 rem acid solution parameters11 a1=161.6 12 E1=6620013 n1=0120 rem neutral solution parameters21 a2=9.96E-4 22 E2=6621030 rem basic dependence parameters31 a3=0 32 E3=033 n2=036 rem rate=0 if no minerals and undersaturated40 SR_mineral=SR("hematite")41 if (M<0) then goto 20042 if (M=0 and SR_mineral<1) then goto 20043 if (M0<=0) then SA=PARM(1) else SA=PARM(1)*(M/M0)^0.6750 if (SA<=0) then SA=160 R=8.3145175 Rate1=a1*EXP(-E1/R/TK)*ACT("H+")^n1 #acid rate expression80 Rate2=a2*EXP(-E2/R/TK) #neutral rate expression85 Rate3=a3*EXP(-E3/R/TK)*ACT("H+")^n2 #base rate expression90 Rate=(Rate1+Rate2+Rate3)*(1-Sr_mineral)*SA*parm(2)100 moles= rate*Time200 save moles-endSOLUTION 1water 2pH 7temp 150pressure 40units mol/LNa 0.5Cl 0.5# Si 1.0# Mg 1.0# O(0) 4.0EQUILIBRIUM_PHASES 1 basalt mineralsForsterite 0 0.2Diopside 0 0.2757Anorthite 0 0.4743Hematite 0 0.025 # Assuming the half is hematite (Fe2O3)Magnetite 0 0.025 # Assuming the other half of the magmatic oxides are magnetite (Fe3O4)SAVE SOLUTION 1SAVE EQUILIBRIUM_PHASES 1 KINETICS 1Forsterite -formula Mg2SiO4 1.0 -m 2e-1 -M0 2e-1/30 # moles of solid per kg of water -parms 1e3 0.1 # total surface area per kg of water (m2/kgw) and the scaling factorDiopside -formula CaMgSi2O6 1.0 -m 2.757e-1 -M0 2.757e-1/30 # moles of solid per kg of water -parms 1e3 0.1 # total surface area per kg of water (m2/kgw) and the scaling factorAnorthite -formula CaAl2(SiO4)2 1.0 -m 4.4743e-1 -M0 4.4743e-1/30 # moles of solid per kg of water -parms 1e3 0.1 # total surface area per kg of water (m2/kgw) and the scaling factor-time 30.0-steps 30*86400 # define time steps-step_divide 1e-2-cvode trueREACTION Forsterite 0.0066Diopside 0.0099Anorthite 0.01581INCREMENTAL_REACTIONS TRUEUSE SOLUTION 1USE EQUILIBRIUM_PHASES 1USER_GRAPH 1-chart_title "Forsterite Dissolution"-axis_titles Day "mol"-initial_solutions false-start10 graph_x total_time/8640020 graph_y KIN_DELTA("Forsterite")-end USER_GRAPH 2-chart_title "Diopside Dissolution"-axis_titles Day "mol"-initial_solutions false-start10 graph_x total_time/8640020 graph_y KIN_DELTA("Diopside")-end USER_GRAPH 3-chart_title "Anorthite Dissolution"-axis_titles Day "mol"-initial_solutions false-start10 graph_x total_time/8640020 graph_y KIN_DELTA("Anorthite")-end END
[code]RATES Wollastonite-start 10 rem unit should be mol,Liter-1 and second-1 20 rem parm(1) is surface area in the unit of m2/L 30 rem calculation of surface area can be found in the note 40 rem M is current moles of minerals M0 is the initial moles of minerals 50 rem parm(2) is a scaling factor 60 rem acid solution parameters 70 k1=1.60E+04 80 E1=54651 90 n1=0.400100 rem neutral solution parameters110 k2=5120 E2=54651130 rem base solution parameters140 k3=0150 E3=0160 n2=0170 rem rate=0 if no minerals and undersaturated180 Si_mineral=SI("wollastonite")190 if (M<0) then goto 290200 if (M=0 and Si_mineral<1) then goto 290210 if (M0<=0) then SA=PARM(1) else SA=PARM(1)*(M/M0)^0.67220 if (SA<=0) then SA=1230 R=8.31451240 Rate1=k1*EXP(-E1/R/TK)*ACT("H+")^n1250 Rate2=k2*EXP(-E2/R/TK)260 Rate3=k3*EXP(-E3/R/TK)*ACT("H+")^n2270 Rate=(Rate1+Rate2+Rate3)*(1-Si_mineral)*SA*parm(2)280 moles= rate*Time290 save moles-endSOLUTION 1 temp 25 pH 7 pe 4 redox pe units mol/kgw density 1 Na 0.5 C(4) 0.5 -water 1 # kgGAS_PHASE 1 -fixed_pressure -pressure 60 -volume 1 -temperature 25 CO2(g) 60PHASESWollastonite CaSiO3 + 2H+ + H2O = Ca+2 + H4SiO4 log_k 12.996 delta_h -19.498 kcal -analytical_expression 525.2449 0.2616002 -6403.288 -224.8401 -174483.8 -0.0001135532 -Vm 39.93 cm3/molCO2(g) CO2 + H2O = CO3-2 + 2H+ log_k -18.16 delta_h 0.53 kcal -T_c 304.2 -P_c 72.86 -Omega 0.225EQUILIBRIUM_PHASES 1 Wollastonite 0 CaSiO3 50KINETICS 1Wollastonite -formula CaSiO3 1 -m 0 -m0 50 -parms 0.1 0.5 -tol 1e-06-steps 172800 in 1 steps # seconds-step_divide 1-runge_kutta 2-bad_step_max 500INCREMENTAL_REACTIONS TrueREACTION_TEMPERATURE 1 90REACTION_PRESSURE 1 200END
RATES Wollastonite-start 10 rem unit should be mol,Liter-1 and second-1 20 rem parm(1) is surface area in the unit of m2/L 30 rem calculation of surface area can be found in the note 40 rem M is current moles of minerals M0 is the initial moles of minerals 50 rem parm(2) is a scaling factor 60 rem acid solution parameters 70 k1=1.60E+04 80 E1=54651 90 n1=0.400100 rem neutral solution parameters110 k2=5120 E2=54651130 rem base solution parameters140 k3=0150 E3=0160 n2=0170 rem rate=0 if no minerals and undersaturated180 Si_mineral=SI("wollastonite")190 if (M<0) then goto 290200 if (M=0 and Si_mineral<1) then goto 290210 if (M0<=0) then SA=PARM(1) else SA=PARM(1)*(M/M0)^0.67220 if (SA<=0) then SA=1230 R=8.31451240 Rate1=k1*EXP(-E1/R/TK)*ACT("H+")^n1250 Rate2=k2*EXP(-E2/R/TK)260 Rate3=k3*EXP(-E3/R/TK)*ACT("H+")^n2270 Rate=(Rate1+Rate2+Rate3)*(1-Si_mineral)*SA*parm(2)280 moles= rate*Time290 save moles-endSOLUTION 1 temp 25 pH 7 pe 4 redox pe units mol/kgw density 1 Na 0.5 C(4) 0.5 -water 1 # kgGAS_PHASE 1 -fixed_pressure -pressure 60 -volume 1 -temperature 25 CO2(g) 60PHASESWollastonite CaSiO3 + 2H+ + H2O = Ca+2 + H4SiO4 log_k 12.996 delta_h -19.498 kcal -analytical_expression 525.2449 0.2616002 -6403.288 -224.8401 -174483.8 -0.0001135532 -Vm 39.93 cm3/molCO2(g) CO2 + H2O = CO3-2 + 2H+ log_k -18.16 delta_h 0.53 kcal -T_c 304.2 -P_c 72.86 -Omega 0.225EQUILIBRIUM_PHASES 1# Wollastonite 0 CaSiO3 50 Calcite 0 10KINETICS 1Wollastonite -formula CaSiO3 1 -m 50 -m0 50 -parms 0.1 0.5 -tol 1e-06-steps 172800 in 10 steps # seconds-step_divide 1-runge_kutta 2-bad_step_max 500INCREMENTAL_REACTIONS TrueREACTION_TEMPERATURE 1 90REACTION_PRESSURE 1 200USER_GRAPH 1 -headings time Delta_Wollastonite SI_Wollastonite -axis_titles "Time, seconds" "Delta Wollastonite" "SI Wollastonite" -initial_solutions false -connect_simulations true -plot_concentration_vs x -start10 GRAPH_X TOTAL_TIME20 GRAPH_Y KIN_DELTA("Wollastonite")30 GRAPH_SY SI("Wollastonite") -end -active trueEND