PhreeqcUsers Discussion Forum

Please email phreeqcusers at gmail.com with your name and affiliation to request an account.
Welcome Guest
 

  • Forum Home
  • Login
  • Register

  • PhreeqcUsers Discussion Forum »
  • Conceptual Models »
  • Database selection and modification »
  • Question about Exchange_Species (cation exchange model)
« previous next »
  • Print
Pages: [1]   Go Down

Author Topic: Question about Exchange_Species (cation exchange model)  (Read 11287 times)

Jeonghwan Hwang

  • Top Contributor
  • Posts: 81
Question about Exchange_Species (cation exchange model)
« on: 29/07/21 06:53 »
Hello, this is Jeonghwan Hwang.
I benchmark the previous research for cation exchange modeling (Steefel et al., 2003).
The information of selectivity coefficients for exchange_species is in an attached file.

My phreeqc codes for exchange model is written as below;

=====================================
EXCHANGE_MASTER_SPECIES
   Z      Z- #X1
   D      D- #X2
   Q      Q- #X3   
   
EXCHANGE_SPECIES
             
       Z- = Z- #X1
       log_k 0.0
       -davies        
       Cs+ + NaZ = CsZ + Na+ 
       log_k 7.25
       -davies
       Cs+ + KZ = CsZ + K+
       log_k 4.99
       -davies
       Cs+ + 0.5CaZ2 = CsZ + 0.5Ca+2 
       log_k 15.27
       -davies
   
       D- = D- #X2
       log_k 0.0
       -davies
       Cs+ + NaD = CsD + Na+
       log_k 4.93
       -davies
       Cs+ + KD = CsD + K+ 
       log_k 1.83
       -davies
       Cs+ + 0.5CaD2 = CsD + 0.5Ca+2
       log_k 10.89
       -davies
   
       Q- = Q- #X3
       log_k 0.0
       -davies
       Cs+ + NaQ = CsQ + Na+
       log_k 1.99
       -davies
       Cs+ + KQ = CsQ + K+ 
       log_k 0.74
       -davies
       Cs+ + 0.5CaQ2 = CsQ + 0.5Ca+2 
       log_k 3.20
       -davies
end
=========================================

At first time, I tried to run the model without the exchange_species, Na+ + Z- = NaZ, K+ + Z- = KZ,  Ca+2 + 2Z- = CaZ2,  Na+ + D- = NaD, K+ + D- = KD, Ca+2 + 2D- = CaD2,  Na+ + Q- = NaQ, K+ + Q- = KQ, Ca+2 + 2Q- = CaQ2, because the research didn't give the information.

However, the model didn't work with error messages.
'ERROR: Elements in species have not been tabulated, CaD2.
ERROR: Reaction for species has not been defined, CaD2.
ERROR: Elements in species have not been tabulated, CaQ2.
ERROR: Reaction for species has not been defined, CaQ2.
ERROR: Elements in species have not been tabulated, CaZ2.
ERROR: Reaction for species has not been defined, CaZ2.
ERROR: Elements in species have not been tabulated, KD.
ERROR: Reaction for species has not been defined, KD.
ERROR: Elements in species have not been tabulated, KQ.
ERROR: Reaction for species has not been defined, KQ.
ERROR: Elements in species have not been tabulated, KZ.
ERROR: Reaction for species has not been defined, KZ.
ERROR: Elements in species have not been tabulated, NaD.
ERROR: Reaction for species has not been defined, NaD.
ERROR: Elements in species have not been tabulated, NaQ.
ERROR: Reaction for species has not been defined, NaQ.
ERROR: Elements in species have not been tabulated, NaZ.
ERROR: Reaction for species has not been defined, NaZ.
ERROR: Calculations terminating due to input errors.'

For this reason, I added the codes in exchange_species as below;

=============================================
Exchange_Species
       Na+ + Z- = NaZ
       log_K 0
       -davies      
       K+ + Z- = KZ
       log_K 0
       -davies      
       Ca+2 + 2Z- = CaZ2
       log_K 0
       -davies
       Na+ + D- = NaD
       log_K 0
       -davies      
       K+ + D- = KD
       log_K 0
       -davies      
       Ca+2 + 2D- = CaD2
       log_K 0
       -davies
       Na+ + Q- = NaQ
       log_K 0
       -davies      
       K+ + Q- = KQ
       log_K 0
       -davies      
       Ca+2 + 2Q- = CaQ2
       log_K 0
       -davies
=================================================

When I added these code, the model was run as well without error.
However, I wondered about the reasonability about the code because there were no comment or information in Steefel et al., 2003.
Is it correct to write this code or should I think of another way?

Thank you for reading.
Sincerely,

Jeonghwan Hwang
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4316
Re: Question about Exchange_Species (cation exchange model)
« Reply #1 on: 29/07/21 15:30 »
You will have to define the exchange species as follows:

Code: [Select]
EXCHANGE_MASTER_SPECIES
   Z      Z- #X1
EXCHANGE_SPECIES
Z- = Z-
log_k 0

Cs+ + Z- = CsZ
      log_k 0.0

Na+ + CsZ = NaZ + Cs+
log_k  -6.96

K+ + CsZ = KZ + Cs+
log_k  -4.81

Ca+2 + 2CsZ = CaZ2 + 2Cs+
log_k  -30.26
END
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4316
Re: Question about Exchange_Species (cation exchange model)
« Reply #2 on: 29/07/21 16:41 »
I need to add that I do not think you will be able to match the results of Steefel. My guess is that they define activity of an exchange species as molality (or molarity), whereas PHREEQC activity is based on equivalent fraction. For monovalent exchange, it may not make a difference, but it will for divalent-monovalent exchange.

Using molality or molarity for activity is clearly wrong. A simple thought experiment will show the problem. Suppose you have an exchanger in equilibrium with 1 L of solution. Now add another liter of solution with the exact composition. The solution composition has not changed and the exchange composition will still be in equilibrium; however, the activities of the exchange species are now one half of the previous values, whereas they should be the same. If activities are based on equivalent fractions, the activites will not have changed.

The exchange convention also makes a difference. See this document for a discussion:
https://hydrochemistry.eu/pub/ap_pa02.pdf
« Last Edit: 29/07/21 16:44 by dlparkhurst »
Logged

Jeonghwan Hwang

  • Top Contributor
  • Posts: 81
Re: Question about Exchange_Species (cation exchange model)
« Reply #3 on: 26/09/21 03:59 »
Thank you for your comments.

I ​want to sufficiently understand for the difference between the 'activity of an exchange species as molality (or molarity), whereas PHREEQC activity is based on equivalent fraction'

I think that the main point of PHREEQC is define the exact site capacity (eq)  not  concentration  (eq/L) when I make the exchanger, as below;

EXCHANGE 1; G 1;

where G 1 represents the 1 eq of G sites regardless of solution volume. At default condition, when I equlibrate the Exchange with solution, the G sites are equilibrated with 1L of solution. For this reason, the activities of the exchange sites are not changed by adding the another liter of solution. Is is correct that I understand about your comment?

In addition, I want to get your comment for my modeling approach. In previous, I change the amounts of G sites in EXCHANGE to make the same condition with my experiement condition. For example, when  my experiment condition was 1g/L of solid concentraion,  and  the G sites in sorbents was  measured  as 1 eq/kg , I  define the EXCHANGE  G  to 0.001 rather 1 .  Can I get your comment for my approach?

Thank you.

Sincerely
Jeonghwan Hwang
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4316
Re: Question about Exchange_Species (cation exchange model)
« Reply #4 on: 26/09/21 17:37 »
Yes, the activity of the exchange species, say Ca+2, is equivalents of CaG2 (using the stoichiometry of G for equivalents per mole) divided by the equivalents of G. The solution volume does not directly affect this mole fraction calculation.

You must consider the number of equivalents of G and the initial condition of the exchanger. Say that G initially contains only NaG. If you have a very large amount of G and a solution of Ca+2, then almost all of the Ca+2 will exchange and the solution will be Na+ dominated. If you have tiny amount of G, then the solution and the exchanger will be dominated by Ca+2.

Yes, 1 g * 0.001 eq/g = 0.001 equivalents, which would be used to define the number of sites in EXCHANGE. (Previous version of this post had g/L, which is not right for all SOLUTION volumes.)
« Last Edit: 26/09/21 18:16 by dlparkhurst »
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4316
Re: Question about Exchange_Species (cation exchange model)
« Reply #5 on: 26/09/21 18:22 »
Alternatively,

1 g/L * 0.001 eq/g * V = 0.001 * V = eq, where V is the volume of solution for your experiment.
Logged

  • Print
Pages: [1]   Go Up
« previous next »
  • PhreeqcUsers Discussion Forum »
  • Conceptual Models »
  • Database selection and modification »
  • Question about Exchange_Species (cation exchange model)
 

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