Dnapl.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  Copyright (C) 2010-2012 by Markus Wolff
6 
7  This file is part of the Open Porous Media project (OPM).
8 
9  OPM is free software: you can redistribute it and/or modify
10  it under the terms of the GNU General Public License as published by
11  the Free Software Foundation, either version 2 of the License, or
12  (at your option) any later version.
13 
14  OPM is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  GNU General Public License for more details.
18 
19  You should have received a copy of the GNU General Public License
20  along with OPM. If not, see <http://www.gnu.org/licenses/>.
21 */
26 #ifndef OPM_DNAPL_HPP
27 #define OPM_DNAPL_HPP
28 
29 #include "Component.hpp"
30 
33 
34 namespace Opm {
45 template <class Scalar>
46 class DNAPL : public Component<Scalar, DNAPL<Scalar> >
47 {
48 public:
52  static const char *name()
53  { return "DNAPL"; }
54 
58  static bool gasIsIdeal()
59  { return true; }
60 
64  static bool gasIsCompressible()
65  { return true; }
66 
70  static bool liquidIsCompressible()
71  { return false; }
72 
76  static Scalar molarMass()
77  {
78  return 131.39e-3; // [kg/mol]
79  }
80 
87  template <class Evaluation>
88  static Evaluation vaporPressure(const Evaluation& /*T*/)
89  {
90  return 3900; // [Pa] (at 20C)
91  }
92 
99  template <class Evaluation>
100  static Evaluation gasDensity(const Evaluation& temperature, const Evaluation& pressure)
101  {
102  return IdealGas<Scalar>::density(Evaluation(molarMass()),
103  temperature,
104  pressure);
105  }
106 
113  template <class Evaluation>
114  static Evaluation liquidDensity(const Evaluation& /*temperature*/, const Evaluation& /*pressure*/)
115  {
116  return 1460.0; // [kg/m^3]
117  }
118 
125  template <class Evaluation>
126  static Evaluation liquidViscosity(const Evaluation& /*temperature*/, const Evaluation& /*pressure*/)
127  {
128  return 5.7e-4; // [Pa s]
129  }
130 
137  template <class Evaluation>
138  static Evaluation liquidEnthalpy(const Evaluation& temperature, const Evaluation& /*pressure*/)
139  {
140  return 120.0/molarMass() * temperature; // [J/kg]
141  }
142 
151  template <class Evaluation>
152  static Evaluation liquidThermalConductivity(const Evaluation& /*temperature*/, const Evaluation& /*pressure*/)
153  {
154  return 0.3;
155  }
156 };
157 
158 } // namespace Opm
159 
160 #endif
Abstract base class of a pure chemical species.
Definition: Component.hpp:42
static Evaluation liquidViscosity(const Evaluation &, const Evaluation &)
The dynamic viscosity of pure TCE.
Definition: Dnapl.hpp:126
Definition: Air_Mesitylene.hpp:31
Scalar Scalar
Definition: Component.hpp:45
static Evaluation liquidEnthalpy(const Evaluation &temperature, const Evaluation &)
The enthalpy of pure TCE at a given pressure and temperature .
Definition: Dnapl.hpp:138
static const char * name()
A human readable name for the TCE.
Definition: Dnapl.hpp:52
static Evaluation gasDensity(const Evaluation &temperature, const Evaluation &pressure)
The density of steam at a given pressure and temperature .
Definition: Dnapl.hpp:100
static Evaluation liquidThermalConductivity(const Evaluation &, const Evaluation &)
Specific heat conductivity of liquid TCE .
Definition: Dnapl.hpp:152
A simple implementation of a dense non-aqueous phase liquid (DNAPL).
Definition: Dnapl.hpp:46
static Evaluation vaporPressure(const Evaluation &)
The vapor pressure in of pure TCE at a given temperature.
Definition: Dnapl.hpp:88
static bool gasIsIdeal()
Returns true iff the gas phase is assumed to be ideal.
Definition: Dnapl.hpp:58
Relations valid for an ideal gas.
static Scalar molarMass()
The molar mass in of TCE.
Definition: Dnapl.hpp:76
static bool liquidIsCompressible()
Returns true iff the liquid phase is assumed to be compressible.
Definition: Dnapl.hpp:70
Abstract base class of a pure chemical species.
static bool gasIsCompressible()
Returns true iff the gas phase is assumed to be compressible.
Definition: Dnapl.hpp:64
static Evaluation density(const Evaluation &avgMolarMass, const Evaluation &temperature, const Evaluation &pressure)
The density of the gas in , depending on pressure, temperature and average molar mass of the gas...
Definition: IdealGas.hpp:46
static Evaluation liquidDensity(const Evaluation &, const Evaluation &)
The density of pure TCE at a given pressure and temperature .
Definition: Dnapl.hpp:114
A traits class which provides basic mathematical functions for arbitrary scalar floating point values...