H2O_CO2.hpp
Go to the documentation of this file.
1// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2// vi: set et ts=4 sw=4 sts=4:
3/*
4 This file is part of the Open Porous Media project (OPM).
5
6 OPM is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 2 of the License, or
9 (at your option) any later version.
10
11 OPM is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with OPM. If not, see <http://www.gnu.org/licenses/>.
18
19 Consult the COPYING file in the top-level source directory of this
20 module for the precise wording of the license and the list of
21 copyright holders.
22*/
28#ifndef OPM_BINARY_COEFF_H2O_CO2_HPP
29#define OPM_BINARY_COEFF_H2O_CO2_HPP
30
33
36
37namespace Opm {
38namespace BinaryCoeff {
39
45{
46public:
57 template <class Scalar, class Evaluation = Scalar>
58 static Evaluation henry(const Evaluation& temperature)
59 {
60 const Scalar E = 1672.9376;
61 const Scalar F = 28.1751;
62 const Scalar G = -112.4619;
63 const Scalar H = 85.3807;
64
65 return henryIAPWS(E, F, G, H, temperature);
66 }
67
73 template <class Scalar, class Evaluation = Scalar>
74 static Evaluation gasDiffCoeff(const Evaluation& temperature, const Evaluation& pressure)
75 {
76 typedef H2O<Scalar> H2O;
77 typedef SimpleCO2<Scalar> CO2;
78
79 // atomic diffusion volumes
80 const Scalar SigmaNu[2] = { 13.1 /* H2O */, 26.9 /* CO2 */ };
81 // molar masses [g/mol]
82 const Scalar M[2] = { H2O::molarMass()*1e3, CO2::molarMass()*1e3 };
83
84 return fullerMethod(M, SigmaNu, temperature, pressure);
85 }
86
90 template <class Scalar, class Evaluation = Scalar>
91 static Evaluation liquidDiffCoeff(const Evaluation& /*temperature*/, const Evaluation& /*pressure*/)
92 { throw std::runtime_error("Not implemented: Binary liquid diffusion coefficients of CO2 and CH4"); }
93};
94
95} // namespace BinaryCoeff
96} // namespace Opm
97
98#endif
The IAPWS formulation of Henry coefficients in water.
Binary coefficients for water and CO2.
Definition: H2O_CO2.hpp:45
static Evaluation gasDiffCoeff(const Evaluation &temperature, const Evaluation &pressure)
Binary diffusion coefficent [m^2/s] for molecular water and CO2.
Definition: H2O_CO2.hpp:74
static Evaluation henry(const Evaluation &temperature)
Henry coefficent for molecular CO2 in liquid water.
Definition: H2O_CO2.hpp:58
static Evaluation liquidDiffCoeff(const Evaluation &, const Evaluation &)
Diffusion coefficent [m^2/s] for molecular CO2 in liquid water.
Definition: H2O_CO2.hpp:91
A class for the CO2 fluid properties.
Definition: CO2.hpp:53
static Scalar molarMass()
The mass in [kg] of one mole of CO2.
Definition: CO2.hpp:66
Material properties of pure water .
Definition: H2O.hpp:62
static const Scalar molarMass()
The molar mass in of water.
Definition: H2O.hpp:80
A simplistic class representing the fluid properties.
Definition: SimpleCO2.hpp:51
Evaluation fullerMethod(const Scalar *M, const Scalar *SigmaNu, const Evaluation &temperature, const Evaluation &pressure)
Estimate binary diffusion coefficents in gases according to the method by Fuller.
Definition: FullerMethod.hpp:56
Definition: Air_Mesitylene.hpp:34
Evaluation henryIAPWS(Scalar E, Scalar F, Scalar G, Scalar H, const Evaluation &temperature)
The Henry constants in liquid water using the IAPWS 2004 formulation.
Definition: HenryIapws.hpp:45