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 »
  • Transport in columns with no initial solution
« previous next »
  • Print
Pages: [1]   Go Down

Author Topic: Transport in columns with no initial solution  (Read 13504 times)

rfembilejr

  • Top Contributor
  • Posts: 68
Transport in columns with no initial solution
« on: 20/12/16 05:01 »
Hi,

This is probably very basic but I am just confused on how to go about TRANSPORT and make sure that I am actually doing it correct. I plan to model solute transport in a kinetic test column containing massive sulfide mine tailings. My input solution is distilled water and a leachate is collected every week. I was able to successfully run inverse models for these columns but I don't this the data from that is useful for TRANSPORT.

So in this case, my Solution 0 is the distilled water, however, I do not have Solution info (Solution 1-20)  for those in the cells (ie. i assign 20 cells) since the tailings material in the columns basically remain dry/unsaturated after rinsing with DI water (the columns are open to the air (on top) with an outlet to collect the leachate). Is this possible to model using TRANSPORT? Can I use the leachate chemistry for my Solution 1-20 ?

I have seen examples where the rainwater is the infilling solution (Solution 0) and pure water (ie. distilled water) is the Solution present in the cells (ie. Solution 1-20). Can I use the same concept for my columns as well as when applying this to actual field settings?

Thank you and I'd appreciate any response.

Cheers,
Rodrigo
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4270
Re: Transport in columns with no initial solution
« Reply #1 on: 20/12/16 15:38 »
A solution is required for each cell at the beginning of a time step. I think you will be OK to simply put pure water in your cells to start; you needn't consider the results before one pore volume has passed through the column.
Logged

rfembilejr

  • Top Contributor
  • Posts: 68
Re: Transport in columns with no initial solution
« Reply #2 on: 20/12/16 17:13 »
Thank you David. So basically, I will have both pure water as the infilling solution and the solution for each cell?
I figure the minerals I will assign in the EQUILIBRIUM PHASES block will get some reaction going, and eventually get some plots for the elements/metals  involved.
Logged

Caroline

  • Contributor
  • Posts: 4
Re: Transport in columns with no initial solution
« Reply #3 on: 28/12/16 16:18 »
Hello everyone,

I think I have the same issue, which is maybe very basic. I would like to model the leaching with distilled water of a halite, carbonate and pyrite bearing material.
In my code, the Solution 0 is distilled water, but what about the Solution 1-Ncell ?
Will I have a reaction between the solution 1-Ncell and my equilibrium_phase before the transport phases ?

Thank you a lot.

Caroline
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4270
Re: Transport in columns with no initial solution
« Reply #4 on: 28/12/16 17:09 »
Yes, you will have reactions as soon as transport begins. You could minimize the effect by using a small amount of water initially in the column (cells 1-n).

SOLUTION 1-10
-water 1e-4

This will limit the amount of reaction that can occur. The column will fill with SOLUTION 0, which should have a liter (kilogram) of water.
Logged

rfembilejr

  • Top Contributor
  • Posts: 68
Re: Transport in columns with no initial solution
« Reply #5 on: 28/12/16 20:05 »
Hi,

So I have made up both pure water for Solution 0 and Solution 1-30. I made 4 plots just to check each output. However, I cannot project plots correctly.
How is it that the x-axis doesn't show the actual length of the column (ie. 30cm) or actual time (7 days). If I do it (as in plot 4) the data points are just on the 30th point. Also, I cannot simulate the desired 7 days (604800 sec); it returns an error. Is there a better way to do this?

Would using the leachate chemistry for the 30th solution be acceptable? I am assuming that,although the column will be pretty much dry the whole week, there will be residual solution on it. The data I will be using is from almost 2 years of kinetic testing. Is there a way on how to incorporate this information in a TRANSPORT problem?

Any comment will be highly appreciated.

Below is the sample code:


SOLUTION 0 Pure water
    temp      20
    pH        7.0
    pe        4
    redox     pe
    units     mg/l
    density   1
    Alkalinity 3.0 as HCO3      #check this
    Ca        0.001
    Cl        0.001
    Cu(2)     0.002
    Fe(2)     0.001
    Mg        0.001
    Mn(2)     0.001
    N(3)      0.001
    Na        0.001
    S(6)      0.001
    Si        0.001
    -water    1 # kg

EQUILIBRIUM_PHASES 0
    CO2(g)    -3.5 10
    O2(g)     -0.699 10

SOLUTION 1-30 Rana (column)
    temp      20
    pH        7.0
    pe        4
    redox     pe
    units     mg/l
    density   1
    Alkalinity 3.0 as HCO3
    Ca        0.001
    Cl        0.001
    Cu(2)     0.001
    Fe(2)     0.001
    Mg        0.001
    Mn(2)     0.001
    N(3)      0.001
    Na        0.001
    S(6)      0.001
    Si        0.001
    -water    1 # kg

PHASES
Pyrrhotite
Fe0.87S = +0.870Fe+2   -1.000H+   + 1.00HS-   -0.260e-
   log_k    -5.59
   delta_h   2.45
END

EQUILIBRIUM_PHASES 1-30
    Forsterite    0 6.6          #Based on actual value
    Fe(OH)3(a)   0 10
    Pyrrhotite    0 10
    Chalcopyrite    0 10       
    CO2(g)       0 10           
    Millerite    0 10     
    Gypsum        0 10
    Quartz        0 10
    Diopside        0 10
    Tenorite     0 10
    CO2(g)    -3.5 10
    O2(g)     -0.699 10   

END


EXCHANGE 1
    X       0.0015
    CaX2    Gypsum               equilibrium_phase   0.001
    MgX2    Forsterite           equilibrium_phase   0.001
    FeX2    Fe(OH)3(a)           equilibrium_phase   0.001
    -equilibrate with solution 1
    -pitzer_exchange_gammas false
END

TRANSPORT
    -cells                 30
    -shifts                60
    -time_step             30 # days
    -lengths               0.01      # assume column length is 1 ft (0.3048 m)
    -dispersivities        30*0.01
    -correct_disp          true
    -print_cells           30
    -punch_cells           30


KINETICS 1-30   # just added this
Pyrite
-formula FeS2 1.0
-m0 1.06
-m 1.06
-parms 1.98 0.67 0.5 -0.11

RATES #Rate equation from Williamson and Rimstidt (1994)
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


SELECTED_OUTPUT 1
    -file                 C:\Users\RodrigoJr\Desktop\Desktop 14Aug\PhD Project\PHREEQC Codes\RANA Experiments\TRANSPORT\Rana_test_this is it.xls
    -reset                true
    -totals               S(6)  Mg  Fe  Ca  Alkalinity
    -equilibrium_phases   Anhydrite  Fe(OH)3(a)  Forsterite  Gypsum
    -saturation_indices   Anhydrite  Forsterite  Gypsum  Fe(OH)3(a)


USER_GRAPH 1
    -headings               Forsterite Fe(OH)3(a) Diopside Millerite Gypsum Pyrrhotite pH
    -axis_titles            "Distance (m)" \
            "SI" "pH"
    -chart_title            "SI of minerals/complex"
    -initial_solutions      false
    -connect_simulations    true
    -plot_concentration_vs  time
  -start
 10 graph_x total_time
 20 graph_y si("Forsterite")
 30 graph_y si("Fe(OH)3(a)")
 40 graph_y si("Diopside")
 50 graph_y si("Millerite")
 60 graph_y si("Gypsum")
 70 graph_y si("Pyrrhotite")
 70 graph_sy tot("H+")
  -end
     -active                 true

USER_GRAPH 2
    #-detach
    -headings               Mg Fe Ca Ni Cu SO4
    -axis_titles            "Distance (cm??)" "Concentration" "[mg/L]"   #Max distance should be about 300 cm (column height)
    -chart_title            "Species Concentration vs distance"
    -axis_scale x_axis       0 100 5 2.5
    -initial_solutions      false
    -connect_simulations    true
    -plot_concentration_vs  x
  -start
 10 graph_x total_distance
 20 graph_y tot("Mg")
 30 graph_y tot("Fe")
 40 graph_y tot("Ca")
 50 graph_y tot("Ni")
 60 graph_y tot("Cu")
 70 graph_y tot("S(6)")
  -end
    -active                 true


USER_GRAPH 3
    #-detach
    -headings               Mg Fe Ca Ni Cu SO4
    -axis_titles            "Time (sec??)" "Concentration" "[mg/L]"
    -chart_title            "Species Concentratin vs time"
    -axis_scale x_axis       0 100 5 2.5
    -initial_solutions      false
    -connect_simulations    true
    -plot_concentration_vs  t
  -start
 10 graph_x total_distance
 20 graph_y tot("Mg")
 30 graph_y tot("Fe")
 40 graph_y tot("Ca")
 50 graph_y tot("Ni")
 60 graph_y tot("Cu")
 70 graph_y tot("S(6)")

  -end
    -active                 true

USER_GRAPH 4
    #-detach
    -headings               Mg Fe Ca Ni Cu SO4
    -axis_titles            "Distance (cm)" "Concentration [mg/L]" "pH"
    -chart_title            "Species Concentratin vs distance"
    -axis_scale x_axis       0 30 5 2.5
    -initial_solutions      false
    -connect_simulations    true
    -plot_concentration_vs  distance
  -start
10 graph_x dist*100
20 graph_y TOT("Fe"), TOT("Ca"), TOT("S(6)")
30 graph_sy TOT("H+")

  -end
    -active                 true

END
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4270
Re: Transport in columns with no initial solution
« Reply #6 on: 28/12/16 20:55 »
This runs the transport simulation for 30 seconds:
TRANSPORT
-time_step 30 # days

This runs the transport simulation for 30 days:
TRANSPORT
-time_step 30 days

This plots time in seconds:
USER_GRAPH 1
 10 graph_x total_time

This plots time in days:
10 graph_x total_time/(3600*24)

total_distance is not a Basic function in PHREEQC, so it is a Basic variable that is initialized to zero. You are then plotting everything at a distance of zero for USER_GRAPH 2 and 3.

DIST is a Basic function that returns the distance of the center of the cell from the column inlet, in meters. However, in TRANSPORT you have -punch_cells set to 30, so only the last cell is plotted in USER_GRAPH 4.

If you set -punch_cells to 1-30, then all cells will be plotted in all of the USER_GRAPHS. If you want only cell 30 in graphs 1-3 and all cells in graph 4, then you need to add some logic like this for graphs 1

5 if cell_no < 30 then goto 1000

and perhaps this for graph 2-4

5 if total_time < 60 * 30 * 24 * 3600 then goto 1000

« Last Edit: 28/12/16 21:19 by dlparkhurst »
Logged

rfembilejr

  • Top Contributor
  • Posts: 68
Re: Transport in columns with no initial solution
« Reply #7 on: 30/12/16 06:34 »
Thank you David. It is much clearer now.
However, I was trying to set punch_cells 1-30 in the TRANSPORT to be able to see a plot for all the cells (1-30) but I got an error.
Also what should be the value for the BASIC 1000? I used REM end in this case.


Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4270
Re: Transport in columns with no initial solution
« Reply #8 on: 30/12/16 17:36 »
It could be

1000 REM

or

1000 END

I can't tell you anything about the error.
Logged

rfembilejr

  • Top Contributor
  • Posts: 68
Re: Transport in columns with no initial solution
« Reply #9 on: 30/12/16 19:33 »
Sorry about the error. It simply says:
_____________________________________________________________________
Transport step   1.

Transport step   1. Mixrun   1.

Transport step   1. Mixrun   2.

Transport step   1. Mixrun   3.

Transport step   1. Mixrun   4.

Transport step   1. Mixrun   5.

Transport step   1. Mixrun   6.

Transport step   1. Mixrun   7.

Transport step   1. Mixrun   8.

Transport step   1. Mixrun   9.

Transport step   1. Mixrun  10.

ERROR: Syntax_error : missing =
ERROR:  in BASIC line
 5  if cell_no < 30 then go to 1000
ERROR: Fatal Basic error in USER_GRAPH.
-------------------------------
End of Run after 0.628 Seconds.
-------------------------------

___________________________________________________________________

Here is my code for just two graphs. I can't seem to find out which is causing the problem.
I may have introduced more errors along the way. My bad.
All blocks prior to TRANSPORT are all the same.

_____________________________________________________________________________

TRANSPORT 1-30
    -cells                 30
    -shifts                60
    -time_step             7 days
    -lengths               0.01      # assume column length is 1 ft (0.3048 m)
    -dispersivities        0.01
    -correct_disp          true
    -punch_frequency      1
    -punch_cells           1-30
    -print                  30
    -print_frequency       30

SELECTED_OUTPUT 1
    -file                 C:\Users\RodrigoJr\Desktop\Desktop 14Aug\PhD Project\PHREEQC Codes\RANA Experiments\TRANSPORT\Rana_test_two plots.xls
    -reset                true
    -totals               S(6)  Mg  Fe  Ca  Alkalinity Ni
    -equilibrium_phases   Anhydrite  Fe(OH)3(a)  Forsterite  Gypsum Millerite Pyrrhotite
    -saturation_indices   Anhydrite  Forsterite  Gypsum  Fe(OH)3(a) Millerite Pyrrhotite


USER_GRAPH 1
    -headings               Forsterite Fe(OH)3(a) Diopside Millerite Gypsum Pyrrhotite
    -axis_titles            "Distance (cm)" "SI"
    -chart_title            "SI of minerals/complex"
    -initial_solutions      false
    -connect_simulations    true
    -plot_concentration_vs  x
  -start
  5 if cell_no < 30 then go to 1000
 10 graph_x total_time/(3600*24)
 20 graph_y si("Forsterite")
 30 graph_y si("Fe(OH)3(a)")
 40 graph_y si("Diopside")
 50 graph_y si("Millerite")
 60 graph_y si("Gypsum")
 70 graph_y si("Pyrrhotite")
 1000 REM
  -end
     -active                 true

USER_GRAPH 2
    -headings               Mg Fe Ca Ni Cu SO4
    -axis_titles            "Time (sec)" "Concentration" "[mg/L]"   #Max distance should be about 300 cm (column height)
    -chart_title            "Species Concentration vs Time"
    -axis_scale x_axis       0 100 5 2.5
    -initial_solutions      false
    -connect_simulations    true
    -plot_concentration_vs  time
  -start
 5  if total_time < 60*6*24*3600 then go to 1000
 10 graph_y tot("Mg")
 20 graph_y tot("Fe")
 30 graph_y tot("Ca")
 40 graph_y tot("Ni")
 50 graph_y tot("Cu")
 60 graph_y tot("S(6)")
 1000 REM
  -end
    -active                 true


END
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4270
Re: Transport in columns with no initial solution
« Reply #10 on: 30/12/16 19:41 »
It says the error is in line 5 and it is. Check the goto syntax.
Logged

rfembilejr

  • Top Contributor
  • Posts: 68
Re: Transport in columns with no initial solution
« Reply #11 on: 02/01/17 09:36 »
Thanks! It was a syntax error.
Quick question on the plots. For example (see attached), when I plotted the values in excel I got a different plot from the one in phreeqc (Step 20). In the legend, the sequence should be S(6), Mg, Fe, Ca, Alk, Ni but somehow, the first one (S(6)) is always missing. There should also be  more than two plots above zero as seen on excel but phreeqc only plots two and they're not even the same. Why is that? Is the plot generated by phreeqc USER_GRAPH only for the Step 30?

Below is the code used to generate the phreeqc plot:
--------------------------------------------------------------
SOLUTION 0 Pure water
    temp      20
    pH        7.0
    pe        4
    redox     pe
    units     mg/l
    density   1
    Alkalinity 3.0 as HCO3      #check this
    Ca        0.001
    Cl        0.001
    Cu(2)     0.002
    Fe(2)     0.001
    Mg        0.001
    Mn(2)     0.001
    Na        0.001
    S(6)      0.001
    -water    1 # kg

EQUILIBRIUM_PHASES 1-30
    CO2(g)    -3.5 10
    O2(g)     -0.699 10

SOLUTION 1-30 Rana (column)
    temp      20
    pH        5.44
    pe        4
    redox     pe
    units     mg/l
    density   1
    Alkalinity 0.0414 as HCO3
    Ca        93.882
    Cl        40
    Cu(2)     0.1798
    Fe(2)     0.0172
    Mg        1729
    Mn(2)     0.001
    Na        43.719
    S(6)      6602
    -water    1 # kg

PHASES
Pyrrhotite
Fe0.87S = +0.870Fe+2   -1.000H+   + 1.00HS-   -0.260e-
   log_k    -5.59
   delta_h   2.45
END

EQUILIBRIUM_PHASES 1-30
    Forsterite    0 6.6
    Fe(OH)3(a)   0 10
    Pyrrhotite    0 10
    Chalcopyrite    0 10       
    CO2(g)       0 10           
    Millerite    0 10     
    Gypsum        0 10
    Quartz        0 10
    Diopside        0 10
    Tenorite     0 10
    CO2(g)       -3.5 10
    O2(g)        -0.699 10   
END


TRANSPORT
    -cells                 30
    -shifts                30
    -time_step             604800 # seconds = 7 days
    -lengths               30*0.1
    -dispersivities        30*0.1
    -correct_disp          true
    -punch_cells           30

SELECTED_OUTPUT 1
    -file                 C:\Users\RodrigoJr\Desktop\Desktop 14Aug\PhD Project\PHREEQC Codes\RANA Experiments\TRANSPORT\Rana_test_two plots.xls
    -reset                true
    -totals               S(6)  Mg  Fe  Ca  Alkalinity Ni
    -equilibrium_phases   Anhydrite  Fe(OH)3(a)  Forsterite  Gypsum Millerite Pyrrhotite
    -saturation_indices   Anhydrite  Forsterite  Gypsum  Fe(OH)3(a) Millerite Pyrrhotite


USER_GRAPH 1
    -headings               S(6) Mg Fe Ca Alk Ni
    -axis_titles            "Distance (cm)" "Concentration (mg/L)"
    -chart_title            "Concentration in column"
    -initial_solutions      false
    -connect_simulations    true
    -plot_concentration_vs  x
  -start
  #5  if total_time < 60*7*24*3600 then goto 1000
  5 if cell_no < 30 then goto 1000
 10 graph_x total_time/(3600*24*7)
 #10 graph_x dist
 20 graph_y tot("S(6)")
 30 graph_y tot("Mg")
 40 graph_y tot("Fe")
 50 graph_y tot("Ca")
 60 graph_y tot("Fe")
 70 graph_y tot("Ca")
 1000 REM
  -end
     -active                 true

END
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4270
Re: Transport in columns with no initial solution
« Reply #12 on: 03/01/17 00:30 »
Look at the second example in the USER_GRAPH documentation to figure out the missing heading.

Are you plotting versus distance or versus time? Your USER_GRAPH is vs time (in weeks). I am sure the plot contains the data you specified.
Logged

rfembilejr

  • Top Contributor
  • Posts: 68
Re: Transport in columns with no initial solution
« Reply #13 on: 03/01/17 08:40 »
I want to plot both, but in this case I am trying to plot concentration vs distance.
Thanks.
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4270
Re: Transport in columns with no initial solution
« Reply #14 on: 03/01/17 16:42 »
Make use of the output file to identify the results in your plot.
Logged

rfembilejr

  • Top Contributor
  • Posts: 68
Re: Transport in columns with no initial solution
« Reply #15 on: 03/01/17 16:45 »
Yeah, I am comparing the plot with those from the output file. Although there are still some that I could not understand, I will get into it
hopefully soon.
Thanks a lot for you help!
Logged

rfembilejr

  • Top Contributor
  • Posts: 68
Re: Transport in columns with no initial solution
« Reply #16 on: 03/01/17 17:05 »
On another note, I am also working on an inverse model where I need pentlandite but it is not in any database so I must add it via PHASES. Any suggestion on the chemical reaction?
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4270
Re: Transport in columns with no initial solution
« Reply #17 on: 03/01/17 18:17 »
Just write a balanced dissociation reaction to any species that are in the database. Log K can be zero.
Logged

rfembilejr

  • Top Contributor
  • Posts: 68
Re: Transport in columns with no initial solution
« Reply #18 on: 03/01/17 22:32 »
Hi David,

I  know I should probably start a new thread with this question but I figure it will be easier here.

With pyrrhotite in phreeqc, what is the best one to use? since it is typically not available in any database.
I saw Tom's note (Pyrrhotite data, April 28, 2014, 09:43:35 AM) on this which is below:

Pyrrhotite
Fe0.87S = +0.870Fe+2     -1.000H+     +1.000HS-     -0.260e-     
     log_k    -5.59         #
     delta_h   2.45         kJ/mol

Is this safe to use for a column experiment containing tailings with pyrrhotite on it?
Thanks.
Logged

rfembilejr

  • Top Contributor
  • Posts: 68
Re: Transport in columns with no initial solution
« Reply #19 on: 15/01/17 03:10 »
Hi,

I finally found what is going on with the graphs. It looks like the items that appear on the plot are only those that can be plotted and not if they have zero values (see image 1). The legend just puts all the items you specified in the USER_GRAPH block even if they have zero values on the SELECTED_OUTPUT.  However, I don't understand why Alkalinity is not plotting similar to the one I plotted in excel (see image 2A and 2B).

Also, plotting the trend for example, cell 30's concentration vs distance (column depth) produces a weird plot. Data points are only for the dist_x of 2.95 if I use punch_cells 30. If I use punch_cells 1-30, I get a plot that resembles "hysteresis" where data points loop back (image 3). Is there a way to plot just one point for each cell (from 1 to 30) similar to the plot of concentration vs time?

Below is my code. It would be highly appreciated if someone can please check the KINETICS and RATES blocks. The  rates equation is very simple; is this valid? I was using the same surface area (assuming they have been crushed to same grain size) from BET measurement for all the minerals present in the column. The mass of each mineral was based on XRD data. The moles value was from the stable trend of moles of that mineral observed from inverse modelling. TRANSPORT is modeled for 7 days using a column of 30 cells. I would like to generate a plot showing what is happening on each cell (distance) instead of the "looping" plot (image 3). For the KINETICS, the initial (m0) and current  moles (m) were calculated from the mass percentage of that mineral in the column, similar to that obtained from XRD.

-------------------------------------------------------------------------------
TITLE Transport for RA-01


SOLUTION 0 Pure water
    temp      20
    pH        7.0
    pe        4
    redox     pe
    units     mg/l
    density   1
    Alkalinity 3.0 as HCO3      #check this
    Ca        0.001
    Cl        0.001
    Cu(2)     0.002
    Fe        0.001
    Mg        0.001
    Na        0.001
    S(6)      0.001
    -water    1 # kg

EQUILIBRIUM_PHASES 1-30
    CO2(g)    -3.5 10
    O2(g)     -0.699 10

SOLUTION 1-30 Rana (column)
    temp      20
    pH        5.29
    pe        4.32
    redox     pe
    units     mg/l
    density   1
    Alkalinity 0.0828 as HCO3
    Ca        415.80
    Cl        40
    Cu(2)     0.026230
    Fe        0.0110
    Mg        731.97
    Na        57.464
    S(6)      4510.68
    -water    1 # kg

PHASES
Pyrrhotite
      FeS +1.0000 H+  =  + 1.0000 Fe++ + 1.0000 HS-
      log_k           -3.7193

Forsterite
   Mg1.65Fe0.344Ni0.006SiO4 + 4H+ = H4SiO4 + 1.65Mg+2 + 0.344Fe+2 + 0.006Ni+2  #Balanced by averaging Olivines and manipulating :)
      log_k            0

#Clinoenstatite
#Tremolite


END

EQUILIBRIUM_PHASES 1-30
    CO2(g)       0 10           
    Quartz        0 10
    Tenorite     0 0
    CO2(g)       -3.5 10
    O2(g)        -0.699 10 

END

#Rates and Kinetics here

KINETICS 1-30
Forsterite                      #47% of 2 kg
-formula Mg1.65Fe0.344Ni0.006SiO4 1.0
-m0 6.195
-m 6.195

Clinoenstatite               # about 36% of 2kg
-formula MgSiO3 1.0               
-m0 4.744
-m  4.744

Tremolite                  # about 15% of 2 kg
-formula   Ca2Mg5Si8O22(OH)2 1.0            
-m0  1.977
-m  1.977

Pyrrhotite                  # about 2% of 2 kg
-formula FeS 1.0
-m0 0.0114
-m 0.0114

Pyrite                     # about 2% of 2 kg
-formula FeS2 1.0
-m0 0.0114
-m 0.0114


RATES 1-30                   #mol/m2/s

Forsterite                  #initial moles from average of the plot
  -start
   10 SA = 12.08 #m2/g
   20 mass = 940 #grams         
   30 moles = 0.0001            #initial moles from average of the plot from inverse modelling
   40 rate = moles/(SA*mass*604800)      # rate for 7 days
   100 save moles
  -end

Pyrrhotite
 -start
   10 SA = 12.08 #m2/g
   20 mass = 40 #grams
   30 moles = 0.0001            #initial moles from average of the plot from inverse modelling
   40 rate = moles/(SA*mass*604800)      # rate for 7 days
   100 save moles
  -end

Pyrite
 -start
   10 SA = 12.08 #m2/g
   20 mass = 10 #grams, adjusted from 20g
   30 moles = 0.0001            #initial moles from average of the plot from inverse modelling
   40 rate = moles/(SA*mass*604800)      # rate for 7 days
   100 save moles                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
  -end

Clinoenstatite               # no moles observed in model         
  -start
   10 SA = 12.08 #m2/g
   20 mass = 710 #grams, adjusted from 720 g                                                                                                                                                                                                                                                                                                     
   30 moles = 0.0001            #initial moles from average of the plot from inverse modelling
   40 rate = moles/(SA * mass*604800)   # rate for 7 days
   100 save moles
  -end

Tremolite                  # no moles observed in model
  -start
   10 SA = 12.08 #m2/g
   20 mass = 300 #grams
   30 moles = 0.000001            #initial moles from average of the plot from inverse modelling
   40 rate = moles/(SA*mass*604800)      # rate for 7 days
   100 save moles
  -end

END


TRANSPORT
    -cells                 30         #shifts/cells = pore volume
    -shifts                30
    -time_step             20160       # 604800/30 cells_Time equivalent to 7 days divided by 30 cells
    -lengths               0.1
    -dispersivities        0.1
    -correct_disp          true
    -punch_cells           1-30      #This can be changed to just 30
    #-punch_frequency      1
    #-warnings          true


SELECTED_OUTPUT 1
    -file                 C:\Users\RodrigoJr\Desktop\Desktop 14Aug\PhD Project\PHREEQC Codes\RANA Experiments\TRANSPORT Codes\RA-01\RA-01.xls
    -reset                true
    -totals               S(6)  Mg  Fe  Ca  Alkalinity  Ni
    -saturation_indices   Forsterite  Pyrrhotite  Gypsum  Fe(OH)3(a)
    -kinetic_reactants    Forsterite  Pyrite  Pyrrhotite  Tremolite
                          Clinoenstatite
                         

USER_GRAPH 1
    -headings               Concentration Alkalinity S(6)  Mg  Fe Ca Ni pH
    -axis_titles            "Time" "Concentration (mols)"  "pH"
    -chart_title            "Concentration vs Time"
    -initial_solutions      true
    #axis_scale y_axis      -0.05 0.09             #concentration   
    #-axis_scale x_axis       0 30 5 1    #cell number     
    #axis_scale sy_axis     -2 9       #pH scale
    -connect_simulations    true
    -plot_concentration_vs  t
  -start

5 if cell_no < 30 then goto 1000
10 GRAPH_X total_time
20 GRAPH_Y TOT("Alkalinity")
30 GRAPH_Y TOT("S(6)")
40 GRAPH_Y TOT("Mg")
50 GRAPH_Y TOT("Fe")
60 GRAPH_Y TOT("Ca")
70 GRAPH_Y TOT("Ni")
80 GRAPH_SY -LA("H+")
1000 REM end
  -end


USER_GRAPH 2
    -headings               hey Forsterite Ferrihydrite pH
    -axis_titles            "Time" "log Saturation Index" "pH"
    -chart_title            "logSI vs Time"
    -initial_solutions      false
    #-axis_scale y_axis       0 0.2
    -connect_simulations    true
    -plot_concentration_vs  t
  -start
 5 if cell_no < 30 then goto 1000
 #X = 30*(0.5 + step_no) / cell_no
10 GRAPH_x total_time
20 GRAPH_Y log10(SI("Forsterite"))
#30 GRAPH_Y log10(SI("Pyrrhotite"))
#40 GRAPH_Y log10(SI("Gypsum"))
30 GRAPH_Y log10(SI("Fe(OH)3(a)"))
40 GRAPH_SY -LA("H+")
1000 REM end
  -end
  -active                 true


USER_GRAPH 3
    -headings Concentration  S(6) Mg pH
    -axis_titles            "Distance (cm)" "Concentration (mg/L)" "pH"
    -chart_title            "Concentration vs Distance"
    -initial_solutions      false
    -axis_scale y_axis       0 0.2
    -connect_simulations    true
    -plot_concentration_vs  x
  -start
 #5 if total_time < 60 * 30 * 24 * 3600 then goto 1000
 #5 if cell_no < 30 then goto 1000
 #X = 30*(0.5 + step_no) / cell_no
#5 if cell_no < 30 then goto 1000
10 GRAPH_X DIST
20 GRAPH_Y TOT("S(6)") TOT("Mg")
30 GRAPH_SY -LA("H+")
#1000 REM end
  -end
     -active                 true

END
Logged

rfembilejr

  • Top Contributor
  • Posts: 68
Re: Transport in columns with no initial solution
« Reply #20 on: 15/01/17 03:13 »
Here are the other plots.
Logged

rfembilejr

  • Top Contributor
  • Posts: 68
Re: Transport in columns with no initial solution
« Reply #21 on: 15/01/17 03:14 »
The last plots
Logged

  • Print
Pages: [1]   Go Up
« previous next »
  • PhreeqcUsers Discussion Forum »
  • Processes »
  • Reactive transport modelling »
  • Transport in columns with no initial solution
 

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