3.5-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
trichloroethene.hh
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 * See the file COPYING for full copying permissions. *
5 * *
6 * This program 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 3 of the License, or *
9 * (at your option) any later version. *
10 * *
11 * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. *
18 *****************************************************************************/
24#ifndef DUMUX_TRICHLOROETHENE_HH
25#define DUMUX_TRICHLOROETHENE_HH
26
28
32
33namespace Dumux {
34namespace Components {
35
42template <class Scalar>
44: public Components::Base<Scalar, Trichloroethene<Scalar> >
45, public Components::Liquid<Scalar, Trichloroethene<Scalar> >
46, public Components::Gas<Scalar, Trichloroethene<Scalar> >
47{
49
50public:
54 static std::string name()
55 { return "Trichloroethene"; }
56
60 static constexpr Scalar molarMass()
61 {
62 return 131.39e-3; // [kg/mol]
63 }
64
69 {
70 DUNE_THROW(Dune::NotImplemented, "criticalTemperature for TCE");
71 }
72
77 {
78 DUNE_THROW(Dune::NotImplemented, "criticalPressure for TCE");
79 }
80
85 {
86 DUNE_THROW(Dune::NotImplemented, "tripleTemperature for TCE");
87 }
88
93 {
94 DUNE_THROW(Dune::NotImplemented, "triplePressure for TCE");
95 }
96
104 {
105 return 3900; // [Pa] (at 20C)
106 }
107
111 static constexpr bool gasIsCompressible()
112 { return true; }
113
117 static constexpr bool liquidIsCompressible()
118 { return false; }
119
123 static constexpr bool liquidViscosityIsConstant()
124 { return true; }
125
133 {
136 pressure);
137 }
138
148
152 static constexpr bool gasIsIdeal()
153 { return true; }
154
162 {
163 return 1460.0; // [kg/m^3]
164 }
165
175
183 {
184 return 5.7e-4;// [Pa*s]
185 }
186};
187
188} // end namespace Components
189
190} // end namespace Dumux
191
192#endif
Interface for components that have a gas state.
Interface for components that have a liquid state.
Relations valid for an ideal gas.
Definition: adapt.hh:29
std::string temperature() noexcept
I/O name of temperature for equilibrium models.
Definition: name.hh:51
std::string pressure(int phaseIdx) noexcept
I/O name of pressure for multiphase systems.
Definition: name.hh:34
Base class for all components Components provide the thermodynamic relations for the liquid,...
Definition: components/base.hh:59
Scalar Scalar
export the scalar type used by the component
Definition: components/base.hh:63
Interface for components that have a gas state.
Definition: gas.hh:41
Interface for components that have a liquid state.
Definition: liquid.hh:41
A simple implementation of TCE as exemplary component for a dense NAPL.
Definition: trichloroethene.hh:47
static Scalar liquidDensity(Scalar temperature, Scalar pressure)
The density of pure TCE at a given pressure and temperature .
Definition: trichloroethene.hh:161
static constexpr bool gasIsIdeal()
Returns true if the gas phase is assumed to be ideal.
Definition: trichloroethene.hh:152
static Scalar tripleTemperature()
Returns the temperature at TCE's triple point.
Definition: trichloroethene.hh:84
static Scalar gasMolarDensity(Scalar temperature, Scalar pressure)
The molar density of steam in at a given pressure and temperature.
Definition: trichloroethene.hh:146
static constexpr bool liquidViscosityIsConstant()
Returns true if the liquid phase viscostiy is constant.
Definition: trichloroethene.hh:123
static Scalar liquidMolarDensity(Scalar temperature, Scalar pressure)
The molar density of pure TCE in at a given pressure and temperature.
Definition: trichloroethene.hh:173
static constexpr Scalar molarMass()
The molar mass in of TCE.
Definition: trichloroethene.hh:60
static Scalar triplePressure()
Returns the pressure at TCE's triple point.
Definition: trichloroethene.hh:92
static std::string name()
A human readable name for the dense NAPL TCE.
Definition: trichloroethene.hh:54
static constexpr bool gasIsCompressible()
Returns true if the gas phase is assumed to be compressible.
Definition: trichloroethene.hh:111
static Scalar criticalPressure()
Returns the critical pressure of TCE.
Definition: trichloroethene.hh:76
static Scalar gasDensity(Scalar temperature, Scalar pressure)
The density of steam at a given pressure and temperature .
Definition: trichloroethene.hh:132
static Scalar liquidViscosity(Scalar temperature, Scalar pressure)
The dynamic viscosity of pure TCE.
Definition: trichloroethene.hh:182
static Scalar vaporPressure(Scalar T)
The vapor pressure in of pure TCE at a given temperature.
Definition: trichloroethene.hh:103
static constexpr bool liquidIsCompressible()
Returns true if the liquid phase is assumed to be compressible.
Definition: trichloroethene.hh:117
static Scalar criticalTemperature()
Returns the critical temperature of TCE.
Definition: trichloroethene.hh:68
Relations valid for an ideal gas.
Definition: idealgas.hh:37
static constexpr Scalar density(Scalar avgMolarMass, Scalar temperature, Scalar pressure)
The density of the gas in , depending on pressure, temperature and average molar mass of the gas.
Definition: idealgas.hh:49
static constexpr Scalar molarDensity(Scalar temperature, Scalar pressure)
The molar density of the gas , depending on pressure and temperature.
Definition: idealgas.hh:70
Base class for all components Components provide the thermodynamic relations for the liquid,...