3.6-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
h2on2kinetic.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_H2O_N2_FLUID_SYSTEM_KINETIC_HH
25#define DUMUX_H2O_N2_FLUID_SYSTEM_KINETIC_HH
26
32
34
37
38namespace Dumux {
39namespace FluidSystems {
40
46template <class Scalar, class Policy = H2ON2DefaultPolicy<>>
48 public FluidSystems::H2ON2<Scalar, Policy>
49{
50private:
52
54public:
57
64 template <class FluidState>
65 static Scalar componentEnthalpy(FluidState &fluidState,
66 const int phaseIdx,
67 const int compIdx)
68 {
69 const Scalar T = fluidState.temperature(phaseIdx);
70 const Scalar p = fluidState.pressure(phaseIdx);
71
72 switch (phaseIdx){
74 switch(compIdx){
78 return ParentType::N2::gasEnthalpy(T, p); // TODO: should be liquid enthalpy
79 default:
80 DUNE_THROW(Dune::NotImplemented,
81 "wrong index");
82 break;
83 }// end switch compIdx
84 break;
86 switch(compIdx){
90 return ParentType::N2::gasEnthalpy(T, p);
91 default:
92 DUNE_THROW(Dune::NotImplemented,
93 "wrong index");
94 break;
95 }// end switch compIdx
96 break;
97 default:
98 DUNE_THROW(Dune::NotImplemented,
99 "wrong index");
100 break;
101 }// end switch phaseIdx
102 }
103
109 {
111 }
112
118 {
120 }
121};
122} // end namespace Fluidsystem
123} // end namespace Dumux
124
125#endif
Binary coefficients for water and nitrogen.
Material properties of pure water .
Properties of pure molecular nitrogen .
A simple implementation of pure water.
Tabulates all thermodynamic properties of a given untabulated chemical species.
Relations valid for an ideal gas.
Adaption of the non-isothermal two-phase two-component flow model to problems with CO2.
Definition: adapt.hh:29
std::string temperature() noexcept
I/O name of temperature for equilibrium models.
Definition: name.hh:51
static Scalar henry(Scalar temperature)
Henry coefficient for molecular nitrogen in liquid water.
Definition: h2o_n2.hh:48
static const Scalar gasEnthalpy(Scalar temperature, Scalar pressure)
Specific enthalpy of pure nitrogen gas.
Definition: n2.hh:176
static const Scalar gasEnthalpy(Scalar temperature, Scalar pressure)
Specific enthalpy of the gas .
Definition: tabulatedcomponent.hh:829
static const Scalar liquidEnthalpy(Scalar temperature, Scalar pressure)
Specific enthalpy of the liquid .
Definition: tabulatedcomponent.hh:847
static Scalar vaporPressure(Scalar T)
The vapor pressure in of the component at a given temperature.
Definition: tabulatedcomponent.hh:802
Scalar Scalar
export the scalar type
Definition: fluidsystems/base.hh:48
A two-phase fluid system with two components water Nitrogen for non-equilibrium models.
Definition: h2on2.hh:68
static constexpr int liquidPhaseIdx
index of the liquid phase
Definition: h2on2.hh:84
static constexpr int N2Idx
Definition: h2on2.hh:90
static constexpr int gasPhaseIdx
index of the gas phase
Definition: h2on2.hh:85
static constexpr int H2OIdx
Definition: h2on2.hh:89
A two-phase fluid system with two components water Nitrogen for non-equilibrium models....
Definition: h2on2kinetic.hh:49
static Scalar vaporPressure(Scalar temperature)
Return the vapor pressure of a component above one phase. .
Definition: h2on2kinetic.hh:117
static Scalar henry(Scalar temperature)
Return the Henry constant for a component in a phase. .
Definition: h2on2kinetic.hh:108
static Scalar componentEnthalpy(FluidState &fluidState, const int phaseIdx, const int compIdx)
Return the enthalpy of a component in a phase.
Definition: h2on2kinetic.hh:65
The a parameter cache which does nothing.
Definition: nullparametercache.hh:34
Relations valid for an ideal gas.
Definition: idealgas.hh:37
Fluid system base class.