# Kinetic sorption of Pb SURFACE_SPECIES # Adapt log_k to Fig. 4 of Hayes and Leckie... Hfo_sOH + Pb+2 = Hfo_sOPb+ + H+; log_k 3.7 Hfo_wOH + Pb+2 = Hfo_wOPb+ + H+; log_k 0.3 # Define titrator, pH stat, solution and surface... PHASES; Fix_ph; H+ = H+; -log_k 0.0 EQUILIBRIUM_PHASES 1; Fix_ph -5.0 HNO3 SOLUTION 0-2 pH 5.0; Na 10; N(5) 10 charge SURFACE 1 Hfo_w 18.14e-11 600 7.981e-8 # ...site conc'n * 1e-8 Hfo_s 0.45e-11 -equil 0 SURFACE 2 Hfo_w 18.14e-3 600 7.981e-0 Hfo_s 0.45e-3 -equil 0 END # Rate equations... RATES # Strong surface sites... kin_surfs_Pb -start 10 Boltzm = exp(-38.924 * edl("Psi")) 12 put(Boltzm, 99) 20 r_f = kin("kin_surfs_oh") * act("Pb+2") * (Boltzm*Boltzm) 30 r_b = m / (10^3.7) * act("H+") * Boltzm 40 moles = parm(1) * (r_f - r_b) * time 50 put(moles, 1); 60 save -moles -end kin_surfs_h -start 10 Boltzm = get(99) 20 r_f = kin("kin_surfs_oh") * act("H+") * Boltzm 30 r_b = m / (10^7.29) 40 moles = parm(1) * (r_f - r_b) * time 50 put(moles, 2); 60 save -moles -end kin_surfs_o -start 10 Boltzm = get(99) 20 r_f = kin("kin_surfs_oh") 30 r_b = m / (10^-8.93) * act("H+") * Boltzm 40 moles = parm(1) * (r_f - r_b) * time 50 put(-moles, 3); 60 save -moles -end # mass balance on sites... kin_surfs_oh -start 10 r = get(1) + get(2) - get(3) 20 moles = m - r 40 save m - moles -end # Weak sites... kin_surfw_Pb -start 10 Boltzm = get(99) 20 r_f = kin("kin_surfw_oh") * act("Pb+2") * (Boltzm*Boltzm) 30 r_b = m / (10^0.3) * act("H+") * Boltzm 40 moles = parm(1) * (r_f - r_b) * time; 50 put(moles, 4); 60 save -moles -end kin_surfw_h -start 10 Boltzm = get(99) 20 r_f = kin("kin_surfw_oh") * act("H+") * Boltzm 30 r_b = m / (10^7.29) 40 moles = parm(1) * (r_f - r_b) * time 50 put(moles, 5); 60 save -moles -end kin_surfw_o -start 10 Boltzm = get(99) 20 r_f = kin("kin_surfw_oh") 30 r_b = m / (10^-8.93) * act("H+") * Boltzm 40 moles = parm(1) * (r_f - r_b) * time 50 put(-moles, 6); 60 save -moles -end # mass balance on sites... kin_surfw_oh -start 10 r = get(4) + get(5) - get(6) 20 moles = m - r 40 save m - moles -end # charge balance... kin_surf_ntr -start 5 s = 0 10 for i = 1 to 6 20 if exists(i) then s = s + get(i) 30 next 40 save -s -end END # Define kinetics param's... KINETICS 1 kin_surfs_Pb; -formula Pb 1. H -1.; -m0 0.0; -parm 2.5e5 kin_surfs_o; -formula H -1. ; -m0 1.273e-5; -parm 2.5e5 kin_surfs_h; -formula H 1. ; -m0 1.492e-4; -parm 2.5e5 kin_surfs_oh; -formula OH 0. ; -m0 2.880e-4; kin_surfw_Pb; -formula Pb 1. H -1.; -m0 0.0; -parm 2.5e5 kin_surfw_o; -formula H -1. ; -m0 5.133e-4; -parm 2.5e5 kin_surfw_h; -formula H 1. ; -m0 6.016e-3; -parm 2.5e5 kin_surfw_oh; -formula OH 0. ; -m0 1.161e-2 kin_surf_ntr; -formula NO3 1. ; -m0 1.0 -step 1 3 11 25 40 80 100 240 780 2000 4000 10000 20000 49120 -cvode true # -step 2700 # 86400 INCREMENTAL_REACTIONS true # Adsorption in pH-stat... USE equilibrium_phases 1 SOLUTION 1 pH 5.0; Na 10; N(5) 10 charge; Pb 2.0 USE surface 1 USER_GRAPH -init false -headings log_days qs_Pb qw_Pb c_Pb -axis_titles "LOG(seconds)" "Mol/l" -start 10 graph_x log10(sim_time) 20 graph_y kin("kin_surfs_Pb"), kin("kin_surfw_Pb"), tot("Pb") -end SAVE surface 2 # Desorb... END KINETICS 2 # Desorption from equilibrium kin_surfs_Pb; -formula Pb 1. H -1.; -m0 4.474e-4; -parm 2.5e5 kin_surfs_o; -formula H -1. ; -m0 8.255e-8; -parm 2.5e5 kin_surfs_h; -formula H 1. ; -m0 7.945e-7; -parm 2.5e5 kin_surfs_oh; -formula OH 0. ; -m0 1.692e-6 kin_surfw_Pb; -formula Pb 1. H -1.; -m0 1.176e-3; -parm 2.5e5 kin_surfw_o; -formula H -1. ; -m0 5.451e-4; -parm 2.5e5 kin_surfw_h; -formula H 1. ; -m0 5.246e-3; -parm 2.5e5 kin_surfw_oh; -formula OH 0. ; -m0 1.117e-2; kin_surf_ntr; -formula NO3 1. ; -m0 1.0; -step 1 3 11 25 40 80 100 240 780 2000 4000 10000 69120 -cvode true KINETICS 3 # Desorption from 45 min adsorption kin_surfs_Pb; -formula Pb 1. H -1.; -m0 2.286e-04; -parm 2.5e5 kin_surfs_o; -formula H -1. ; -m0 8.824e-06; -parm 2.5e5 kin_surfs_h; -formula H 1. ; -m0 6.777e-05; -parm 2.5e5 kin_surfs_oh; -formula OH 0. ; -m0 1.447e-04 kin_surfw_Pb; -formula Pb 1. H -1.; -m0 1.340e-03; -parm 2.5e5 kin_surfw_o; -formula H -1. ; -m0 5.259e-04; -parm 2.5e5 kin_surfw_h; -formula H 1. ; -m0 5.119e-03; -parm 2.5e5 kin_surfw_oh; -formula OH 0. ; -m0 1.115e-02; kin_surf_ntr; -formula NO3 1. ; -m0 1.0; -step 1 3 11 25 40 80 100 240 780 2000 4000 10000 69120 -cvode true END USE kinetics 2 USE solution 2 USE equilibrium_phases 1 USE surface 2 USER_GRAPH -headings log_days qs_Pb(desor) qw_Pb(desor) c_Pb(desor) END