RATESCalcite-start10 SR_mineral=SR("Calcite")20 if (M<0) then goto 20030 if (M=0 and SR_mineral<1) then goto 20040 if (M0<=0) then SA=PARM(1) else SA=PARM(1)*(M/M0)^0.6750 if (SA<=0) then SA=160 k_acid = 0.5*EXP(-14400/8.314*(1.0/TK-1.0/298.15))70 k_neut = 1.55e-6*EXP(-23500/8.314*(1.0/TK-1.0/298.15))80 k_base = 3.31e-4*EXP(-35400/8.314*(1.0/TK-1.0/298.15))90 k_rateconst = k_acid*act("H+") + k_neut + k_base*act("H+")100 r = k_rateconst * SA * (1-SR("Calcite"))*PARM(2)150 moles = r * TIME200 SAVE moles-endENDSOLUTION 1 -temperature 25 -pH 7 charge-units mol/kgwNa 0.104Cl 0.108 Ca 0.004C 0.004 as HCO3EQUILIBRIUM_PHASES 1Calcite 0 0 SAVE solution 1ENDUSE solution 1REACTION 1Na2CO3 1CaCl2 175e-5 molesKINETICS 1Calcite -m 0.2 -m0 0.2 -parms 26.4 0.046 # correction factor -tol 1e-09-steps 600 in 60 steps #seconds-runge_kutta 6USER_GRAPH 1 -headings time pH -axis_titles "Time(s)" "pH(-)" -initial_solutions false -connect_simulations true -plot_concentration_vs x -start10 GRAPH_X (30 + TOTAL_TIME/60)20 GRAPH_Y -La("H+") -end -active trueUSER_GRAPH 2 -headings time ca -axis_titles "Time(s)" "Ca Precipitated(mg)" -initial_solutions false -connect_simulations true -plot_concentration_vs x -start10 GRAPH_X (30 + TOTAL_TIME/60)20 GRAPH_Y KIN_DELTA("Calcite")*40*1000/10 #for 100 cc stock solution -end -active trueEND
EQUILIBRIUM_PHASESCO2(g) -3.4 10