PRINT; -status false PHASES Ferrihydrite; Fe(OH)3 + 3H+ = Fe+3 + 3H2O; log_k 4.891 RATES CaEdta # E is short for Edta... # Reactions: FeOH-E + Ca = Ca-E + FeOH & Zn-E + Ca = Ca-E + Zn # # d(Ca-E)/dt = k_f1 * [FeOH-E] * [Ca+2] - k_b1 * [Ca-E} * [FeOH+2] # + k_f2 * [Zn-E] * [Ca+2] - k_b2 * [Ca-E} * [Zn+2] # # k_f1 = 10 /s. k_b1 = K_FeOH-E/K_Ca-E * k_f1 # k_f2 = 1200 /s. k_b2 = K_Zn-E/K_Ca-E * k_f2 # # parms: 1= k_f1. 2= K_FeOH-E. 3= K_Ca-E. 4= k_f2. 5= K_Zn-E. -start 10 k_b1 = parm(1) * parm(2) / parm(3) 12 FeE = kin("FeEdta") 20 rate = parm(1)*FeE*act("Ca+2") - k_b1 * m * act("FeOH+2") 30 k_b2 = parm(4) * parm(5) / parm(3) 32 ZnE = kin("ZnEdta") 40 rate = rate + parm(4)*ZnE*act("Ca+2") - k_b2 * m * act("Zn+2") 50 moles = rate * time 60 save -moles 70 put(moles, 1) -end ZnEdta # Reactions: FeOH-E + Zn = Zn-E + FeOH & Ca-E + Zn = Zn-E + Ca # d(Zn-E)/dt = ... as for CaEdta # # parms: 1= k_f1. 2= K_FeOH-E. 3= K_Zn-E. 4= k_f2. 5= K_Ca-E. -start 10 k_b1 = parm(1) * parm(2) / parm(3) 12 FeE = kin("FeEdta") 20 rate = parm(1)*FeE*act("Zn+2") - k_b1 * m * act("FeOH+2") 30 k_b2 = parm(4) * parm(5) / parm(3) 32 CaE = kin("CaEdta") 40 rate = rate + parm(4)*CaE*act("Zn+2") - k_b2 * m * act("Ca+2") 50 moles = rate * time 60 save -moles 70 put(get(1) + moles, 1) -end FeEdta # Initially from waste stream, otherwise by mass balance... -start 10 save get(1) -end SOLUTION 1 Simplified Glatt river water pH 7.9; pe 12 O2(g) -0.68; Fe 0.2e-3 Ferrihydrite -1.69 # Run file with Ca or Zn crossed out, adapt step... Ca 1.83 # Zn 91.8e-6 KINETICS 1 -step 432 in 50 # for Ca, 0.12 hr # -step 21.6e6 in 50 # for Zn, 6000 hr # -step 3.6e6 in 50 # for Zn and Ca, 1000 hr CaEdta; -formula Ca 1; m0 0; -parms 10 3.09e21 2.51e12 1200 1.1e17 ZnEdta; -formula Zn 1; m0 0; -parms 10 3.09e21 1.1e17 1200 2.51e12 FeEdta; -formula Fe 1; m0 6e-8 -tol 1e-12 -cvode true INCREMENTAL_REACTIONS true EQUILIBRIUM_PHASES 1; Ferrihydrite -1.69 USER_GRAPH -head hours FeEdta CaEdta ZnEdta -axis_titles Hours mol/L -init false -start 10 graph_x total_time / 3600 20 graph_y kin("FeEdta"), kin("CaEdta"), kin("ZnEdta") -end END