24#ifndef DUMUX_PURE_WATER_FLUID_SYSTEM_HH
25#define DUMUX_PURE_WATER_FLUID_SYSTEM_HH
40namespace FluidSystems {
49template <
class Scalar>
51 :
public Base<Scalar, CombustionFluidsystem<Scalar> >
89 assert(0 <= phaseIdx && phaseIdx <
numPhases);
95 DUNE_THROW(Dune::InvalidStateException,
"Invalid phase index " << phaseIdx);
103 static constexpr bool isGas(
int phaseIdx)
105 assert(0 <= phaseIdx && phaseIdx <
numPhases);
125 assert(0 <= phaseIdx && phaseIdx <
numPhases);
143 assert(0 <= phaseIdx && phaseIdx <
numPhases);
159 assert(0 <= phaseIdx && phaseIdx <
numPhases);
190 static std::string name[] = {
196 return name[compIdx];
206 static const Scalar M[] = {
222 static const Scalar Tcrit[] = {
228 return Tcrit[compIdx];
238 static const Scalar pcrit[] = {
244 return pcrit[compIdx];
254 DUNE_THROW(Dune::NotImplemented,
"criticalMolarVolume()");
264 static const Scalar accFac[] = {
265 H2O::acentricFactor(),
270 return accFac[compIdx];
307 std::cout <<
"Using very simple pure water fluid system\n";
317 template <
class Flu
idState>
321 assert(0 <= phaseIdx && phaseIdx <
numPhases);
332 else DUNE_THROW(Dune::NotImplemented,
"Wrong phase index");
342 template <
class Flu
idState>
347 return density(fluidState, phaseIdx)/fluidState.averageMolarMass(phaseIdx);
351 return density(fluidState, phaseIdx)/fluidState.averageMolarMass(phaseIdx);
353 else DUNE_THROW(Dune::NotImplemented,
"Wrong phase index");
363 template <
class Flu
idState>
367 assert(0 <= phaseIdx && phaseIdx <
numPhases);
372 return 2.694e-7 *
density(fluidState, phaseIdx);
376 return 7.16e-6 *
density(fluidState, phaseIdx);
378 else DUNE_THROW(Dune::NotImplemented,
"Wrong phase index");
387 template <
class Flu
idState>
389 const unsigned int phaseIdx)
391 assert(0 <= phaseIdx && phaseIdx <
numPhases);
425 template <
class Flu
idState>
430 assert(0 <= phaseIdx && phaseIdx <
numPhases);
433 Scalar T = fluidState.temperature(phaseIdx);
434 Scalar p = fluidState.pressure(phaseIdx);
458 template <
class Flu
idState>
463 DUNE_THROW(Dune::NotImplemented,
"Diffusion coefficients");
477 template <
class Flu
idState>
484 DUNE_THROW(Dune::NotImplemented,
"Binary Diffusion coefficients");
494 template <
class Flu
idState>
498 assert(0 <= phaseIdx && phaseIdx <
numPhases);
512 else DUNE_THROW(Dune::NotImplemented,
"Wrong phase index");
524 template <
class Flu
idState>
528 assert(0 <= phaseIdx && phaseIdx <
numPhases);
538 else DUNE_THROW(Dune::NotImplemented,
"Wrong phase index");
549 template <
class Flu
idState>
553 assert(0 <= phaseIdx && phaseIdx <
numPhases);
563 else DUNE_THROW(Dune::NotImplemented,
"Wrong phase index");
Properties of pure molecular nitrogen .
A much simpler (and thus potentially less buggy) version of pure water.
Relations valid for an ideal gas.
Binary coefficients for water and nitrogen.
Some exceptions thrown in DuMux
Some templates to wrap the valgrind macros.
make the local view function available whenever we use the grid geometry
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
static Scalar henry(Scalar temperature)
Henry coefficient for molecular nitrogen in liquid water.
Definition: h2o_n2.hh:48
static Scalar vaporTemperature(Scalar pressure)
Returns the saturation temperature in of pure water at a given pressure.
Definition: region4.hh:94
Properties of pure molecular nitrogen .
Definition: n2.hh:47
static Scalar criticalTemperature()
Returns the critical temperature of molecular nitrogen.
Definition: n2.hh:66
static Scalar criticalPressure()
Returns the critical pressure of molecular nitrogen.
Definition: n2.hh:72
static std::string name()
A human readable name for nitrogen.
Definition: n2.hh:54
static constexpr Scalar molarMass()
The molar mass in of molecular nitrogen.
Definition: n2.hh:60
static constexpr bool gasIsIdeal()
Returns true if the gas phase is assumed to be ideal.
Definition: n2.hh:155
A much simpler (and thus potentially less buggy) version of pure water.
Definition: simpleh2o.hh:51
static Scalar criticalTemperature()
Returns the critical temperature of water.
Definition: simpleh2o.hh:72
static std::string name()
A human readable name for the water.
Definition: simpleh2o.hh:60
static Scalar criticalPressure()
Returns the critical pressure of water.
Definition: simpleh2o.hh:78
static constexpr Scalar molarMass()
The molar mass in of water.
Definition: simpleh2o.hh:66
static constexpr bool liquidIsCompressible()
Returns true if the liquid phase is assumed to be compressible.
Definition: simpleh2o.hh:198
static Scalar vaporPressure(Scalar T)
The vapor pressure in of pure water at a given temperature.
Definition: simpleh2o.hh:105
static constexpr bool gasIsIdeal()
Returns true if the gas phase is assumed to be ideal.
Definition: simpleh2o.hh:238
Fluid system base class.
Definition: fluidsystems/base.hh:45
Scalar Scalar
export the scalar type
Definition: fluidsystems/base.hh:48
static Scalar density(const FluidState &fluidState, int phaseIdx)
Calculate the density of a fluid phase.
Definition: fluidsystems/base.hh:134
static Scalar thermalConductivity(const FluidState &fluidState, int phaseIdx)
Thermal conductivity of a fluid phase .
Definition: fluidsystems/base.hh:390
static Scalar fugacityCoefficient(const FluidState &fluidState, int phaseIdx, int compIdx)
Calculate the fugacity coefficient of an individual component in a fluid phase.
Definition: fluidsystems/base.hh:197
static Scalar diffusionCoefficient(const FluidState &fluidState, int phaseIdx, int compIdx)
Calculate the binary molecular diffusion coefficient for a component in a fluid phase .
Definition: fluidsystems/base.hh:278
static Scalar binaryDiffusionCoefficient(const FluidState &fluidState, int phaseIdx, int compIIdx, int compJIdx)
Given a phase's composition, temperature and pressure, return the binary diffusion coefficient for c...
Definition: fluidsystems/base.hh:326
static Scalar enthalpy(const FluidState &fluidState, int phaseIdx)
Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy .
Definition: fluidsystems/base.hh:363
static Scalar molarDensity(const FluidState &fluidState, int phaseIdx)
Calculate the molar density of a fluid phase.
Definition: fluidsystems/base.hh:160
static Scalar viscosity(const FluidState &fluidState, int phaseIdx)
Calculate the dynamic viscosity of a fluid phase .
Definition: fluidsystems/base.hh:236
static Scalar heatCapacity(const FluidState &fluidState, int phaseIdx)
Specific isobaric heat capacity of a fluid phase .
Definition: fluidsystems/base.hh:424
Relations valid for an ideal gas.
Definition: idealgas.hh:37
A two-phase fluid system with water as sole component.
Definition: combustionfluidsystem.hh:52
static std::string phaseName(int phaseIdx)
Returns the human readable name of a fluid phase.
Definition: combustionfluidsystem.hh:87
static Scalar criticalPressure(int compIdx)
Critical pressure of a component .
Definition: combustionfluidsystem.hh:236
static Scalar heatCapacity(const FluidState &fluidState, int phaseIdx)
Specific isobaric heat capacity of a fluid phase. .
Definition: combustionfluidsystem.hh:550
static void init()
Initializes the fluid system's static parameters generically.
Definition: combustionfluidsystem.hh:283
static constexpr int numPhases
Number of phases in the fluid system.
Definition: combustionfluidsystem.hh:67
static constexpr int nPhaseIdx
Definition: combustionfluidsystem.hh:70
static constexpr int comp0Idx
Definition: combustionfluidsystem.hh:79
static constexpr int nCompIdx
Definition: combustionfluidsystem.hh:78
static bool isIdealMixture(int phaseIdx)
Returns true if and only if a fluid phase is assumed to be an ideal mixture.
Definition: combustionfluidsystem.hh:123
static constexpr int H2OIdx
Definition: combustionfluidsystem.hh:174
static constexpr int comp1Idx
Definition: combustionfluidsystem.hh:80
static constexpr int phase0Idx
Definition: combustionfluidsystem.hh:71
static constexpr bool isCompressible(int phaseIdx)
Returns true if and only if a fluid phase is assumed to be compressible.
Definition: combustionfluidsystem.hh:141
static Scalar acentricFactor(int compIdx)
The acentric factor of a component .
Definition: combustionfluidsystem.hh:262
static Scalar criticalMolarVolume(int compIdx)
Molar volume of a component at the critical point .
Definition: combustionfluidsystem.hh:252
static Scalar fugacityCoefficient(const FluidState &fluidState, int phaseIdx, int compIdx)
Calculates the fugacity coefficient of an individual component in a fluid phase.
Definition: combustionfluidsystem.hh:426
static Scalar diffusionCoefficient(const FluidState &fluidState, int phaseIdx, int compIdx)
Calculates the molecular diffusion coefficient for a component in a fluid phase .
Definition: combustionfluidsystem.hh:459
static Scalar binaryDiffusionCoefficient(const FluidState &fluidState, int phaseIdx, int compIIdx, int compJIdx)
Given a phase's composition, temperature and pressure, returns the binary diffusion coefficient for ...
Definition: combustionfluidsystem.hh:478
static Scalar criticalTemperature(int compIdx)
Critical temperature of a component .
Definition: combustionfluidsystem.hh:220
static Scalar enthalpy(const FluidState &fluidState, int phaseIdx)
Calculates specific enthalpy .
Definition: combustionfluidsystem.hh:495
static constexpr int phase1Idx
Definition: combustionfluidsystem.hh:72
static constexpr int N2Idx
Definition: combustionfluidsystem.hh:175
static Scalar thermalConductivity(const FluidState &fluidState, const int phaseIdx)
Thermal conductivity of a fluid phase .
Definition: combustionfluidsystem.hh:525
static constexpr int wPhaseIdx
Definition: combustionfluidsystem.hh:69
static Scalar molarMass(int compIdx)
Returns the molar mass of a component in .
Definition: combustionfluidsystem.hh:204
static constexpr bool isGas(int phaseIdx)
Returns whether a phase is gaseous.
Definition: combustionfluidsystem.hh:103
static Scalar density(const FluidState &fluidState, int phaseIdx)
Calculates the density of a fluid phase.
Definition: combustionfluidsystem.hh:318
static constexpr int wCompIdx
Definition: combustionfluidsystem.hh:77
static std::string componentName(int compIdx)
Returns the human readable name of a component.
Definition: combustionfluidsystem.hh:188
static constexpr int numComponents
Number of components in the fluid system.
Definition: combustionfluidsystem.hh:172
static Scalar vaporTemperature(const FluidState &fluidState, const unsigned int phaseIdx)
Calculates the temperature of vapor at a given pressure on the vapor pressure curve.
Definition: combustionfluidsystem.hh:388
static void init(Scalar tempMin, Scalar tempMax, unsigned nTemp, Scalar pressMin, Scalar pressMax, unsigned nPress)
Initializes the fluid system's static parameters using problem specific temperature and pressure rang...
Definition: combustionfluidsystem.hh:304
static Scalar molarDensity(const FluidState &fluidState, int phaseIdx)
The molar density of a fluid phase in .
Definition: combustionfluidsystem.hh:343
static bool isIdealGas(int phaseIdx)
Returns true if and only if a fluid phase is assumed to be an ideal gas.
Definition: combustionfluidsystem.hh:157
static Scalar viscosity(const FluidState &fluidState, int phaseIdx)
Calculates the dynamic viscosity of a fluid phase .
Definition: combustionfluidsystem.hh:364