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 »
  • Conceptual Models »
  • Database selection and modification »
  • Hydrogen Solubility using Pitzer database
« previous next »
  • Print
Pages: [1]   Go Down

Author Topic: Hydrogen Solubility using Pitzer database  (Read 1054 times)

MMMM

  • Frequent Contributor
  • Posts: 18
Hydrogen Solubility using Pitzer database
« on: 29/01/25 19:37 »
Hello
I am trying to model hydrogen solubility in brine and I am using Pitzer database but the calculated solubility is higher than the experimental values. I want to modify the parameters related to hydrogen solubility but I don't know which parameters should be modified. I would appreciate your guidance.
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4067
Re: Hydrogen Solubility using Pitzer database
« Reply #1 on: 29/01/25 22:53 »
I would be surprised if the solubilities are too far off from experimental; is H2 reacting with anything else in solution? Try using Hdg(g) instead of H2(g).

You can change any of the Pitzer parameters with the keyword data block PITZER. The log Ks for H2(g) and Hdg(g) (unreactive H2) are in the PHASES data block. The latest version allows for defining gas binary interaction parameters with the keyword data block GAS_BINARY_PARAMETERS.

There are quite a few posts in the forum related to hydrogen solubility if you search for "Hdg".
Logged

MMMM

  • Frequent Contributor
  • Posts: 18
Re: Hydrogen Solubility using Pitzer database
« Reply #2 on: 30/01/25 09:04 »
Thanks for your answer. No, at this stage only hydrogen gas and Brine (NaCl 3mol/kgw) are defined. it should be mention that for pure water and salinity under 1 mol/kgw result are match with experiments. my script is as  follow:

Code: [Select]
[DATABASE C:\phreeqc\database\PITZER.DAT


SOLUTION 1
    pressure 1        # atm  Pressure
    temp 20               # degree Celsius
    -water 1
    units mol/kgw          # ppm (Resrvoir Salinity )
 Na 1
 Cl 1
END
gas_phase 1
      -fixed_pressure
      -pressure 98.69  #100 bar
     
      H2(g)  1e-20
      H2O(g) 1e-20
      CO2(g) 1e-20
      N2(g) 1e-20
      #CH4(g) 1e-20
 END

reaction 1
 H2(g) 1
 100
REACTION_PRESSURE 2
10
20
60
80
1.16E+02
1.20E+02
1.49E+02
1.92E+02
2.29E+02
2.62E+02
2.78E+02
3.87E+02
3.95E+02
4.58E+02


REACTION_TEMPERATURE 2
100
Save Solution 1

PITZER
-macinnes true
-use_etheta true
-redox true

 USE solution  1
 USE GAS_PHASE 1
 USE REACTION 1
 
  USER_GRAPH 1
-headings Time  H2 
-axis_titles "Pressure (atm)" "H2 Solubility in Water, mol/kgw"
-axis_scale x_axis auto auto auto aut
-axis_scale y_axis auto auto auto aut
initial_solutions true
-start
10 GRAPH_X pressure
20 GRAPH_Y   mol("H2")
-end/code]
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4067
Re: Hydrogen Solubility using Pitzer database
« Reply #3 on: 30/01/25 14:38 »
The main parameters for Hdg (inert version of H2 and H2(g)) are found in SOLUTION_SPECIES, of which there is only one species, dissolved H2:
Code: [Select]
Hdg = Hdg # H2
-Vm 6.52 0.78 0.12 # supcrt
-dw 5.13e-9
and PHASES:
Code: [Select]
Hdg(g)
Hdg = Hdg
-analytic -9.3114e+0 4.6473e-3 -4.9335e+1 1.4341e+0 1.2815e+5
-T_c 33.2; -P_c 12.8; -Omega -0.225

Here is a working version of your file:

Code: [Select]
#DATABASE C:\phreeqc\database\PITZER.DAT


SOLUTION 1
    pressure 1        # atm  Pressure
    temp 20               # degree Celsius
    -water 1
    units mol/kgw          # ppm (Resrvoir Salinity )
 Na 1
 Cl 1
END
gas_phase 1
      -fixed_pressure
      -pressure 98.69  #100 bar
     
      Hdg(g)  0
      H2O(g)  0
      #CO2(g) 1e-20
      #N2(g) 1e-20
      #CH4(g) 1e-20
 END

reaction 1
 Hdg(g) 1
 100
REACTION_PRESSURE 2
    10  20  60  80  116  120  149 
    192  229  262  278  387  395  458


REACTION_TEMPERATURE 2
100
Save Solution 1

PITZER
-macinnes true
-use_etheta true
#-redox true

 USE solution  1
 USE GAS_PHASE 1
 USE REACTION 1
 
  USER_GRAPH 1
-headings Time  H2
-axis_titles "Pressure (atm)" "H2 Solubility in Water, mol/kgw"
-axis_scale x_axis auto auto auto aut
-axis_scale y_axis auto auto auto aut
initial_solutions true
-start
10 GRAPH_X pressure
20 GRAPH_Y   mol("Hdg")
-end
Logged

MMMM

  • Frequent Contributor
  • Posts: 18
Re: Hydrogen Solubility using Pitzer database
« Reply #4 on: 30/01/25 18:34 »
Thank you very much for your guidance.
I apologize for asking so many questions.
When we use Hdg, the Hdg that dissolves in water is still unreacted? How can I make it reactive?
If I want to check the solubility in the presence of MgCl2 salt, is the Pitzer database complete or does it need to be modified?
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4067
Re: Hydrogen Solubility using Pitzer database
« Reply #5 on: 30/01/25 23:38 »
With pitzer.dat, I don't think Hdg solubility will change relative to changes in ionic strength; there are no Pitzer parameters that would change the activity coefficient with a change in ionic strength, although you could add parameters. There is no definition for H2(aq) or H2(g) in pitzer.dat.

With phreeqc.dat, the activity coefficient of an uncharged species will change with ionic strength as specified by -gamma option in SOLUTION_SPECIES. By default, I think the relation is log gamma = 0.3*I, where I is ionic strength. phreeqc.dat does use the Peng-Robinson equation of state for GAS_PHASE calculations (as does pitzer.dat).

When I was speaking of reactions, I was talking about redox reactions, where H2 is a strong reductant, and will react with any electron acceptor--O2(aq), Fe(3), SO4, CO3, and others. By using Hdg, you avoid these reactions.

Logged

MMMM

  • Frequent Contributor
  • Posts: 18
Re: Hydrogen Solubility using Pitzer database
« Reply #6 on: 31/01/25 00:13 »
Thank you very much for your kindness.
Logged

MMMM

  • Frequent Contributor
  • Posts: 18
Re: Hydrogen Solubility using Pitzer database
« Reply #7 on: 31/01/25 11:01 »
Dear Mr. Parkhurst
Since the reactions and hydrogen parameters were not defined in the Pitzer database, I tried to enter the necessary ones as follows. To check the accuracy of the results, I compared them with the experimental results. I determined the lambda parameter so that the results agree with the experimental results. At present, the solubility results at different salinities for NaCl and KCl are in agreement with the experiment, but for divalent salts such as MgCl2 and CaCl2, I do not have experimental data and took the lambda value as a guess.
Are the parameters I defined correct and sufficient?
I initially worked with the phreeqc.dat database, but I have heard that the activity coefficient values ​​in salt water are not accurate and that the Pitzer database works better. Is this true?
My main goal is to investigate the reactions between Brine, rock and hydrogen.
I would be very grateful for your guidance.
Code: [Select]
[DATABASE C:\phreeqc\database\PITZER.DAT


SOLUTION_MASTER_SPECIES
H(0) H2 0 H
N NO3- 0 N 14.0067
N(+5) NO3- 0 NO3
N(0) N2 0 N
O H2O 0 O 16.0
O(0) O2 0 O
O(-2) H2O 0 0

SOLUTION_SPECIES
NO3- = NO3-
-gamma 3.0 0
-dw 1.9e-9  184  1.85  3.85
-Vm  6.32  6.78  0  -3.06  0.346  0  0.93  0  -0.012  1
-viscosity  8.37e-2  -0.458  1.54e-2  0.340  1.79e-2  5.02e-2  0.7381

NO3- + 2 H+ + 2 e- = NO2- + H2O
-log_k 28.570
-delta_h -43.760 kcal
-gamma 3.0 0
-dw 1.91e-9
-Vm  5.5864  5.8590  3.4472  -3.0212  1.1847 # supcrt
2 NO3- + 12 H+ + 10 e- = N2 + 6 H2O
-log_k 207.08
-delta_h -312.130 kcal
-dw 1.96e-9  -90 # Cadogan et al. 2014, JCED 59, 519
-Vm 7 # Pray et al., 1952, IEC 44. 1146

2 H2O = O2 + 4 H+ + 4 e-
-log_k -86.08
-delta_h 134.79 kcal
-dw 2.35e-9
-Vm  5.7889  6.3536  3.2528  -3.0417  -0.3943 # supcrt
2 H+ + 2 e- = H2
-log_k -3.15
-delta_h -1.759 kcal
-dw 5.13e-9
-Vm 6.52  0.78  0.12 # supcrt

PHASES
H2(g)
H2 = H2
log_k -3.1015
delta_h -4.184 kJ
-analytic   -9.3114    4.6473e-3   -49.335    1.4341    1.2815e5
-T_c  33.2 # critical T, K
-P_c   12.80 # critical P, atm
-Omega -0.225 # acentric factor

O2(g)
O2 = O2
-log_k   -2.8983
-analytic -7.5001 7.8981e-3 0.0 0.0 2.0027e5
-T_c  154.6; -P_c   49.80; -Omega 0.021

N2(g)
N2 = N2
-log_k -3.1864
-analytic -58.453 1.818e-3  3199  17.909 -27460
-T_c  126.2; -P_c   33.50; -Omega 0.039


PITZER
-macinnes true
-use_etheta true
-redox true
-B0
Cl-       H+        0.1775        0           0          -3.081E-4
-B1
Cl-       H+        0.2945        0           0           1.419E-4
-C0
Cl-       H+        0.0008        0           0         6.213E-5 
-THETA
H+        Na+       0.036
-LAMDA
H2       Na+       0.058
H2       K+       0.058
H2       Mg+2       0.06612
H2 Ca+2    0.068
-ZETA
-PSI
Cl-       H+        Na+       -0.004
SOLUTION 1
    pressure 1        # atm  Pressure
    temp 20               # degree Celsius
    -water 1
    units mol/kgw          # ppm (Resrvoir Salinity )
 Na 5
 K 0
 Mg 0
 Ca 0
 Cl 5
END
gas_phase 1
      -fixed_pressure
      -pressure 102.07  #100 bar
     
      H2(g)  1e-20
      H2O(g) 1e-20
      CO2(g) 1e-20
      N2(g) 1e-20
      #CH4(g) 1e-20
END
 
EQUILIBRIUM_PHASES 1
 Calcite 0 10
 Dolomite 0 0
 Quartz 0 0
reaction 1
 H2(g) 1
 #0 5 10 20 30 50 100
 100
REACTION_PRESSURE 2
60
80
102.07
120
150
200
400

REACTION_TEMPERATURE 2
87.22
Save Solution 1



 USE solution  1
 USE GAS_PHASE 1
 USE EQUILIBRIUM_PHASES 1
 USE REACTION 1
 
 USER_GRAPH 1
-headings Time  H2 
-axis_titles "Pressure (atm)" "H2 Solubility in Water, mol/kgw"
-axis_scale x_axis auto auto auto aut
-axis_scale y_axis auto auto auto aut
initial_solutions true
-start
10 GRAPH_X pressure
20 GRAPH_Y mol("H2")
-end

USER_GRAPH 2
-headings  Temp Calcite Dolomite Quartz
-axis_titles "pressure" "Amount of dissolved Calcite, mol"
-axis_scale x_axis auto auto auto auto
-axis_scale y_axis auto auto auto auto
initial_solutions true
-start
10 GRAPH_X Pressure 
20 graph_y (EQUI_DELTA("Calcite"))
30 graph_sy (EQUI_DELTA("Dolomite"))
30 graph_sy (EQUI_DELTA("Quartz"))
-end
/code]
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4067
Re: Hydrogen Solubility using Pitzer database
« Reply #8 on: 31/01/25 15:34 »
You will have to decide whether the definitions suit your purpose; the file runs. I note that NO3- has no interaction parameters with other ions, so calculations with NO3- (and NO2-, which is probably unnecessary) would be suspect.

By defining H2 and O2, your calculations will be subject to redox reactions. H2 will react with O2, as well as other oxyanions like CO3- and SO4-2. I think in many cases, you will not want these reactions to occur.
Logged

MMMM

  • Frequent Contributor
  • Posts: 18
Re: Hydrogen Solubility using Pitzer database
« Reply #9 on: 31/01/25 16:00 »
Thank you for your explanation.
Logged

  • Print
Pages: [1]   Go Up
« previous next »
  • PhreeqcUsers Discussion Forum »
  • Conceptual Models »
  • Database selection and modification »
  • Hydrogen Solubility using Pitzer database
 

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