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  Copyright (C) 2009-2013 by Andreas Lauser
5 
6  This file is part of the Open Porous Media project (OPM).
7 
8  OPM is free software: you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation, either version 2 of the License, or
11  (at your option) any later version.
12 
13  OPM is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with OPM. If not, see <http://www.gnu.org/licenses/>.
20 */
26 #ifndef OPM_BINARY_COEFF_H2O_CO2_HPP
27 #define OPM_BINARY_COEFF_H2O_CO2_HPP
28 
31 
34 
35 namespace Opm {
36 namespace BinaryCoeff {
37 
42 class H2O_CO2
43 {
44 public:
55  template <class Scalar, class Evaluation = Scalar>
56  static Evaluation henry(const Evaluation& temperature)
57  {
58  const Scalar E = 1672.9376;
59  const Scalar F = 28.1751;
60  const Scalar G = -112.4619;
61  const Scalar H = 85.3807;
62 
63  return henryIAPWS(E, F, G, H, temperature);
64  }
65 
71  template <class Scalar, class Evaluation = Scalar>
72  static Evaluation gasDiffCoeff(const Evaluation& temperature, const Evaluation& pressure)
73  {
74  typedef Opm::H2O<Scalar> H2O;
76 
77  // atomic diffusion volumes
78  const Scalar SigmaNu[2] = { 13.1 /* H2O */, 26.9 /* CO2 */ };
79  // molar masses [g/mol]
80  const Scalar M[2] = { H2O::molarMass()*1e3, CO2::molarMass()*1e3 };
81 
82  return fullerMethod(M, SigmaNu, temperature, pressure);
83  }
84 
88  template <class Scalar, class Evaluation = Scalar>
89  static Evaluation liquidDiffCoeff(const Evaluation& /*temperature*/, const Evaluation& /*pressure*/)
90  { OPM_THROW(std::runtime_error, "Not implemented: Binary liquid diffusion coefficients of CO2 and CH4"); }
91 };
92 
93 } // namespace BinaryCoeff
94 } // namespace Opm
95 
96 #endif
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:55
static Evaluation gasDiffCoeff(const Evaluation &temperature, const Evaluation &pressure)
Binary diffusion coefficent [m^2/s] for molecular water and CO2.
Definition: H2O_CO2.hpp:72
Material properties of pure water .
Definition: H2O.hpp:60
Definition: Air_Mesitylene.hpp:31
Binary coefficients for water and CO2.
Definition: H2O_CO2.hpp:42
A class for the CO2 fluid properties.
Definition: CO2.hpp:52
The IAPWS formulation of Henry coefficients in water.
Material properties of pure water .
static Scalar molarMass()
The mass in [kg] of one mole of CO2.
Definition: CO2.hpp:67
Estimate binary diffusion coefficents in gases according to the method by Fuller.
A simplistic class representing the fluid properties.
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:44
static Evaluation henry(const Evaluation &temperature)
Henry coefficent for molecular CO2 in liquid water.
Definition: H2O_CO2.hpp:56
static Evaluation liquidDiffCoeff(const Evaluation &, const Evaluation &)
Diffusion coefficent [m^2/s] for molecular CO2 in liquid water.
Definition: H2O_CO2.hpp:89
A simplistic class representing the fluid properties.
Definition: SimpleCO2.hpp:46
static const Scalar molarMass()
The molar mass in of water.
Definition: H2O.hpp:79