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
»
Limestone column
« previous
next »
Print
Pages: [
1
]
Go Down
Author
Topic: Limestone column (Read 10378 times)
Ismail Mercimek
Frequent Contributor
Posts: 11
Limestone column
«
on:
07/05/15 10:02 »
Hey all,
I want to model a flow of pure water of 80 degrees Celcius through a column limestone with some CO2 added and then analyze what happens to the solution over a period of 3 days. The reaction would be:
CaCO3 + CO2 + H2O ↔ Ca2+ + 2 HCO3-
i understood that i can use TRANSPORT to define the time in which the pure water stays in the column, however I do not know how to define the limestone column itself. Is it just modeled as a solution or something else?
Thank you
Logged
dlparkhurst
Global Moderator
Posts: 4213
Re: Limestone column
«
Reply #1 on:
07/05/15 15:14 »
Look at the TRANSPORT data block and example 11 in the Phreeqc version 3 manual. It is distributed with the code, and it is available through the Help button in PhreeqcI.
Logged
Ismail Mercimek
Frequent Contributor
Posts: 11
Re: Limestone column
«
Reply #2 on:
14/05/15 13:12 »
Thank you david, is it also possible (in PHREEQC) to let the pure water flow through the column, then after the water comes out of the column heat the received solution to 80 degrees celsius and analyze what happens with the solution throught time? I want to do some tests with scaling of certain solutions at higher temperatures.
So can I heat a solution at 25 degrees to 80 degrees and output what happens to the concentration over the course of, for example, 3 days.
«
Last Edit: 14/05/15 13:19 by Ismail Mercimek
»
Logged
dlparkhurst
Global Moderator
Posts: 4213
Re: Limestone column
«
Reply #3 on:
14/05/15 13:35 »
I think you should be able to define one more cell in your column that has no reactants (no EQUILIBRIUM_PHASES, EXCHANGE, etc), but has a REACTION_TEMPERATURE definition.
Logged
Ismail Mercimek
Frequent Contributor
Posts: 11
Re: Limestone column
«
Reply #4 on:
21/05/15 09:14 »
Isn't the REACTION_TEMPERATURE Data block just for the heating process? I want to heat the solution till 80 degrees and keep it constant at 80 degrees for 3 days. Then I want to measure what happens with the calcium concentration over that same period of 3 days while the temperature stays constant at 80 degrees. I could not quite see how to model that with REACTION_TEMPERATURE.
Logged
dlparkhurst
Global Moderator
Posts: 4213
Re: Limestone column
«
Reply #5 on:
21/05/15 16:39 »
REACTION_TEMPERATURE 5
80
END
TRANSPORT
...
END
This will set the temperature of cell 5 to 80 C during a TRANSPORT calculation.
If you do not want to continue the TRANSPORT calculation or set the final cell temperature during transport, you can continue reactions after the transport simulation is done. You can just use the results from the final column cell, say cell 5, and run reactions on it. RUN_CELLS; -cell 5 will run reactions including all the reactants numbered 5 (SOLUTION 5, EQUILIBRIUM_PHASES 5, KINETICS 5, REACTION_TEMPERATURE 5, etc), which you can define following the TRANSPORT simulation and before RUN_CELLS.
Logged
Ismail Mercimek
Frequent Contributor
Posts: 11
Re: Limestone column
«
Reply #6 on:
22/05/15 09:28 »
I have made the following input file for the heating part only (simplified and I have also left out the model for the limestone column because i understand how to model that):
Solution 0 #Solution sample with only calcium
- pH en pe defined
- units ppm
- Ca 1
Solution 1 #initial solution for column, should have no reactants with solution 0
- only pH and pe defined
REACTION_TEMPERATURE 1
80
END
TRANSPORT
-cells 1
...
END
I am investigating scaling properties and solution 0 models the water I use in real expirements. When I heat this water in a real experiment and keep the temperature constant for 3 days, scaling occurs at a cerain point in that time and thus the concentration of calcium decreases in the water. To facilitate scaling for calcium, I have added sand in my water so that the scaling happens on the sand surface. I figured I have no such surface defined in PHREEQC and therefore, when I run my input file, the calcium concentration does not decrease in the solution.
Is there a way to model this kind of scaling in PHREEQC?
Logged
dlparkhurst
Global Moderator
Posts: 4213
Re: Limestone column
«
Reply #7 on:
22/05/15 16:35 »
Here is a simple file that equilibrates calcite at 25 C and pCO2 10^-2, then raises the temperature to 80 C and precipitates calcite in a closed (to CO2) system.
SOLUTION 1
temp 25
pH 7
pe 4
redox pe
units mmol/kgw
density 1
-water 1 # kg
EQUILIBRIUM_PHASES 1
CO2(g) -2 10
Calcite 0 10
SAVE solution 1
end
USE solution 1
REACTION_TEMPERATURE 1
80
EQUILIBRIUM_PHASES 1
Calcite 0 10
END
Logged
Ismail Mercimek
Frequent Contributor
Posts: 11
Re: Limestone column
«
Reply #8 on:
27/05/15 12:06 »
I have made this model so far, however, I think I made a mistake in defining solution 1 which should be non-reactant. David, can you perhaps have a look at my input?
SOLUTION 0.0
temp 25
pH 7
pe 4
redox pe
units mmol/kgw
density 1
-water 1 # kg
EQUILIBRIUM_PHASES 0.0
CO2(g) -2 10
Calcite 0 10
SAVE solution 0
end
USE solution 0
REACTION_TEMPERATURE 0
80
Solution 1
pure water
temp 25
pH 7
pe 4
EQUILIBRIUM_PHASES 0
Calcite 0 10
TRANSPORT 1
-cells 1
-length 1
-shifts 144
-time_step 0.5 hour
-dispersivity 0
-correct_disp true
-punch 1
-punch_frequency 1
-print 1
-print_frequency 1
SELECTED_OUTPUT
...
USER_PUNCH 1
...
END
Logged
dlparkhurst
Global Moderator
Posts: 4213
Re: Limestone column
«
Reply #9 on:
27/05/15 14:04 »
This part of your input probably does not do what you think it does. Solution 0 will react with equilibrium_phases 0, but is not saved. So solution 0, unchanged will be you infilling solution, and Solution 1 will be pure water in cell 1. You should look at the output file to see the sequence of calculations.
USE solution 0
REACTION_TEMPERATURE 0
80
Solution 1
pure water
temp 25
pH 7
pe 4
EQUILIBRIUM_PHASES 0
Calcite 0 10
I don't really know what you have in mind, but you should separate calculations with END statements and save results of calculations with SAVE statements. So maybe something like
USE solution 0
EQUILIBRIUM_PHASES 0
...
SAVE solution 0
END
SOLUTION 1
...
END
Logged
Ismail Mercimek
Frequent Contributor
Posts: 11
Re: Limestone column
«
Reply #10 on:
29/05/15 12:03 »
Ah yes, I have corrected that now.
What I want to do is: Precipitate the calcium ions in solution 0 which is kept constantly at 80 degrees and with the TRANSPORT data block analyse after how many hours this precipitation (scaling) occurs. Since the precipitation happens after several hours, the calcium concentration should drop in a short time. If i can output the calcium concentrations from the beginning till after precipitation occurs, I should see a sudden drop of the calcium concentratrion.
With EQUILIBRIUM_PHASES I can find out how much calcium precipitates, however I can't find out when it precipitates. That is my problem. When I define the Transport and Equilibrium_phase data sets, it first precipitates the calcium and then uses the Transport Data block or vice versa, which is not what I want. Can I let these Data blocks work simultanously and thus see when the calcium precipitates?
Thank you for the explanations, they are very usefull.
Logged
dlparkhurst
Global Moderator
Posts: 4213
Re: Limestone column
«
Reply #11 on:
29/05/15 15:10 »
I do not really understand your column operations. I am sure it is possible to manipulate the solutions so that reactions occur before or after transport or both, and the temperatures can be set.
However, equilibrium is essentially instantaneous kinetics, so it will not be possible to see a slow attainment of equilibrium or a gradual accumulation of calcite. If you define calcite as and EQUILIBRIUM_PHASE, the reaction will happen instantaneously.
You can consider using KINETICS to allow reactions to occur as a specified rate. There is a definition of a rate for calcite in the phreeqc.dat database, based on the rate expressions of Plummer and others. Using KINETICS will allow calcite to precipitate more gradually. However, with the given rate expression there will not be an induction period as you observed. You can adjust the rate expression in some way to try to fit your data better, but I am not sure that is worthwhile, if you are simply adjusting to match observed data.
Logged
Ismail Mercimek
Frequent Contributor
Posts: 11
Re: Limestone column
«
Reply #12 on:
29/05/15 16:23 »
I thought that I could model the heating and precipitation with the Transport block. the heating proces happens after the column operation. I will use the effluent of the column operations as the solution for my heating process. So those two processes are rather independant from each other.
As for my data, I will compare the data I observed with the theoratical values obtained through PHREEQC. So changing the rate expressions just to adjust them to my data is not for my interest. I will have a look at Kinetics though. Thank you.
Logged
Print
Pages: [
1
]
Go Up
« previous
next »
PhreeqcUsers Discussion Forum
»
Processes
»
Reactive transport modelling
»
Limestone column