PhreeqcUsers Discussion Forum
Beginners => PHREEQC basics => Topic started by: Jeonghwan Hwang on July 12, 2021, 08:07:38 AM
-
Hello, this is Jeonghwan Hwang.
Thank you for your help.
I have a question. It may seem to simple and basic, but I don't know why the results showed like that.
The code is shown as below;
===========================================
database c://phreeqc/database/LLNL.dat
SOLUTION 1
units mmol/L
temp 35.0892
Cs 1
EQUILIBRIUM_PHASES 1
END
SOLUTION 2
units mmol/L
temp 35.0892
Cs 10
EQUILIBRIUM_PHASES 1
END
SOLUTION 3
units mmol/L
temp 35.0892
Cs 100
EQUILIBRIUM_PHASES 1
END
SOLUTION 4
units mmol/L
temp 35.0892
Cs 1000
EQUILIBRIUM_PHASES 1
END
==========================================
The Cs concentration in results of solution 1 was same with input Cs concentration. 1->1 mmol/L
The Cs concentration in results of solution 2 was 0.1% different with input Cs concentration. 10 ->10.01 mmol/L
The Cs concentration in results of solution 3 was 1.3% different with input Cs concentration. 100 -> 101.3 mmol/L
The Cs concentration in results of solution 4 was 15.3% different with input Cs concentration. 1000 -> 1153 mmol/L
The error was rapidly increased as Cs concentration increased.
However, I cannot find why this problem occurred.
Can I get an advice or explanation for this problem?
And one more question, can I fix the solution volume to 1L when I set up the solution?
Thank you for your help.
Sincerely,
Jeonghwan Hwang
-
The "problem" is that you are comparing different units. You have entered mmol/L, but the output of PHREEQC is moles per kilogram water. It is calculated by assuming a density of 1.0, so that 1 liter of solution equals 1 kilogram. Then the mass of solutes is subtracted to obtain the mass of water. Your calculation is an approximation, both because the density at high concentration is an estimate and you do not have all the solutes included in the SOLUTION definition (no anions).
The databases pitzer.dat, phreeqc.dat, and Amm.dat have the capability to calculate density (and solution volume), but these databases do not include Cs. Below is an example with sodium that calculates the resulting mmol/L after the conversion to mol/kgw (if you use one of the three databases).
USER_PRINT
10 PRINT "Na, mmol/L: ", 1000*TOTMOL("Na")/SOLN_VOL
SOLUTION 1
temp 35.0892
density 1 calc
units mmol/l
Na 1
Cl 1
SOLUTION 2
temp 35.0892
density 1 calc
units mmol/l
Na 10
Cl 10
SOLUTION 3
temp 35.0892
density 1 calc
units mmol/l
Na 100
Cl 100
SOLUTION 4
temp 35.0892
density 1 calc
units mmol/l
Na 1000
Cl 1000
END
-
Thank you for helpful comments.
I ran the model by adding Cs information to PHREEQC.dat, and confirmed that the concentration was stable.
I have one more question.
Can you comment me what part of the code that gives the above effect in PHREEQC and PITZER?
I want to modify the LLNL to work like PHREEQC and PITZER.
Can I do that or would it be better to move the species information from LLNL to PHREEQC?
Thank you for reading!
Sincerely,
Jeonghwan Hwang
-
To be able to calculate density, it is necessary to define the molar volumes of the aqueous species. The parameters for molar volume are defined with the -Vm parameter in SOLUTION_SPECIES definitions. Here is an example from phreeqc.dat.
SOLUTION_SPECIES
Ca+2 = Ca+2
-gamma 5.0 0.1650
-dw 0.793e-9 97 3.4 24.6
-Vm -0.3456 -7.252 6.149 -2.479 1.239 5 1.60 -57.1 -6.12e-3 1 # ref. 1
The equation and parameters are defined in the SOLUTION_SPECIES section of the manual. (The -dw parameters are used to calculate specific conductance.)
It would be difficult to implement the molar volume parameters for the entire llnl.dat database, and implementing only part of llnl.dat could lead to errors. If possible, I would probably add the llnl species to phreeqc.dat. I don't know your interests, but in most systems, the extra species would be trace elements that would not have much affect on the density.
Just a suggestion if you do add the species to phreeqc.dat, I would put the new definitions in a separate file that you can INCLUDE$ (see manual) either from phreeqc.dat or from your input file. This would keep separate the original phreeqc.dat and your changes.