PhreeqcUsers Discussion Forum

Welcome Guest
 

  • Forum Home
  • Login
  • Register

  • PhreeqcUsers Discussion Forum »
  • Processes »
  • Reactive transport modelling »
  • Reactive Transport Modelling
« previous next »
  • Print
Pages: [1]   Go Down

Author Topic: Reactive Transport Modelling  (Read 13632 times)

gayathri

  • Contributor
  • Posts: 4
Reactive Transport Modelling
« on: 11/06/14 19:20 »
Respected Sir,
Being a starter in PHREEQC, I am having some doubts regarding reactive transport modelling. I am working on geochemical transport modelling for simulating acid mine drainage due to oxidation of pyrite. A column with background solution which is in equilibrium with pyrite(SI=-231 and amount =10 moles) is considered and infilling solution with Equillibrium phase oxygen(SI=-0.67) is taken. Kinetics and rates are defined as per PHREEQC.DAT. Transport datablock containing 100 cells of 5m and dispersivity=0.5 is taken. The simulation is running. But I am unable to obtain the reduction in pH.    I am incorporating my input file with  the mail. Kindly see to it and requesting you to provide with necessary corrections wherever required. Awaiting for the reply.
Thanking You,
Gayathri Krishna K

Input File:
   
SOLUTION 1-100 Dakshin Clay Mines,Sasthavattom
    temp      25
    pH        6.4
    pe        4
    redox     pe
    units     mg/l
    density   1
    Ca        3.2
    Cl        16
    F         0.02
    K         0.3
    Mg        2
    N(5)      2.8
    Na        4.8
    S(6)      2.5
    -water    1 # kg
EQUILIBRIUM_PHASES 1-100
    Pyrite    -10 10
SOLUTION 101 Dakshin Clay Mines,Sasthavattom
    temp      25
    pH        6.4
    pe        4
    redox     pe
    units     mg/l
    density   1
    Ca        3.2
    Cl        16
    F         0.02
    K         0.3
    Mg        2
    N(5)      2.8
    Na        4.8
    S(6)      2.5
    -water    1 # kg
 
EQUILIBRIUM_PHASES 101
    O2(g)     -0.67 10
 
SAVE solution 101
RATES
    Pyrite
-start
 10 REM PARM(1)=log10(A/V,1/dm) PARM(2)=exp for (M/M0)
 20 REM PARM(3)=exp for O2 PARM(4)=exp for H+
 30 IF(M <= 0) THEN GOTO 100
 40 IF(SI("Pyrite") >= 0) THEN GOTO 100
 50 lograte = -10.19+PARM(1)+PARM(2)*LOG10(M/M0)
 60 lograte = lograte+PARM(3)*LM("O2")+PARM(4)*LM("H+")
 70 moles = (10^lograte)*TIME
 80 IF(moles > M) THEN moles = M
 90 IF(moles >= MOL("O2")/3.5) THEN moles = MOL("O2")/3.5
100 SAVE moles
-end
KINETICS 1-100
Pyrite
    -formula  FeS2  1
    -m        0.162
    -m0       0.162
    -parms    -5 0.1 0.5 -0.11
    -tol      1e-008
-steps       1 in 1 steps # seconds
-step_divide 1
-runge_kutta 6
-bad_step_max 500
INCREMENTAL_REACTIONS True
USER_GRAPH 1
    -headings               Moles  pH
    -axis_titles            "Time in days" "Millimoles oxidised/kgw" "pH"
    -chart_title            "Kinetic oxidation of pyrite"
    -initial_solutions      false
    -connect_simulations    true
    -plot_concentration_vs  x
  -start
10 x = TOTAL_TIME/3600/24
20 PLOT_XY x, KIN("Pyrite")*1e3
30 PLOT_XY x, -LA("H+")
  -end
    -active                 true
SELECTED_OUTPUT 1
    -file                 F:\IITD\SEM 4\May\Phreeqc Model\Trials\selected_output_1.sel
    -time                 true
    -pH                   true
    -saturation_indices   Pyrite
    -kinetic_reactants    Pyrite
TRANSPORT
    -cells                 100
    -shifts                3250
    -time_step             86400 # seconds
    -flow_direction        back
    -lengths               100*5
    -dispersivities        100*0.5
    -correct_disp          true
    -print_cells           1 50 100
    -punch_cells           1 50 100
USER_GRAPH 2
    -headings               Moles  pH
    -axis_titles            "Distance" "Millimoles oxidized" "pH"
    -chart_title            "Reactive transport"
    -initial_solutions      false
    -connect_simulations    true
    -plot_concentration_vs  x
  -start
10 x=DIST
20 PLOT_XY x,KIN("Pyrite")*1e3
30 PLOT_XY x,-LA("H+")
  -end
    -active                 true
SELECTED_OUTPUT 2
    -file                 F:\IITD\SEM 4\May\Phreeqc Model\Trials\selected_output_2.sel
    -distance             true
    -pH                   true
    -totals               Fe(2)
    -saturation_indices   Pyrite  Fe(OH)3(a)
    -kinetic_reactants    Pyrite
    -active               true
    -user_punch           true
 
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4338
Re: Reactive Transport Modelling
« Reply #1 on: 11/06/14 20:51 »
I think the reaction is just very slow with that set of parameters. Here is a batch calculation with parm(1) increased by several orders of magnitude. You will have to consider what parameters should be changed to suit your environment.

SOLUTION
END
EQUILIBRIUM_PHASES
O2(g) -0.7  10
Goethite 0  0
END
Pyrite
  -start
   1 rem   parm(1) = log10(A/V, 1/dm)   parm(2) = exp for (m/m0)
   2 rem   parm(3) = exp for O2      parm(4) = exp for H+

   10 if (m <= 0) then goto 200
   20 if (si("Pyrite") >= 0) then goto 200
   30  rate = -10.19 + parm(1) + parm(3)*lm("O2") + parm(4)*lm("H+") + parm(2)*log10(m/m0)
   40  moles = 10^rate * time
   50 if (moles > m) then moles = m
   60 if (moles >= (mol("O2")/3.5)) then moles = mol("O2")/3.5
   200 save moles
  -end
END
INCREMENTAL_REACTIONS
KINETICS 1
Pyrite
    -formula  FeS2  1
    -m        0.162
    -m0       0.162
    #-parms    -5 0.1 0.5 -0.11
    -parms    1 0.1 0.5 -0.11
    -tol      1e-008
-steps      1 10 100 1000 10000 1e5 1e6 1e7
-step_divide 1
-runge_kutta 6
-bad_step_max 500
END
USE solution 1
USE equilibrium_phases 1
USE kinetics 1
USER_GRAPH 1
    -headings               time pH
    -axis_titles            "Time, in seconds" "pH" ""
    -chart_title            "PARM(1) = 1, fixed P(O2)"
    -axis_scale x_axis      auto auto auto auto log
    -initial_solutions      false
    -connect_simulations    true
    -plot_concentration_vs  x
  -start
10 graph_x time
20 graph_y -LA("H+")
  -end
    -active                 true
END
Logged

gayathri

  • Contributor
  • Posts: 4
Re: Reactive Transport Modelling
« Reply #2 on: 12/06/14 10:19 »
Thank you for the reply. Can you please give your valuable suggestions regarding the selection of time step for the transport an how to incorporate the kinetics with transport. I am considering a column of length 500m with background  solution. An infilling solution with equilibrium phase O2 is injected to it.Rate and Kinetics are defined for column as suggested above. Is that the correct formulation?
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4338
Re: Reactive Transport Modelling
« Reply #3 on: 12/06/14 19:36 »
I have not looked carefully, but I think your formulation for transport is OK. I gave a batch kinetics example because it is faster and easier to see if the chemistry is working the way that you think it is. As always, start with a coarse discretization and see if the results are making sense before you refine the grid.
Logged

  • Print
Pages: [1]   Go Up
« previous next »
  • PhreeqcUsers Discussion Forum »
  • Processes »
  • Reactive transport modelling »
  • Reactive Transport Modelling
 

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