Registrations currently disabled due to excessive spam. Please email phreeqcusers at gmail.com to request an account.
Welcome
Guest
Forum Home
Login
Register
PhreeqcUsers Discussion Forum
»
Processes
»
Surface Complexation
»
Use before the definition in RATES block
« previous
next »
Print
Pages: [
1
]
Go Down
Author
Topic: Use before the definition in RATES block (Read 938 times)
Orange
Contributor
Posts: 1
Use before the definition in RATES block
«
on:
31/05/24 15:59 »
Hi, everybody.
I am new in PHREEQC.
I am trying to simulate Chromium sorption by Goethite. And I want to simulate the multi-rate adsorption.
Here is some part of my code.
SURFACE_MASTER_SPECIES
Fe_a Fe_aOH-0.5
SURFACE_SPECIES
Fe_aOH-0.5 = Fe_aOH-0.5
log_k 0.0
Fe_aOH-0.5 + CrO4-2 + H+ = Fe_aOCrO3-1.5 + H2O
log_k 12.10
2 Fe_aOH-0.5 + CrO4-2 + 3 H+ = (Fe_aO)2CrOOH + 2H2O
log_k 27.37
RATES
# SURFACE 1
kin_surf1_cr
-start
1 s = kin("kin_surf1_oh")
10 parm1=parm(1)/60
20 r_f = act("H+")*act("CrO4-2")*s*(10^(12.1))
30 r_b = kin("kin_surf1_cr")
40 moles = parm1 * (r_f - r_b) * time
50 put(moles, 1); 60 save -moles
-end
kin_surf1_cr2
-start
1 s = kin("kin_surf1_oh")
10 parm1=parm(1)/60
20 r_f = s^2 * act("CrO4-2") * act("H+")^3 * (10^(27.37))
30 r_b = kin("kin_surf1_cr2")
40 moles = parm1 * (r_f - r_b) * time
50 put(moles, 2); 60 save -moles
-end
kin_surf1_oh
-start
10 r = get(1) + 2*get(2)
20 moles = kin("kin_surf1_oh") - r
40 save kin("kin_surf1_oh") - moles
-end
There are several SURFACES like # SURFACE 1 in RATES block because I want to give the adsorption domains different rate constants to realize the multi-rate process. And "kin_surf1_oh" indicates the adsorption sites, Fe_aOH-0.5.
The problem is that I need to use "kin_surf1_oh" in "kin_surf1_cr" and "kin_surf1_cr2" caculation before the definition in RATES block.
At this point I am stuck. Could you please shed some lights on the problem? Thank you.
Logged
Print
Pages: [
1
]
Go Up
« previous
next »
PhreeqcUsers Discussion Forum
»
Processes
»
Surface Complexation
»
Use before the definition in RATES block