RATESAugitestart10 REM PARM(1) = MSA (Molar surface area)I would very much thank you if you could [m^2/mol]20 si_augi = SI("Augite")30 if (M <= 0 and si_augi < 0) then goto 20040 SA = PARM(1) * M50 if (M = 0 and si_augi > 0) then SA = 1e-05 #nucleation60 k_acid = 10^(-6.36)*EXP(-96.10e+03/8.314*(1.0/TK-1.0/298.15))*ACT("H+")^(0.710)70 k_neut = 10^(-11.11)*EXP(-40.60e+03/8.314*(1.0/TK-1.0/298.15))80 k_base = 090 k_rateconst = k_acid + k_neut + k_base100 r = k_rateconst * SA * (1-(10^si_augi))190 moles = r * TIME200 SAVE molesendAlbitestart10 REM PARM(1) = MSA (Molar surface area) [m^2/mol]20 si_alb = SI("Albite")30 if (M <= 0 and si_alb < 0) then goto 20040 SA = PARM(1) * M50 if (M = 0 and si_alb > 0) then SA = 1e-05 #nucleation60 k_acid = 10^(-10.16)*EXP(-65.00e+03/8.314*(1.0/TK-1.0/298.15))*(ACT("H+")^(0.457))70 k_neut = 10^(-12.56)*EXP(-69.80e+03/8.314*(1.0/TK-1.0/298.15))80 k_base = 10^(-15.60)*EXP(-71.00e+03/8.314*(1.0/TK-1.0/298.15))*(ACT("OH-")^(-0.572))90 k_rateconst = k_acid + k_neut + k_base100 r = k_rateconst * SA *(1-(10^si_alb))190 moles = r * TIME200 SAVE molesendHematitestart10 REM PARM(1) = MSA (Molar surface area) [m^2/mol]20 si_hema = SI("Hematite")30 if (M <= 0 and si_hema < 0) then goto 20040 SA = PARM(1) * M50 if (M = 0 and si_hema > 0) then SA = 1e-05 #nucleation60 k_acid = 10^(-9.39)*EXP(-66.20e+03/8.314*(1.0/TK-1.0/298.15))*ACT("H+")^(1.000)70 k_neut = 10^(-14.60)*EXP(-66.20e+03/8.314*(1.0/TK-1.0/298.15))80 k_base = 090 k_rateconst = k_acid + k_neut + k_base100 r = k_rateconst * SA * (1-(10^si_hema))190 moles = r * TIME200 SAVE molesendCalcitestart10 REM PARM(1) = MSA (Molar surface area) [m^2/mol]20 si_calc = SI("Calcite")30 if (M <= 0 and si_calc < 0) then goto 20040 SA = PARM(1) * M50 if (M = 0 and si_calc > 0) then SA = 1e-05 #nucleation60 k_acid = 10^(-0.30)*EXP(-14.40e+03/8.314*(1.0/TK-1.0/298.15))*ACT("H+")^(1.000)70 k_neut = 10^(-5.81)*EXP(-23.50e+03/8.314*(1.0/TK-1.0/298.15))80 k_carb = 10^(-3.48)*EXP(-35.40e+03/8.314*(1.0/TK-1.0/298.15))*PR_P("CO2(g)")^(1.000)90 k_rateconst = k_acid + k_neut + k_carb100 r = k_rateconst * SA * (1-(10^si_calc))190 moles = r * TIME200 SAVE molesendKINETICS 1Augiteformula FeMgSi2O6 1m 2.52m0 2.52parms 3.974tol 1e-09Albiteformula NaAlSi3O8 1m 1.27m0 1.27parms 5.26tol 1e-08Hematiteformula Fe2O3 1m 0.53m0 0.53parms 3672.87tol 1e-08Calciteformula CaCO3 1m 0m0 0parms 15.0135tol 1e-08
RATESForsterite1 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-0732 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
PHASESForsteriteMg2SiO4 + 4 H+ = 2 Mg+2 + H4SiO4 log_k 28.609 delta_h -217.115 #kJ/mol #Internal calculation -analytic -1.0983766E3 -1.5385695E-1 7.321503E4 3.91599E2 -3.7061609E6 [b]-Vm 42.6 # mw/rho = 140.7 / 3.3 = 42.6[/b]RATE_PARAMETERS_PK# Acid Neutral Base# log K E n(H+) log K E log K E n(OH-)# ================================================================Forsterite -6.85 67.2 0.47 -10.64 79 -30 0 0 # Table 23RATESForsterite_PK # Palandri and Kharaka, 2004-start5 REM PARMS: 1 m^2/mol, 2 exponent10 affinity = 1 - SR("Forsterite") 20 rate = RATE_PK("Albite")30 IF M > 0 THEN area = M * parm(1) * (M/M0)^parm(2) ELSE area = 040 SAVE area * rate * affinity * TIME -endENDSOLUTION 1C(4) 1 CO2(g) 2.0 # 100 atmENDREACTION_PRESSURE 1100 # atmENDKINETICS 1Forsterite_PK -formula Mg2SiO4 -parms 1 0.67 -m0 1 -time 15*3.15e10 ENDINCREMENTAL_REACTIONS trueENDRUN_CELLS-cell 1USER_GRAPH 1 -headings time Mg SI(Forsterite) -axis_titles "Time, years" "Molality" "SI" -initial_solutions false -connect_simulations true -plot_concentration_vs x -start10 GRAPH_X TOTAL_TIME / 3.15e720 GRAPH_Y TOT("Mg")30 GRAPH_SY SI("Forsterite")40 END -end -active trueEND