17#include <dune/common/math.hh> 
   38template <
class Scalar,
 
   39          class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
 
  152        static const Scalar f[] = {
 
  153            2.63500E-1, 7.48368E-6, 1.44611E-6, -3.80860E-10
 
  157        static const Scalar a[4][3] = {
 
  158            { +9633.6, -4080.0, +286.49 },
 
  159            { +166.58, +68.577, -4.6856 },
 
  160            { -0.90963, -0.36524, +0.249667E-1 },
 
  161            { +0.17965E-2, +0.71924E-3, -0.4900E-4 }
 
  164        const Scalar theta = T - 273.15;
 
  165        const Scalar salSat = f[0] + f[1]*theta + f[2]*theta*theta + f[3]*theta*theta*theta;
 
  175        const Scalar h_NaCl = (3.6710E4*T + 0.5*(6.2770E1)*T*T - ((6.6670E-2)/3)*T*T*T
 
  176                        +((2.8000E-5)/4)*(T*T*T*T))/(58.44E3)- 2.045698e+02; 
 
  182        for (
int i = 0; i<=3; i++) {
 
  183            for (
int j=0; j<=2; j++) {
 
  184                d_h = d_h + a[i][j] * power(theta, i) * power(m, j);
 
  189        const Scalar delta_h = (4.184/(1E3 + (58.44 * m)))*d_h;
 
 
  210        const Scalar eps = temperature*1e-8;
 
 
  309        const Scalar TempC = temperature - 273.15;
 
  310        const Scalar pMPa = pressure/1.0E6;
 
  315        const Scalar  density = rhow +
 
  328        assert(density > 0.0);
 
 
  364       const Scalar eps = pressure*1e-7;
 
  366       Scalar deltaP = pressure*2;
 
  369       for (
int i = 0; i < 5 && abs(pressure*1e-9) < abs(deltaP); ++i) {
 
  381       assert(pressure > 0.0);
 
 
  411        temperature = max(temperature, 275.0);
 
  417        const Scalar T_C = temperature - 273.15;
 
  418        const Scalar A = (0.42*power((pow(
salinity, 0.8)-0.17), 2) + 0.045)*pow(T_C, 0.8);
 
  420        assert(mu_brine > 0.0);
 
  421        return mu_brine/1000.0; 
 
 
  433            Scalar tempC = temperature-273.15;
 
  436            Scalar S = 5844.3 * m / (1000 + 58.443 *m);
 
  437            Scalar contribNaClFactor = 1.0 - (2.3434e-3 - 7.924e-6*tempC + 3.924e-8*tempC*tempC)*S + (1.06e-5 - 2.0e-8*tempC + 1.2e-10*tempC*tempC)*S*S;
 
 
 
  442template <
class Scalar, 
class H2O>
 
Base class for all components Components provide the thermodynamic relations for the liquid,...
Definition components/base.hh:46
ScalarType Scalar
export the scalar type used by the component
Definition components/base.hh:50
A class for the brine fluid properties.
Definition components/brine.hh:44
static Scalar liquidViscosity(Scalar temperature, Scalar pressure)
The dynamic viscosity  of pure brine.
Definition components/brine.hh:407
static const Scalar liquidEnthalpy(Scalar T, Scalar p)
Specific enthalpy of liquid brine .
Definition components/brine.hh:149
static Scalar molarMass()
The molar mass in  of brine. This assumes that the salt is pure NaCl.
Definition components/brine.hh:71
static Scalar gasMolarDensity(Scalar temperature, Scalar pressure)
The molar density of steam in  at a given pressure and temperature. We take the value of the H2O gas ...
Definition components/brine.hh:273
static Scalar tripleTemperature()
Returns the temperature  at brine's triple point. Here, it is assumed to be equal to that of pure wat...
Definition components/brine.hh:98
static Scalar gasPressure(Scalar temperature, Scalar density)
The pressure of steam in  at a given density and temperature.
Definition components/brine.hh:348
static const Scalar liquidInternalEnergy(Scalar temperature, Scalar pressure)
Specific internal energy of liquid brine .
Definition components/brine.hh:250
static Scalar salinity()
Return the constant salinity.
Definition components/brine.hh:61
static const Scalar gasHeatCapacity(Scalar temperature, Scalar pressure)
Specific isobaric heat capacity of water steam .
Definition components/brine.hh:226
static Scalar criticalPressure()
Returns the critical pressure  of brine. Here, it is assumed to be equal to that of pure water....
Definition components/brine.hh:91
static const Scalar gasEnthalpy(Scalar temperature, Scalar pressure)
Specific enthalpy of gaseous brine . Only water volatile and salt is suppose to stay in the liquid ph...
Definition components/brine.hh:134
static constexpr Scalar R
Definition components/brine.hh:50
static Scalar gasDensity(Scalar temperature, Scalar pressure)
The density of steam at a given pressure and temperature .
Definition components/brine.hh:262
static Scalar liquidPressure(Scalar temperature, Scalar density)
The pressure of brine in  at a given density and temperature.
Definition components/brine.hh:358
static Scalar liquidMolarDensity(Scalar temperature, Scalar pressure)
The molar density of brine in  at a given pressure and temperature.
Definition components/brine.hh:339
static Scalar vaporPressure(Scalar temperature)
The vapor pressure in  of pure brine at a given temperature.
Definition components/brine.hh:117
static Scalar triplePressure()
Returns the pressure  at brine's triple point. Here, it is assumed to be equal to that of pure water....
Definition components/brine.hh:105
static Scalar liquidThermalConductivity(Scalar temperature, Scalar pressure)
Thermal conductivity of a brine .
Definition components/brine.hh:431
static const Scalar liquidHeatCapacity(Scalar temperature, Scalar pressure)
Specific isobaric heat capacity of brine .
Definition components/brine.hh:208
static Scalar gasViscosity(Scalar temperature, Scalar pressure)
The dynamic viscosity  of steam.
Definition components/brine.hh:391
static constexpr bool liquidIsCompressible()
Returns true if the liquid phase is assumed to be compressible.
Definition components/brine.hh:291
Components::TabulatedComponent< Dumux::Components::H2O< Scalar > > H2O
Definition components/brine.hh:47
static std::string name()
A human readable name for the brine.
Definition components/brine.hh:55
static Scalar criticalTemperature()
Returns the critical temperature  of brine. Here, it is assumed to be equal to that of pure water....
Definition components/brine.hh:83
static const Scalar gasInternalEnergy(Scalar temperature, Scalar pressure)
Specific internal energy of steam .
Definition components/brine.hh:238
static constexpr bool gasIsCompressible()
Returns true if the gas phase is assumed to be compressible.
Definition components/brine.hh:285
static constexpr bool gasIsIdeal()
Returns true if the gas phase is assumed to be ideal.
Definition components/brine.hh:279
static Scalar liquidDensity(Scalar temperature, Scalar pressure)
The density of pure brine at a given pressure and temperature .
Definition components/brine.hh:306
Interface for components that have a gas state.
Definition gas.hh:28
Material properties of pure water .
Definition h2o.hh:48
Interface for components that have a liquid state.
Definition liquid.hh:28
static constexpr Scalar molarMass()
The molar mass of NaCl in .
Definition nacl.hh:47
Tabulates all thermodynamic properties of a given component.
Definition tabulatedcomponent.hh:672
static const Scalar gasEnthalpy(Scalar temperature, Scalar pressure)
Definition tabulatedcomponent.hh:817
static Scalar gasPressure(Scalar temperature, Scalar density)
Definition tabulatedcomponent.hh:911
static Scalar criticalTemperature()
Definition tabulatedcomponent.hh:763
static const Scalar gasHeatCapacity(Scalar temperature, Scalar pressure)
Definition tabulatedcomponent.hh:853
static Scalar liquidThermalConductivity(Scalar temperature, Scalar pressure)
Definition tabulatedcomponent.hh:1081
static Scalar gasDensity(Scalar temperature, Scalar pressure)
Definition tabulatedcomponent.hh:967
static const Scalar liquidEnthalpy(Scalar temperature, Scalar pressure)
Definition tabulatedcomponent.hh:835
static Scalar triplePressure()
Definition tabulatedcomponent.hh:781
static Scalar criticalPressure()
Definition tabulatedcomponent.hh:769
static const Scalar gasInternalEnergy(Scalar temperature, Scalar pressure)
Definition tabulatedcomponent.hh:889
static constexpr Scalar molarMass()
Definition tabulatedcomponent.hh:757
static Scalar gasViscosity(Scalar temperature, Scalar pressure)
Definition tabulatedcomponent.hh:1027
static Scalar tripleTemperature()
Definition tabulatedcomponent.hh:775
static constexpr bool liquidIsCompressible()
Definition tabulatedcomponent.hh:950
static Scalar liquidDensity(Scalar temperature, Scalar pressure)
Definition tabulatedcomponent.hh:997
static Scalar gasMolarDensity(Scalar temperature, Scalar pressure)
Definition tabulatedcomponent.hh:987
static Scalar vaporPressure(Scalar T)
Definition tabulatedcomponent.hh:790
static constexpr bool gasIsCompressible()
Definition tabulatedcomponent.hh:944
static constexpr bool gasIsIdeal()
Definition tabulatedcomponent.hh:956
static constexpr Scalar R
The ideal gas constant .
Definition constants.hh:32
Base class for all components Components provide the thermodynamic relations for the liquid,...
Interface for components that have a gas state.
T getParam(Args &&... args)
A free function to get a parameter from the parameter tree singleton.
Definition parameters.hh:139
Material properties of pure water .
Interface for components that have a liquid state.
Material properties of pure salt .
The infrastructure to retrieve run-time parameters from Dune::ParameterTrees.
IsAqueous struct.
Definition components/base.hh:34
Tabulates all thermodynamic properties of a given untabulated chemical species.