PhreeqcUsers Discussion Forum

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 »
  • Reactive transport modelling »
  • Advective Transport using ADVECTION Keyword
« previous next »
  • Print
Pages: [1]   Go Down

Author Topic: Advective Transport using ADVECTION Keyword  (Read 1549 times)

ricoenrico

  • Contributor
  • Posts: 3
Advective Transport using ADVECTION Keyword
« on: 19/09/23 21:01 »
While running an advective transport problem using 1 cell, I noticed the following:

Cell 1.

Using solution 1.   Solution after simulation 1.
Using pure phase assemblage 1.   Pure-phase assemblage after simulation 4.
Using solid solution assemblage 1.   Solid solution assemblage after simulation 4

Please clarify whether the ADVECTION process only simulates the interaction of Solution 0 (solution after simulation 1) aqueous and solid phase (if present) with the pure phase and solid solution assemblages from Solution 1 (pure phase and solid solution assemblages after simulation 4) or whether the aqueous phase for Solution 1 is also simulated or is it initially "flushed out" by Solution 0 at SHIFT 1.

Thanks

Note:  when I tried to attach input file I received following error message "The attachments upload directory is not writable. Your attachment or avatar cannot be saved."

Input file listed below:

SOLUTION 0 # Make synthetic soil moisture
    temp      25
    pH        4.63 charge
    #redox     O(-2)/O(0)
    pe        4
    units     mg/l
    density   1
    O(0)      1.0 O2(g) -0.69897
    C         1.0 CO2(g) -2.0
    Mg        0.0326
    Ca        0.0824
    Na        0.1998
    K         0.0423
    S(6)      1.2926 as SO4-
    Cl        0.3505
    N(-3)     0.1395 as NH4+
    N(5)      0.7112 as NO3-
    -water    729 #kg (three times 243 kg in 1m3 grout block)
EQUILIBRIUM_PHASES 0
    Kln     0 0.1
    Amor-Sl 0 1
    CO2(g)  -2.0  1.0
    O2(g)   -0.69897  1.0
    Gbs     0 0
REACTION 0
    H2O   -37.2    #moles  #0.67 kg H2O
    NaCl  0.009e-3 #moles
    725 moles of above reaction in 1 steps
PRINT
    -eh true
    -censor_species 1.0e-8
    -saturation_indices false
SAVE SOLUTION 0
SAVE EQUILIBRIUM_PHASES 0
END

#Solution 1 + Grout

### Make 1.0 m3 of LP#8-16 assuming 100/70/20% hydration of binders
SOLUTION 1
    temp      25
    pH        7 charge
    pe        4
  #  redox     O(-2)/O(0)
    units     mmol/kgw
    O(0)      1.0 O2(g) -0.69897
    C         1.0 CO2(g) -3.38722
    density   1
    -water    251.7 #kg  Note: fully saturated 1 m3 block of grout
EQUILIBRIUM_PHASES 1
    Portlandite      0 0
    Arg   0  0
    Cal       0 0
    Kln     0  0
    Brc         0 0
    M4A-OH-LDH      0 0
    AlOHmic      0 0
    Maghemite      0 0
    Mag         0 0
    monocarbonate   0 0
    C4AH13      0 0
    C3FS1.34H3.32   0  0
    Gp         0 0
    ettringite      0 0
    straetlingite    0   0
    hydrotalcite    0   0
    C3AFS0.84H4.32   0  0
    Ferrihydrite   0 0
#    Fe(OH)3(am)
#    Fe-ettringite   0 0
    Amor-Sl      0 0
#    Qtz      0 0
    Py         0 0
    hemicarbonat10.5   0 0
#    ettringite03_ss   0  0
    tricarboalu03   0  0
#    5CA         0 0
#    INFCA      0 0
#    T2C-CNASHss      0 0
#    T5C-CNASHss      0 0
#    TobH-CNASHss   0 0
#    CSHQ-JenD      0 0
#    CSHQ-JenH      0 0
#    CSHQ-TobD      0 0
#    CSHQ-TobH      0 0

SOLID_SOLUTIONS 1
    CNASHss
    -comp 5CA      0
    -comp INFCA      0
    -comp T2C-CNASHss   0
    -comp T5C-CNASHss   0
    -comp TobH-CNASHss   0

KNOBS
  -pe 5
  -step 10

INCREMENTAL_REACTIONS
REACTION 1 #moles of reactive components in 1m3
    CaO   1494   
    SiO2  1148
    Al2O3 243.7
    FeO   71.43
    Fe2O3 6.40
    SO3   51.87
    MgO   252.9
    H2O   3237  #Additional moles water to displace air and achieve 100% saturation
    1.0 moles of above reaction in 1 steps
PRINT
    -eh true
    -censor_species 1.0e-8
    -saturation_indices false
SAVE SOLUTION 1
SAVE EQUILIBRIUM_PHASES 1
END

### Delete reactions
DELETE
    -reaction 0-1
END

### Simulate sequential batch flushing of grout pore water with synthetic soil moisture
ADVECTION
    -cells 1
    -shifts 10000
    -warnings true
    -print_frequency 100

PRINT
    -eh true
    -saturation_indices false
    -censor_species 1.0e-8

USER_GRAPH 1
    -batch PHREEQC_pH.png
    -axis_titles            "Pore volumes" "pH" ""
    -chart_title            "Grout Evolution"
    -initial_solutions      false
    -connect_simulations    true
    -plot_concentration_vs  t
    -axis_scale x_axis 1e2 1e4 auto auto log
    -axis_scale y_axis 0 14 auto auto
10 GRAPH_X STEP_NO
20 GRAPH_Y -la("H+")
    -end
    -active                 false

USER_GRAPH 2
    -batch PHREEQC_Eh.png
    -axis_titles            "Pore volumes" "Eh" ""
    -chart_title            "Grout Evolution"
    -initial_solutions      false
    -connect_simulations    true
    -plot_concentration_vs  t
    -axis_scale x_axis 1e2 1e4 auto auto log
    -axis_scale y_axis -1.0 1.0 auto auto
30 GRAPH_X STEP_NO
40 GRAPH_Y -la("e-")*0.059
    -end
    -active                 false

USER_GRAPH 3
    -batch PHREEQC_pHEh.png
    -axis_titles            "Pore volumes" "pH" "Eh"
    -chart_title            "Grout Evolution"
    -initial_solutions      false
    -connect_simulations    true
    -plot_concentration_vs  t
    -axis_scale x_axis 1e2 1e4 auto auto log
    -axis_scale y_axis 0 14 auto auto
    -axis_scale sy_axis -1 1 auto auto
50 GRAPH_X STEP_NO
51 GRAPH_Y -la("H+")
52 GRAPH_SY -la("e-")*0.059
    -end
    -active                 true

USER_GRAPH 4
    -batch PHREEQC_Ca.png
    -axis_titles            "Pore volumes" "Ca aqueous species (molal)" ""
    -chart_title            "Grout Evolution"
    -initial_solutions      false
    -connect_simulations    true
    -plot_concentration_vs  t
    -axis_scale x_axis 1e2 1e4 auto auto log
    -axis_scale y_axis auto auto auto auto log
    -headings PV Ca Ca++ CaOH+
110 GRAPH_X STEP_NO
120 GRAPH_Y TOT("Ca")
130 GRAPH_Y MOL("Ca+2")
140 GRAPH_Y MOL("Ca(OH)+")
    -end
    -active                 true

USER_GRAPH 5
    -batch PHREEQC_CO2.png
    -axis_titles            "Pore volumes" "CO2 aqueous species (molal)" ""
    -chart_title            "Grout Evolution"
    -initial_solutions      false
    -connect_simulations    true
    -plot_concentration_vs  t
    -axis_scale x_axis 1e2 1e4 auto auto log
    -axis_scale y_axis auto auto auto auto log
    -headings PV C(4) CO2 HCO3- CO3--
210 GRAPH_X STEP_NO
220 GRAPH_Y TOT("C(4)")
230 GRAPH_Y MOL("CO2")
240 GRAPH_Y MOL("HCO3-")
250 GRAPH_Y MOL("CO3-2")
    -end
    -active                 true

USER_GRAPH 6
    -batch PHREEQC_minerals.png
    -axis_titles            "Pore volumes" "Mineral (mol)" "pH"
    -chart_title            "Grout Evolution"
    -initial_solutions      false
    -connect_simulations    true
    -plot_concentration_vs  t
    -axis_scale x_axis 1e2 1e4 auto auto log
    -axis_scale y_axis 0.001 auto auto auto log
    -axis_scale sy_axis 0 14 auto auto
    -headings PV pH CNASHss 5CA INFCA T2C-CNASHss T5C-CNASHss TobH-CNASHss AlOHmic Amor-Sl Kln
#    -headings PV 5CA INFCA T2C-CNASHss T5C-CNASHss TobH-CNASHss Portlandite Cal\
#              Brc M4A-OH-LDH AlOHmic Maghemite Mag monocarbonate C4AH13 Gp\
#              ettringite Ferrihydrite Amor-Sl Py hemicarbonat10.5 CNASHss

    -start
330 GRAPH_X STEP_NO
334 GRAPH_SY -la("H+")
335 GRAPH_Y SYS("s_s")
340 GRAPH_Y S_S("5CA")
341 GRAPH_Y S_S("INFCA")
342 GRAPH_Y S_S("T2C-CNASHss")
343 GRAPH_Y S_S("T5C-CNASHss")
344 GRAPH_Y S_S("TobH-CNASHss")
#345 GRAPH_Y EQUI("Portlandite")
#346 GRAPH_Y EQUI("Cal")
#347 GRAPH_Y EQUI("Brc")
#348 GRAPH_Y EQUI("M4A-OH-LDH")
349 GRAPH_Y EQUI("AlOHmic")
#350 GRAPH_Y EQUI("Maghemite")
#351 GRAPH_Y EQUI("Mag")
#352 GRAPH_Y EQUI("monocarbonate")
#353 GRAPH_Y EQUI("C4AH13")
#354 GRAPH_Y EQUI("Gp")
#355 GRAPH_Y EQUI("ettringite")
#356 GRAPH_Y EQUI("Ferrihydrite")
#357 GRAPH_Y EQUI("Fe-ettringite")
358 GRAPH_Y EQUI("Amor-Sl")
#358 GRAPH_Y EQUI("Qtz")
#359 GRAPH_Y EQUI("Py")
#360 GRAPH_Y EQUI("hemicarbonat10.5")
361 GRAPH_Y EQUI("Kln")
    -end
    -active                 true

SELECTED_OUTPUT
    -file RxnFront.dat
USER_PUNCH
    -headings C(4) S(6) Ca\
 5CA INFCA T2C-CNASHss T5C-CNASHss TobH-CNASHss Portlandite Cal\
 Brc M4A-OH-LDH AlOHmic Maghemite Mag monocarbonate C4AH13 Gp\
 ettringite Ferrihydrite Amor-Sl Py Kln hemicarbonat10.5 monocarbonate\
 SysCa CNASHss kg_H2O
    -start
1000 PUNCH TOT("C(4)") TOT("S(6)") TOT("Ca")\
 S_S("5CA") S_S("INFCA") S_S("T2C-CNASHss") S_S("T5C-CNASHss") S_S("TobH-CNASHss")\
 EQUI("Portlandite") EQUI("Cal") EQUI("Brc") EQUI("M4A-OH-LDH") EQUI("AlOHmic")\
 EQUI("Maghemite") EQUI("Mag") EQUI("monocarbonate") EQUI("C4AH13") EQUI("Gp")\
 EQUI("ettringite") EQUI("Ferrihydrite") EQUI("Amor-Sl") EQUI("Py") EQUI("Kln")\
 EQUI("hemicarbonat10.5") EQUI("monocarbonate") SYS("Ca") SYS("s_s") TOT("water")
    -end

END




Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4074
Re: Advective Transport using ADVECTION Keyword
« Reply #1 on: 19/09/23 22:03 »
During an ADVECTION simulation, at each step, the solutions are advected (shifted) one cell. Solution n is advected out of the column, solution from cell n-1 to cell n, solution from cell n-2 to cell n-1, .... solution 0 to cell 1. After the advection, the solutions are reacted with whatever reactants are present in each cell (equilibrium_phases (same as pure phase assemblage), solid solutions, exchangers, surfaces, gas phases, and (or) kinetics). The advection and reaction are repeated for each shift specified in the ADVECTION input data block.
Logged

ricoenrico

  • Contributor
  • Posts: 3
Re: Advective Transport using ADVECTION Keyword
« Reply #2 on: 20/09/23 11:41 »
Thanks David - a couple more questions

1. So in my case, I have one cell with starting Solution 1 that is shifted 10,000 times, so Solution 1 moves out and is replaced by Solution 0 which reacts with the residual reactants (solid phases in my case). On the next shift, the reacted Solution 0(+1) moves out and is replaced by the new incoming Solution 0 which reacts with the residual reactants, and so forth.....

2. Is there a simple way to summarize in the output the total mass of the solid phases (reactants) remaining after each shift?  I assume you would have to sum the moles of each solid phase multiplied by its molecular weight.
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4074
Re: Advective Transport using ADVECTION Keyword
« Reply #3 on: 20/09/23 18:31 »
Yes, at each step cell 1 would be filled with solution 0 before reactions.

The following will print the mass of each phase in EQUILIBRIUM_PHASES:

Code: [Select]
USER_PRINT
10 s = SYS("equi", count , name$ , type$ , moles )
20 PRINT "Phase                grams"
30 FOR i = 1 TO count
40   formula$ = PHASE_FORMULA(name$(i))
50   PRINT PAD$(name$(i), 15), STR_F$(EQUI(name$(i))*GFW(formula$), 10, 2)
60 NEXT i
70 END
Logged

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

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