version 3.8.0
Loading...
Searching...
No Matches
ch4.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_CH4_HH
13#define DUMUX_CH4_HH
14
16
17#include <cmath>
18
21
22namespace Dumux {
23namespace Components {
24
30template <class Scalar>
31class CH4
32: public Components::Base<Scalar, CH4<Scalar> >
33, public Components::Gas<Scalar, CH4<Scalar> >
34{
36
37public:
41 static std::string name()
42 { return "CH4"; }
43
47 static constexpr Scalar molarMass()
48 { return 16.043e-3; /* [kg/mol] */}
49
54 { return 190.4; /* [K] */ }
55
60 { return 46e5; /* [Pa] */ }
61
66 { return 90.7; /* [K] */ }
67
72 { return 0; /* [Pa] */ }
73
81 { DUNE_THROW(Dune::NotImplemented, "vaporPressure for CH4"); }
82
86 static constexpr bool gasIsCompressible()
87 { return true; }
88
95 static Scalar gasDensity(Scalar temperature, Scalar pressure)
96 {
97 // Assume an ideal gas
98 return IdealGas::density(molarMass(), temperature, pressure);
99 }
100
107 static Scalar gasMolarDensity(Scalar temperature, Scalar pressure)
108 { return IdealGas::molarDensity(temperature, pressure); }
109
113 static constexpr bool gasIsIdeal()
114 { return true; }
115
122 static Scalar gasPressure(Scalar temperature, Scalar density)
123 {
124 // Assume an ideal gas
125 return IdealGas::pressure(temperature, density/molarMass());
126 }
127
134 static const Scalar gasEnthalpy(Scalar temperature,
135 Scalar pressure)
136 {
137 return gasHeatCapacity(temperature, pressure) * temperature;
138 }
139
150 Scalar pressure)
151 {
152 // method of Joback
153 const Scalar cpVapA = 19.25;
154 const Scalar cpVapB = 0.05213;
155 const Scalar cpVapC = 1.197e-5;
156 const Scalar cpVapD = -1.132e-8;
157
158 return
159 1/molarMass()* // conversion from [J/(mol*K)] to [J/(kg*K)]
160 (cpVapA + T*
161 (cpVapB/2 + T*
162 (cpVapC/3 + T*
163 (cpVapD/4))));
164 }
165
180 static const Scalar gasInternalEnergy(Scalar temperature,
181 Scalar pressure)
182 {
183
184 return
185 gasEnthalpy(temperature, pressure) -
186 1/molarMass()* // conversion from [J/(mol K)] to [J/(kg K)]
187 IdealGas::R*temperature; // = pressure * spec. volume for an ideal gas
188 }
189
203 static Scalar gasViscosity(Scalar temperature, Scalar pressure)
204 {
205 const Scalar Tc = criticalTemperature();
206 const Scalar Vc = 98.6; // critical specific volume [cm^3/mol]
207 const Scalar omega = 0.011; // accentric factor
208 const Scalar M = molarMass() * 1e3; // molar mas [g/mol]
209 const Scalar dipole = 0.0; // dipole moment [debye]
210
211 using std::sqrt;
212 Scalar mu_r4 = 131.3 * dipole / sqrt(Vc * Tc);
213 mu_r4 *= mu_r4;
214 mu_r4 *= mu_r4;
215
216 using std::exp;
217 using std::pow;
218 Scalar Fc = 1 - 0.2756*omega + 0.059035*mu_r4;
219 Scalar Tstar = 1.2593 * temperature/Tc;
220 Scalar Omega_v =
221 1.16145*pow(Tstar, -0.14874) +
222 0.52487*exp(- 0.77320*Tstar) +
223 2.16178*exp(- 2.43787*Tstar);
224 Scalar mu = 40.785*Fc*sqrt(M*temperature)/(pow(Vc, 2./3)*Omega_v);
225
226 // conversion from micro poise to Pa s
227 return mu/1e6 / 10;
228 }
229};
230
231} // end namespace Components
232
233} // end namespace Dumux
234
235#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
Properties of pure molecular methane .
Definition ch4.hh:34
static Scalar gasPressure(Scalar temperature, Scalar density)
The pressure of gaseous in at a given density and temperature.
Definition ch4.hh:122
static Scalar triplePressure()
Returns the pressure at molecular methane's triple point.
Definition ch4.hh:71
static Scalar gasHeatCapacity(Scalar T, Scalar pressure)
Specific isobaric heat capacity of pure methane gas.
Definition ch4.hh:149
static Scalar gasViscosity(Scalar temperature, Scalar pressure)
The dynamic viscosity of at a given pressure and temperature.
Definition ch4.hh:203
static Scalar gasDensity(Scalar temperature, Scalar pressure)
The density of gas at a given pressure and temperature.
Definition ch4.hh:95
static Scalar gasMolarDensity(Scalar temperature, Scalar pressure)
The molar density of gas in , depending on pressure and temperature.
Definition ch4.hh:107
static Scalar vaporPressure(Scalar T)
The vapor pressure in of pure molecular methane at a given temperature.
Definition ch4.hh:80
static const Scalar gasEnthalpy(Scalar temperature, Scalar pressure)
Specific enthalpy of pure methane gas.
Definition ch4.hh:134
static Scalar criticalTemperature()
Returns the critical temperature of molecular methane.
Definition ch4.hh:53
static std::string name()
A human readable name for methane.
Definition ch4.hh:41
static Scalar criticalPressure()
Returns the critical pressure of molecular methane.
Definition ch4.hh:59
static constexpr Scalar molarMass()
The molar mass in of molecular methane.
Definition ch4.hh:47
static constexpr bool gasIsIdeal()
Returns true if the gas phase is assumed to be ideal.
Definition ch4.hh:113
static Scalar tripleTemperature()
Returns the temperature at molecular methane's triple point.
Definition ch4.hh:65
static constexpr bool gasIsCompressible()
Returns true if the gas phase is assumed to be compressible.
Definition ch4.hh:86
static const Scalar gasInternalEnergy(Scalar temperature, Scalar pressure)
Specific enthalpy of pure methane gas.
Definition ch4.hh:180
Interface for components that have a gas state.
Definition gas.hh:29
Relations valid for an ideal gas.
Definition idealgas.hh:25
static constexpr Scalar pressure(Scalar temperature, Scalar rhoMolar)
The pressure of the gas in , depending on the molar density and temperature.
Definition idealgas.hh:48
static constexpr Scalar R
The ideal gas constant .
Definition idealgas.hh:28
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.
Definition adapt.hh:17