Processes > Oxidation and reduction equilibria

Expression of simplified organic degradation reaction in PHREEQC

(1/2) > >>

Daehyun:
Dear PHREEQC Community,

I am an undergraduate student who is not yet very experienced with PHREEQC.
Currently, I am working on developing a geochemical reaction model, and I am still in the early stages of the project.

What I am trying to simulate is the generation of reactive gases through the degradation of organic matter.
At this point, I am focusing on a simple reaction in which formaldehyde (CH₂O) is degraded by oxygen to produce carbon dioxide, as shown below:

  CH₂O + O₂ → CO₂ + H₂O

I would like to know whether the code I have written (included below) reasonably represents this reaction.
Since I was unable to define CH₂O using SOLUTION_MASTER_SPECIES and could not implement the reaction in SOLUTION_SPECIES,
I defined the process using a KINETICS block with the -formula keyword.

Here are the questions I would appreciate help with:

Is it appropriate to define organic matter only through the KINETICS block in this way?

If I want to add more types of organic matter degradation (e.g., with nitrate, sulfate, or methanogenesis),
  what would be the most rational or recommended approach within PHREEQC?

Thank you very much for your help.


--- Code: ---SOLUTION_MASTER_SPECIES
    Form          Form             0     Form            30   #Formaldehyde
    Ntg           Ntg              0     Ntg             28.013   #N2 gas

SOLUTION_SPECIES
Form = Form   #Formaldehyde
    log_k     0
Ntg = Ntg # N2 gas 
-dw 1.96e-9
-Vm 7 # Pray et al., 1952, IEC 44. 1146

PHASES
Ntg(g)
    Ntg = Ntg
    log_k     -3.1864
    delta_h   -10.4391 kJ
    -analytical_expression -58.453 0.001818 3199 17.909 -27460 0
    -T_c      126.2
    -P_c      33.5
    -Omega    0.039
CO2(g)
    CO2 = CO2
    log_k     -1.468
    delta_h   -4.776 kcal
    -analytical_expression 10.5624 -0.023547 -3972.8 0 587460 1.9194e-05
    -T_c      304.2
    -P_c      72.86
    -Omega    0.225
O2(g)
    O2 = O2
    log_k     -2.8983
    -analytical_expression -7.5001 0.0078981 0 0 200270 0
    -T_c      154.6
    -P_c      49.8
    -Omega    0.021


SOLUTION 1
    temp      25
    pH        7
    pe        4
    redox     pe
    units     mol/kgw
    density   1
    Form      1
    -water    1 # kg
GAS_PHASE 1
    -fixed_pressure
    -pressure 1
    -volume 1
    -temperature 25
    O2(g)     0.7
    CO2(g)    0.3


RATES
Organic_degradation
 -start
10  if (M <= 0) THEN GOTO 200
20  mO2   = MOL("O2")
50  k_O2  = 1.04167E-9    # 1/sec   
80  rate  = k_O2 * mO2/(3e-04 + mO2)
110 moles = rate * M * (M/M0) * TIME
200 SAVE moles
 -end

KINETICS 1

Organic_degradation
    -formula  Form  -1 CH2O  1
    -m        1
    -m0       1
    -tol      1e-008
-steps       100000 in 10 steps # seconds
-step_divide 1
-runge_kutta 3
-bad_step_max 500

END

--- End code ---

dlparkhurst:
I haven't looked in detail, but kinetic conversion of Form to CH2O is reasonable.

You can simulate the reaction more simply with REACTION, which avoids having to define reaction rates.

If you do want to simulate reaction rates, you can use the same formula but adjust the rate depending on the electron acceptors available. Often the factor you have used is  included to establish a maximum rate for an electron acceptor. Usually, you want to inhibit other electron acceptors until a more favorable electron acceptor is depleted. You can use factors like [MOL("O2") + 1e-5]/1e-5 to inhibit, say S(6) reduction, while dissolved oxygen is present.

You may want a separate kinetic reaction that converts N(5) to Ntg. I think the formula would be


--- Code: ----formula Form -1.25 CH2O 1.25 N -1 Ntg 0.5

--- End code ---

Daehyun:
Thank you very much for your helpful response.

I am currently trying to model the degradation of organic matter using kinetic reactions. However, when I define the reaction in the KINETICS block like:
-formula Form -1.25 CH2O 1

it seems to simply add C, H, and O to the aqueous phase as individual elements, rather than treating CH₂O as an actual molecule.

What I want to simulate is the degradation of organic compounds through reactions such as:

CH₂O + O₂ → CO₂ + H₂O
2CH₂O → CH₄ + CO₂

and other similar organic degradation pathways.

To represent this, I believe that CH₂O must be properly defined in the database, but whenever I try to define CH₂O in the SOLUTION_MASTER_SPECIES and SOLUTION_SPECIES blocks, I encounter errors during execution.

As a workaround, I defined CH₂O as a solid phase in the PHASES block, specifying the degradation reaction there, and then used it in the KINETICS block to simulate the reaction.

I would like to ask whether this approach is considered appropriate for representing the degradation of CH₂O, or if there is a better or more recommended way to define and simulate these types of organic matter degradation reactions in PHREEQC.

Thank you again for your time and support.


--- Code: ---SOLUTION_MASTER_SPECIES
    Ntg           Ntg              0     Ntg             28.013   #N2 gas

SOLUTION_SPECIES
Ntg = Ntg # N2 gas 
-dw 1.96e-9
-Vm 7 # Pray et al., 1952, IEC 44. 1146

PHASES
Ntg(g)
    Ntg = Ntg
    log_k     -3.1864
    delta_h   -10.4391 kJ
    -analytical_expression -58.453 0.001818 3199 17.909 -27460 0
    -T_c      126.2
    -P_c      33.5
    -Omega    0.039
CO2(g)
    CO2 = CO2
    log_k     -1.468
    delta_h   -4.776 kcal
    -analytical_expression 10.5624 -0.023547 -3972.8 0 587460 1.9194e-05
    -T_c      304.2
    -P_c      72.86
    -Omega    0.225
O2(g)
    O2 = O2
    log_k     -2.8983
    -analytical_expression -7.5001 0.0078981 0 0 200270 0
    -T_c      154.6
    -P_c      49.8
    -Omega    0.021
Formalde
    CH2O + O2 = CO2 + H2O
    log_k     -100


SOLUTION 1
    temp      25
    pH        7
    pe        4
    redox     pe
    units     mol/kgw
    density   1
    -water    1 # kg
GAS_PHASE 1
    -fixed_pressure
    -pressure 1
    -volume 1
    -temperature 25
    O2(g)     1
   


RATES
Formalde
 -start
10  if (M <= 0) THEN GOTO 200
20  mO2   = MOL("O2")
50  k_O2  = 1.04167E-9    # 1/sec   
80  rate  = k_O2 * mO2/(3e-04 + mO2)
110 moles = rate * M * (M/M0) * TIME
200 SAVE moles
 -end

KINETICS 1

Formalde
    -formula  Formalde
    -m        1
    -m0       1
    -tol      1e-008
-steps       100000 in 10 steps # seconds
-step_divide 1
-runge_kutta 3
-bad_step_max 500

END

--- End code ---

dlparkhurst:
It is correct that C, H 2, and O are added. Redox equilibrium will determine which electron acceptor is used.

dlparkhurst:
Consider this script.


--- Code: ---
SOLUTION 1
    temp      25
    pH        7
    pe        4
    redox     pe
    units     mmol/kgw
    density   1
    -water    1 # kg
O(0) 1  O2(g) -0.7
      S(6) 1
      Na   1    charge

REACTION
CH2O 1
0.004 mole in 100 steps

USER_GRAPH 1
    -headings               rxn O2 SO4 C(4) C(-4)
    -axis_titles            "CH2O added" "log molality" ""
    -initial_solutions      false
    -connect_simulations    true
    -plot_concentration_vs  x
  -start
10 GRAPH_X RXN
20 GRAPH_Y LOG10(MOL("O2")), LOG10(TOT("S(6)")), LOG10(TOT("C(4)")), LOG10(TOT("C(-4)"))
  -end
    -active                 true

END

--- End code ---

Navigation

[0] Message Index

[#] Next page

Go to full version