PhreeqcUsers Discussion Forum

Welcome Guest
 

  • Forum Home
  • Login
  • Register

  • PhreeqcUsers Discussion Forum »
  • Conceptual Models »
  • Kinetics and rate controlling factors »
  • Rate law with "Elapsed time" as a variable
« previous next »
  • Print
Pages: [1]   Go Down

Author Topic: Rate law with "Elapsed time" as a variable  (Read 1768 times)

Ucef

  • Contributor
  • Posts: 6
Rate law with "Elapsed time" as a variable
« on: 26/10/20 18:42 »
Hello everyone,

I am trying to use the rate law proposed by Jerz and Rimstidt (2003) for pyrite oxidation in moist air:
            r(mol/m2/s)=(10^-6.6) * (P(O2)^0.5) *(t^-0.5)
This rate law accounts for time effect on pyrite oxidation (as the elapsed time increases the rate decreases). I would like to set up this rate law in the RATES keyword block, I used TOTAL_TIME and SIM_TIME respectively to represent the “t” term of the equation, both trials failed. Could you help me to fix the error?

Thank you


RATES     
  Pyrite
  -start
1   REM        Jerz and Rimstidt, 2003
2   REM        PARM(1) = log10(specific area/V), log10(m^2 per dm3)
3   REM        PARM(2) = exp for (M/M0)
4   REM        PARM(3) = exp for O2 partial pressure
5   REM        PARM(4) = exp for Elapsed time

20  if (M <= 0) THEN GOTO 200
30  if (SI("Pyrite") >= 0) THEN GOTO 200
40  log_rate = -6.6 + PARM(3)*SI("O2(g)")+ PARM(4)*LOG10(TOTAL_TIME)  #LOG10(P(O2))=SI("O2")#rate constant mol/m2/s and #surface area m2/dm3
50  log_area = PARM(1) + PARM(2)*LOG10(M/M0)
60  moles = 10^(log_area + log_rate) * TIME             
200 SAVE moles
  -end
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 3996
Re: Rate law with "Elapsed time" as a variable
« Reply #1 on: 26/10/20 20:09 »
I think the problem is that TOTAL_TIME can be zero, and log10(0) is undefined. I simply added 1 to TOTAL_TIME so that it is always a positive number.

Code: [Select]
RATES     
  Pyrite
  -start
1   REM        Jerz and Rimstidt, 2003
2   REM        PARM(1) = log10(specific area/V), log10(m^2 per dm3)
3   REM        PARM(2) = exp for (M/M0)
4   REM        PARM(3) = exp for O2 partial pressure
5   REM        PARM(4) = exp for Elapsed time
20  if (M <= 0) THEN GOTO 200
30  if (SI("Pyrite") >= 0) THEN GOTO 200
40  log_rate = -6.6 + PARM(3)*SI("O2(g)") + PARM(4)*LOG10(TOTAL_TIME+1)  #LOG10(P(O2))=SI("O2")#rate constant mol/m2/s and #surface area m2/dm3
50  log_area = PARM(1) + PARM(2)*LOG10(M/M0)
60  moles = 10^(log_area + log_rate) * TIME   
200 SAVE moles
  -end
END
KINETICS 1
Pyrite
-m 1
-parms 0 1 0.5 -0.5
-step 86400
END
SOLUTION 1
Fe    1e-5
S     1e-5
O(0)  1 O2(g) -0.67
END
USE solution 1
USE kinetics 1
END
Logged

Ucef

  • Contributor
  • Posts: 6
Re: Rate law with "Elapsed time" as a variable
« Reply #2 on: 26/10/20 20:23 »
Thank you very much.
Logged

  • Print
Pages: [1]   Go Up
« previous next »
  • PhreeqcUsers Discussion Forum »
  • Conceptual Models »
  • Kinetics and rate controlling factors »
  • Rate law with "Elapsed time" as a variable
 

  • SMF 2.0.19 | SMF © 2021, Simple Machines | Terms and Policies
  • XHTML
  • RSS
  • WAP2