Yes. I'd been looking at the equations in the papers and hadn't spotted that the text introduces a possible simplification. The authors state that this should be valid for temperatures up to at least 75°C (and I presume up to pressures of 600 bar, given the scope of the whole paper). That's a wide enough range to cover the conditions anticipated in the CSP cases.
Discrepancies between the Python calculations of CO2 solubilities and other calculations must be related to some other aspect of the formulation. As I've said previously, I haven't checked through all of the Python script.
Original Message:
Sent: 07-25-2024 08:41 AM
From: Bernd Flemisch
Subject: Calculation of CO2 solubility
Actually, the issue is addressed in the paragraph below (23) (in my case (B7)) in the paper, where they also suggest the simplification.
Original Message:
Sent: 07-25-2024 08:38 AM
From: Bernd Flemisch
Subject: Calculation of CO2 solubility
Thank you! My guess is that the simplification is made since the definition of b_mix contains the solubilities which are to be calculated. I will check how this can be resolved. I'd certainly appreciate any hint in this direction.
Original Message:
Sent: 07-25-2024 07:55 AM
From: David Element
Subject: Calculation of CO2 solubility
Thanks for replying to my query.
I haven't checked all of the equations in the Spycher-Pruess papers and the Python code, but I can highlight one area of simplification, which relates to the calculation of fugacity coefficients. The Spycher-Pruess equations for fugacity require Redlich-Kwong a and b parameters aCO2, aH2O, bCO2, bCO2 and mixing rules (giving amix and bmix). I have included below a couple of screen grabs of equations from the Spycher-Pruess paper:
· Spycher, N., Pruess, K., and Ennis-King, J. 2003. CO2-H2O Mixtures in the Geological Sequestration of CO2. I. Assessment and Calculation of Mutual Solubilities from 12 to 100°C and up to 600 Bar. Geochimica et Cosmochimica Acta 67 (16): 3015–3031.
In the Python script, b_CO2 is used instead of a bmix term. In the case of the CO2 fugacity calculation, I have highlighted below in red where the full equations imply a bmix term should be:
def fugacityCoefficientCO2(T, p, rhoCO2):
molarMassCO2 = 44.01e-3 # [kg/mol]
V = 1/(rhoCO2/molarMassCO2)*1e6 # molar volume [cm3/mol]
p_bar = p/1e5 # phase pressure in bar
a_CO2 = (7.54e7 - 4.13e4*T) # mixture parameter of Redlich-Kwong equation
b_CO2 = 27.8 # mixture parameter of Redlich-Kwong equation
R = 83.1446261815324 # universal gas constant [bar.cm3/mol.K]
lnPhiCO2 = math.log(V/(V - b_CO2)) + b_CO2/(V - b_CO2) \
- 2*a_CO2/(R*math.pow(T, 1.5)*b_CO2)*math.log((V + b_CO2)/V) \
+ a_CO2*b_CO2/(R*math.pow(T, 1.5)*b_CO2*b_CO2) \
*(math.log((V + b_CO2)/V) - b_CO2/(V + b_CO2)) \
- math.log(p_bar*V/(R*T))
return math.exp(lnPhiCO2)
def fugacityCoefficientH2O(T, p, rhoCO2):
molarMassCO2 = 44.01e-3 # [kg/mol]
V = 1/(rhoCO2/molarMassCO2)*1e6 # molar volume [cm3/mol]
p_bar = p/1e5 # phase pressure in bar
a_CO2 = (7.54e7 - 4.13e4*T) # mixture parameter of Redlich-Kwong equation
a_CO2_H2O = 7.89e7 # mixture parameter of Redlich-Kwong equation
b_CO2 = 27.8 # mixture parameter of Redlich-Kwong equation
b_H2O = 18.18 # mixture parameter of Redlich-Kwong equation
R = 83.1446261815324 # universal gas constant [bar.cm3/mol.K]
lnPhiH2O = math.log(V/(V - b_CO2)) + b_H2O/(V - b_CO2) \
- 2*a_CO2_H2O/(R*math.pow(T, 1.5)*b_CO2)*math.log((V + b_CO2)/V) \
+ a_CO2*b_H2O/(R*math.pow(T, 1.5)*b_CO2*b_CO2) \
*(math.log((V + b_CO2)/V) - b_CO2/(V + b_CO2)) \
- math.log(p_bar*V/(R*T))
return math.exp(lnPhiH2O)
There may be other simplifications. As I noted in my earlier post, I do not know whether differences between Python-calculated solubilities and other solubilities are due to such simplifications.
You asked about the data points on the plot I shared.
· The solubilities from simulators were obtained by from a 1d model initialised with a mixture of CO2 and H2O.
· The web-based calculation of CO2 solubility made use of the tool at https://www.zetaware.com/utilities/CO2/index.html (although other online CO2 property calculators are available).
· The published tables of CO2 solubility at 50°C were obtained from Mao, Zhang, Li and Liu (https://www.sciencedirect.com/science/article/abs/pii/S0009254113001241), although many other measured and calculated CO2/H2O solubility tables are available in the literature.
I have summarised solubility values in the attached Excel file, with values at 10, 30, 50 and 70°C.
Regards,
------------------------------
David Element
Reservoir Engineer
RPS Energy
Original Message:
Sent: 07-25-2024 02:32 AM
From: Bernd Flemisch
Subject: Calculation of CO2 solubility
Hi David,
Thank you for the detailed investigation! I was not aware of the fact that the script implements a simplified version. Can you let me know what exact simplification is done? I would also be interested in the data points of the plot so that I can do a comparison myself.
Kind regards
Bernd