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 »
  • Confusion with TRANSPORT commands
« previous next »
  • Print
Pages: [1]   Go Down

Author Topic: Confusion with TRANSPORT commands  (Read 4924 times)

OLIVIA_RH

  • Frequent Contributor
  • Posts: 11
Confusion with TRANSPORT commands
« on: 01/04/25 08:38 »
I am trying to model the dissolution of quartz in an alkaline solution. My columns is 15 cm, and fluid flows at a rate of 60 cm3/cm2/hr. My goal is to record the change in concentration profile at different snap shots in time (see if/when the system goes from transient to steady state).

Right now my code is not working and I suspect this is due to my misunderstanding of the commands. I have read the help document, portal questions and the manual 2 but still feel a little confused.

I have 6 cells in 15 cm column therefore length = 0.025; I want to flow through 10 times so set the shifts to 60; for simplicity i have set dispersivities to 0; time_step = 150 s (per cell, if flowing at 60 cm/hr, 15 minutes to cover column length, hence 2.5 minutes per cell?).

In terms of visualising/output the data, i wanted to output a snapshot after each column length i.e. every 15 minutes - I have set my punch_frequency to 6 and punch_cells as the default all. Again i am not entirely sure this is correct.

I have attached the .phr file below.
Code: [Select]
RATES
 Quartz
 -start
  1 A0 = parm(1)
  2 V = parm(2)
  10 rate = (A0 / V) * (m/m0)^0.67 * 10^-13.7 * (1 -  SR("Quartz"))
  20 save rate * time
 -end
KINETICS
Quartz
 -formula SiO2
 -m0  158.8                        # initial moles of quartz
 -parms 23.13  0.16
 -time_step 150 second # kinetics computed
INCREMENTAL_REACTIONS true

SOLUTION 1
# Define the initial solution composition (this will be used for all cells)
 pH      10.0
 pe      4.0
 redox   pe
 units   mol/L
 Na      1e-6
 Cl      1e-6
 Si      1e-6
 
# 15 cm long reservoir; 60 ml/hr (60 cm3/cm2/hr);

TRANSPORT
         cells           6         # number of cells in the 1-D domain
shifts          60         #60 * 0.25 hr = 150 minute simulation run time
lengths         0.025       # domain length is 15e-2 and 6 cells
#dispersivities  0.01 0.0   # longitudinal and transverse dispersivity (m)
dispersivities    0
diffusion_coefficient 0
time_step        150 second # flow at 60 cm3/cm2/hr --> 2.5 mins per cell
flow_direction   forward
boundary_conditions flux flux
punch_frequency 6
 

USER_GRAPH
 -chart_title "Si conc vs. Time"
 -axis_titles "Time (s)" "Si (mol/L)"
 #-axis_scale x_axis 0 900   # 900 s in 15 mins
 #-initial_solutions  true
 -start
 10 graph_x total_time / 60   # total_time is in seconds; divide by 60 for mins
 20 graph_y tot("Si")*gfw("SiO2")
 -end
END

Any help you could offer on this problem would be greatly appreciated - thank you!
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4222
Re: Confusion with TRANSPORT commands
« Reply #1 on: 01/04/25 16:06 »
If you have 6 transport cells, you must define a solution for each cell. If they all have the same initial condition then you can define SOLUTION 1-6. Similarly, if you want KINETICS in each cell, you should define KINETICS 1-6.
Logged

OLIVIA_RH

  • Frequent Contributor
  • Posts: 11
Re: Confusion with TRANSPORT commands
« Reply #2 on: 04/04/25 10:47 »
Thank you for your reply. I have amended SOLUTION and KINETICS to 1-6 cells, however I am still confused about the input commands for TRANSPORT.

My intension is to replicate an experiment: flow fluid through a 15 cm column consisting of quartz at a rate of 60 cm/hr; make the experiment last for a cycle of 10 pore volumes. To do this I split my column in to 6 cells hence each length is 0.025. It will take 15 minutes for the fluid to flow through the length of the column at a rate of 60 cm/hr therefore i set my time_step to 150 - I think this interpretation of time_step is incorrect.

I then punch a frequency of 6 so that i get 10 curves - one for each snapshot where the fluid has travelled the length of the column.

I am sure that my interpretation of the commands is incorrect as the resultant plot is not what i expect. I have read a few queries on here, in addition to the exercises from the course, but I am still confused. Any guidance on this, using this example wouls be greatly appreciated. Thank you.

Code: [Select]
RATES
 Quartz
 -start
  1 A0 = parm(1)
  2 V = parm(2)
  10 rate = (A0 / V) * (m/m0)^0.67 * 10^-13.7 * (1 -  SR("Quartz"))
  20 save rate * time
 -end
KINETICS 1-6
Quartz
 -formula SiO2
 -m0  158.8                        # initial moles of quartz
 -parms 23.13  0.16
 -time_step 150 second # kinetics computed
INCREMENTAL_REACTIONS true

SOLUTION 0
 pH      10.0
 pe      4.0
 temp 25
 redox   pe
 units   mol/L
 Na      1e-6
 Cl      1e-6
 Si      1e-6
 
SOLUTION 1-6
# Define the initial solution composition (this will be used for all cells)
 pH      10.0
 pe      4.0
 temp 100
 redox   pe
 units   mol/L
 Na      1e-6
 Cl      1e-6
 Si      1e-6
 
# 15 cm long reservoir; 60 ml/hr (60 cm3/cm2/hr);

TRANSPORT
         cells           6         # number of cells in the 1-D domain
shifts          60         #60 * 0.25 hr = 150 minute simulation run time
lengths         0.025       # domain length is 15e-2 and 6 cells
#dispersivities  0.01 0.0   # longitudinal and transverse dispersivity (m)
dispersivities    0
diffusion_coefficient 0
time_step        150 second # flow at 60 cm3/cm2/hr --> 2.5 mins per cell
flow_direction   forward
boundary_conditions flux flux
punch_frequency 6
 

USER_GRAPH
 -chart_title "Si conc vs. Time"
 -axis_titles "Time (s)" "SiO2 (ppm)"
 #-axis_scale x_axis 0 900   # 900 s in 15 mins
 #-initial_solutions  true
 -start
 10 graph_x total_time / 60   # total_time is in seconds; divide by 60 for mins
 20 graph_y tot("Si")*gfw("SiO2")*1000
 -end
END
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4222
Re: Confusion with TRANSPORT commands
« Reply #3 on: 04/04/25 15:18 »
The velocity is 0.06 / 3600 = 1.67e-5 m/s.

The time to travel 1 cell (0.01 m) is 0.01 / 1.67e-5 = 600 s, which is your time step.
Logged

OLIVIA_RH

  • Frequent Contributor
  • Posts: 11
Re: Confusion with TRANSPORT commands
« Reply #4 on: 07/04/25 07:42 »
Thank you - so even though my column length is 15 cm split into 6 cells, I take the cell length and time step relative to number of cells and velocity rather than column length? Before I was calculating length as, 0.15 / 6 = 0.025; time step = 0.025 / 1.67e-5

Best,
Olivia
Logged

  • Print
Pages: [1]   Go Up
« previous next »
  • PhreeqcUsers Discussion Forum »
  • Processes »
  • Reactive transport modelling »
  • Confusion with TRANSPORT commands
 

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