version 3.8
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// SPDX-FileCopyrightInfo: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5// SPDX-License-Identifier: GPL-3.0-or-later
6//
12#ifndef DUMUX_TRICHLOROETHENE_HH
13#define DUMUX_TRICHLOROETHENE_HH
14
16
20
21namespace Dumux {
22namespace Components {
23
30template <class Scalar>
32: public Components::Base<Scalar, Trichloroethene<Scalar> >
33, public Components::Liquid<Scalar, Trichloroethene<Scalar> >
34, public Components::Gas<Scalar, Trichloroethene<Scalar> >
35{
37
38public:
42 static std::string name()
43 { return "Trichloroethene"; }
44
48 static constexpr Scalar molarMass()
49 {
50 return 131.39e-3; // [kg/mol]
51 }
52
57 {
58 DUNE_THROW(Dune::NotImplemented, "criticalTemperature for TCE");
59 }
60
65 {
66 DUNE_THROW(Dune::NotImplemented, "criticalPressure for TCE");
67 }
68
73 {
74 DUNE_THROW(Dune::NotImplemented, "tripleTemperature for TCE");
75 }
76
81 {
82 DUNE_THROW(Dune::NotImplemented, "triplePressure for TCE");
83 }
84
92 {
93 return 3900; // [Pa] (at 20C)
94 }
95
99 static constexpr bool gasIsCompressible()
100 { return true; }
101
105 static constexpr bool liquidIsCompressible()
106 { return false; }
107
111 static constexpr bool liquidViscosityIsConstant()
112 { return true; }
113
121 {
124 pressure);
125 }
126
136
140 static constexpr bool gasIsIdeal()
141 { return true; }
142
150 {
151 return 1460.0; // [kg/m^3]
152 }
153
163
171 {
172 return 5.7e-4;// [Pa*s]
173 }
174};
175
176} // end namespace Components
177
178} // end namespace Dumux
179
180#endif
Base class for all components Components provide the thermodynamic relations for the liquid,...
Definition: components/base.hh:47
Scalar Scalar
export the scalar type used by the component
Definition: components/base.hh:51
Interface for components that have a gas state.
Definition: gas.hh:29
Interface for components that have a liquid state.
Definition: liquid.hh:29
A simple implementation of TCE as exemplary component for a dense NAPL.
Definition: trichloroethene.hh:35
static Scalar liquidDensity(Scalar temperature, Scalar pressure)
The density of pure TCE at a given pressure and temperature .
Definition: trichloroethene.hh:149
static constexpr bool gasIsIdeal()
Returns true if the gas phase is assumed to be ideal.
Definition: trichloroethene.hh:140
static Scalar tripleTemperature()
Returns the temperature at TCE's triple point.
Definition: trichloroethene.hh:72
static Scalar gasMolarDensity(Scalar temperature, Scalar pressure)
The molar density of steam in at a given pressure and temperature.
Definition: trichloroethene.hh:134
static constexpr bool liquidViscosityIsConstant()
Returns true if the liquid phase viscostiy is constant.
Definition: trichloroethene.hh:111
static Scalar liquidMolarDensity(Scalar temperature, Scalar pressure)
The molar density of pure TCE in at a given pressure and temperature.
Definition: trichloroethene.hh:161
static constexpr Scalar molarMass()
The molar mass in of TCE.
Definition: trichloroethene.hh:48
static Scalar triplePressure()
Returns the pressure at TCE's triple point.
Definition: trichloroethene.hh:80
static std::string name()
A human readable name for the dense NAPL TCE.
Definition: trichloroethene.hh:42
static constexpr bool gasIsCompressible()
Returns true if the gas phase is assumed to be compressible.
Definition: trichloroethene.hh:99
static Scalar criticalPressure()
Returns the critical pressure of TCE.
Definition: trichloroethene.hh:64
static Scalar gasDensity(Scalar temperature, Scalar pressure)
The density of steam at a given pressure and temperature .
Definition: trichloroethene.hh:120
static Scalar liquidViscosity(Scalar temperature, Scalar pressure)
The dynamic viscosity of pure TCE.
Definition: trichloroethene.hh:170
static Scalar vaporPressure(Scalar T)
The vapor pressure in of pure TCE at a given temperature.
Definition: trichloroethene.hh:91
static constexpr bool liquidIsCompressible()
Returns true if the liquid phase is assumed to be compressible.
Definition: trichloroethene.hh:105
static Scalar criticalTemperature()
Returns the critical temperature of TCE.
Definition: trichloroethene.hh:56
Relations valid for an ideal gas.
Definition: idealgas.hh:25
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:37
static constexpr Scalar molarDensity(Scalar temperature, Scalar pressure)
The molar density of the gas , depending on pressure and temperature.
Definition: idealgas.hh:58
Base class for all components Components provide the thermodynamic relations for the liquid,...
Interface for components that have a gas state.
Relations valid for an ideal gas.
Interface for components that have a liquid state.
std::string temperature() noexcept
I/O name of temperature for equilibrium models.
Definition: name.hh:39
std::string pressure(int phaseIdx) noexcept
I/O name of pressure for multiphase systems.
Definition: name.hh:22
Definition: adapt.hh:17