25#ifndef DUMUX_ISOIMMISCIBLE_FLUID_STATE_HH
26#define DUMUX_ISOIMMISCIBLE_FLUID_STATE_HH
30#include <dune/common/exceptions.hh>
40template <
class ScalarType,
class Flu
idSystem>
44 static constexpr int numPhases = FluidSystem::numPhases;
54 template <class FluidState, typename std::enable_if_t<!std::is_same<FluidState, IsothermalImmiscibleFluidState>::value,
int> = 0>
88 {
return (phaseIdx == compIdx) ? 1.0 : 0.0; }
99 {
return (phaseIdx == compIdx) ? 1.0 : 0.0; }
113 {
return FluidSystem::molarMass(phaseIdx); }
138 {
return phaseIdx == compIdx ?
pressure(phaseIdx) : 0.0; }
149 {
return phaseIdx == compIdx ? 1.0 : std::numeric_limits<Scalar>::infinity(); }
200 { DUNE_THROW(Dune::NotImplemented,
"No enthalpy() function defined for isothermal systems!"); }
210 { DUNE_THROW(Dune::NotImplemented,
"No internalEnergy() function defined for isothermal systems!"); }
229 template <
class Flu
idState>
232 for (
int phaseIdx = 0; phaseIdx <
numPhases; ++phaseIdx)
234 pressure_[phaseIdx] = fs.pressure(phaseIdx);
236 density_[phaseIdx] = fs.density(phaseIdx);
238 viscosity_[phaseIdx] = fs.viscosity(phaseIdx);
make the local view function available whenever we use the grid geometry
Definition: adapt.hh:29
Represents all relevant thermodynamic quantities of a multi-phase fluid system assuming immiscibility...
Definition: isothermalimmiscible.hh:42
IsothermalImmiscibleFluidState & operator=(const IsothermalImmiscibleFluidState &fs)=default
Scalar massFraction(int phaseIdx, int compIdx) const
Returns the mass fraction of component in fluid phase in .
Definition: isothermalimmiscible.hh:98
static constexpr int numComponents
Definition: isothermalimmiscible.hh:45
Scalar averageMolarMass(int phaseIdx) const
The average molar mass of phase in .
Definition: isothermalimmiscible.hh:112
Scalar temperature() const
The temperature within the domain .
Definition: isothermalimmiscible.hh:186
Scalar viscosity(int phaseIdx) const
The dynamic viscosity of fluid phase in .
Definition: isothermalimmiscible.hh:215
Scalar molarVolume(int phaseIdx) const
The molar volume of a fluid phase in .
Definition: isothermalimmiscible.hh:156
Scalar density_[numPhases]
Definition: isothermalimmiscible.hh:282
void setDensity(int phaseIdx, Scalar value)
Set the density of a phase .
Definition: isothermalimmiscible.hh:264
Scalar viscosity_[numPhases]
Definition: isothermalimmiscible.hh:284
Scalar internalEnergy(int phaseIdx) const
The specific internal energy of a fluid phase in .
Definition: isothermalimmiscible.hh:209
Scalar fugacityCoefficient(int phaseIdx, int compIdx) const
The fugacity coefficient of component in fluid phase in .
Definition: isothermalimmiscible.hh:148
void setMolarDensity(int phaseIdx, Scalar value)
Set the molar density of a phase .
Definition: isothermalimmiscible.hh:270
void setSaturation(int phaseIdx, Scalar value)
Set the saturation of a phase .
Definition: isothermalimmiscible.hh:258
Scalar molarity(int phaseIdx, int compIdx) const
The molar concentration of component in fluid phase in .
Definition: isothermalimmiscible.hh:124
Scalar pressure_[numPhases]
Definition: isothermalimmiscible.hh:280
IsothermalImmiscibleFluidState()=default
default constructor
Scalar saturation_[numPhases]
Definition: isothermalimmiscible.hh:281
Scalar density(int phaseIdx) const
The mass density of the fluid phase in .
Definition: isothermalimmiscible.hh:163
Scalar temperature(int phaseIdx) const
The temperature of a fluid phase .
Definition: isothermalimmiscible.hh:180
Scalar pressure(int phaseIdx) const
The pressure of a fluid phase in .
Definition: isothermalimmiscible.hh:192
IsothermalImmiscibleFluidState & operator=(IsothermalImmiscibleFluidState &&fs)=default
void setViscosity(int phaseIdx, Scalar value)
Set the dynamic viscosity of a phase .
Definition: isothermalimmiscible.hh:276
Scalar temperature_
Definition: isothermalimmiscible.hh:285
void setPressure(int phaseIdx, Scalar value)
Set the fluid pressure of a phase .
Definition: isothermalimmiscible.hh:252
IsothermalImmiscibleFluidState(const FluidState &fs)
copy constructor from arbitrary fluid state
Definition: isothermalimmiscible.hh:55
IsothermalImmiscibleFluidState(IsothermalImmiscibleFluidState &&fs)=default
void assign(const FluidState &fs)
Retrieve all parameters from an arbitrary fluid state.
Definition: isothermalimmiscible.hh:230
Scalar moleFraction(int phaseIdx, int compIdx) const
Returns the molar fraction of the component in fluid phase in .
Definition: isothermalimmiscible.hh:87
Scalar fugacity(int phaseIdx, int compIdx) const
The fugacity of component in fluid phase in .
Definition: isothermalimmiscible.hh:137
Scalar molarDensity(int phaseIdx) const
The molar density of a fluid phase in .
Definition: isothermalimmiscible.hh:174
void setTemperature(Scalar value)
Set the temperature of a fluid phase.
Definition: isothermalimmiscible.hh:246
Scalar enthalpy(int phaseIdx) const
The specific enthalpy of a fluid phase in This is not defined for an isothermal fluidstate.
Definition: isothermalimmiscible.hh:199
Scalar saturation(int phaseIdx) const
Returns the saturation of a fluid phase in .
Definition: isothermalimmiscible.hh:75
Scalar molarDensity_[numPhases]
Definition: isothermalimmiscible.hh:283
static constexpr int numPhases
Definition: isothermalimmiscible.hh:44
ScalarType Scalar
export the scalar type
Definition: isothermalimmiscible.hh:48
IsothermalImmiscibleFluidState(const IsothermalImmiscibleFluidState &fs)=default