version 3.10-dev
Dumux::Components::SimpleCO2< Scalar > Class Template Reference

A simple version of pure CO2. More...

#include <dumux/material/components/simpleco2.hh>

Inheritance diagram for Dumux::Components::SimpleCO2< Scalar >:

Description

template<class Scalar>
class Dumux::Components::SimpleCO2< Scalar >
Template Parameters
ScalarThe type used for scalar values

Public Types

using Scalar = Scalar
 export the scalar type used by the component More...
 

Static Public Member Functions

static std::string name ()
 A human readable name for the CO2. More...
 
static constexpr Scalar molarMass ()
 The mass in \(\mathrm{[kg/mol]}\) of one mole of CO2. More...
 
static Scalar criticalTemperature ()
 Returns the critical temperature \(\mathrm{[K]}\) of CO2. More...
 
static Scalar criticalPressure ()
 Returns the critical pressure \(\mathrm{[Pa]}\) of CO2. More...
 
static Scalar tripleTemperature ()
 Returns the temperature \(\mathrm{[K]}\) at CO2's triple point. More...
 
static Scalar triplePressure ()
 Returns the pressure \(\mathrm{[Pa]}\) at CO2's triple point. More...
 
static const Scalar gasEnthalpy (Scalar temperature, Scalar pressure)
 Specific enthalpy of CO2 \(\mathrm{[J/kg]}\). Shomate Equation is used for a temperature range of 298K to 6000K. More...
 
static const Scalar gasInternalEnergy (Scalar temperature, Scalar pressure)
 Specific internal energy of CO2 \(\mathrm{[J/kg]}\). More...
 
static constexpr bool gasIsCompressible ()
 Returns true if the gas phase is assumed to be compressible. More...
 
static constexpr bool gasViscosityIsConstant ()
 Returns true if the gas phase viscostiy is constant. More...
 
static Scalar gasDensity (Scalar temperature, Scalar pressure)
 The density \(\mathrm{[kg/m^3]}\) of CO2 at a given pressure and temperature. More...
 
static Scalar gasMolarDensity (Scalar temperature, Scalar pressure)
 The molar density of CO2 in \(\mathrm{[mol/m^3]}\) at a given pressure and temperature. More...
 
static constexpr bool gasIsIdeal ()
 Returns true if the gas phase is assumed to be ideal. More...
 
static Scalar gasPressure (Scalar temperature, Scalar density)
 The pressure of CO2 in \(\mathrm{[Pa]}\) at a given density and temperature. More...
 
static Scalar gasViscosity (Scalar temperature, Scalar pressure)
 The dynamic viscosity \(\mathrm{[Pa*s]}\) of CO2. Equations given in: - Vesovic et al., 1990. More...
 
static Scalar gasThermalConductivity (Scalar temperature, Scalar pressure)
 Thermal conductivity \(\mathrm{[[W/(m*K)]}\) of CO2. More...
 
static Scalar gasHeatCapacity (Scalar temperature, Scalar pressure)
 Specific isobaric heat capacity of CO2 \(\mathrm{[J/(kg*K)]}\). Shomate Equation is used for a temperature range of 298K to 6000K. More...
 
static void init (Scalar tempMin, Scalar tempMax, unsigned nTemp, Scalar pressMin, Scalar pressMax, unsigned nPress)
 A default routine for initialization, not needed for components and must not be called. More...
 
static Scalar vaporPressure (Scalar t)
 The vapor pressure in \(\mathrm{[Pa]}\) of the component at a given temperature in \(\mathrm{[K]}\). More...
 

Static Public Attributes

static const ShomateMethod shomateMethod
 Shomate parameters for carbon dioxide published by NIST [57] https://webbook.nist.gov/cgi/cbook.cgi?ID=C124389&Units=SI&Mask=1&Type=JANAFG&Table=on#JANAFG First row defines the temperature ranges, further rows give the parameters (A,B,C,D,E,F,G,H) for the respective temperature ranges. More...
 
static constexpr bool isTabulated
 if the component relies on tabulated values More...
 

Member Typedef Documentation

◆ Scalar

using Dumux::Components::Base< Scalar , SimpleCO2< Scalar > >::Scalar = Scalar
inherited

Member Function Documentation

◆ criticalPressure()

template<class Scalar >
static Scalar Dumux::Components::SimpleCO2< Scalar >::criticalPressure ( )
inlinestatic

◆ criticalTemperature()

template<class Scalar >
static Scalar Dumux::Components::SimpleCO2< Scalar >::criticalTemperature ( )
inlinestatic

◆ gasDensity()

template<class Scalar >
static Scalar Dumux::Components::SimpleCO2< Scalar >::gasDensity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

◆ gasEnthalpy()

template<class Scalar >
static const Scalar Dumux::Components::SimpleCO2< Scalar >::gasEnthalpy ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

◆ gasHeatCapacity()

template<class Scalar >
static Scalar Dumux::Components::SimpleCO2< Scalar >::gasHeatCapacity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

◆ gasInternalEnergy()

template<class Scalar >
static const Scalar Dumux::Components::SimpleCO2< Scalar >::gasInternalEnergy ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic
   Definition of enthalpy: \f$h= u + pv = u + p / \rho\f$.
   Rearranging for internal energy yields: \f$u = h - pv\f$.
   Exploiting the Ideal Gas assumption (\f$pv = R_{\textnormal{specific}} T\f$)gives: \f$u = h - R / M T \f$.

   The universal gas constant can only be used in the case of molar formulations.
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

◆ gasIsCompressible()

template<class Scalar >
static constexpr bool Dumux::Components::SimpleCO2< Scalar >::gasIsCompressible ( )
inlinestaticconstexpr

◆ gasIsIdeal()

template<class Scalar >
static constexpr bool Dumux::Components::SimpleCO2< Scalar >::gasIsIdeal ( )
inlinestaticconstexpr

◆ gasMolarDensity()

template<class Scalar >
static Scalar Dumux::Components::SimpleCO2< Scalar >::gasMolarDensity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

◆ gasPressure()

template<class Scalar >
static Scalar Dumux::Components::SimpleCO2< Scalar >::gasPressure ( Scalar  temperature,
Scalar  density 
)
inlinestatic
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
densitydensity of component in \(\mathrm{[kg/m^3]}\)

◆ gasThermalConductivity()

template<class Scalar >
static Scalar Dumux::Components::SimpleCO2< Scalar >::gasThermalConductivity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic

Thermal conductivity of CO2 at T=20°C, see: http://www.engineeringtoolbox.com/carbon-dioxide-d_1000.html

Parameters
temperatureabsolute temperature in \(\mathrm{[K]}\)
pressureof the phase in \(\mathrm{[Pa]}\)

◆ gasViscosity()

template<class Scalar >
static Scalar Dumux::Components::SimpleCO2< Scalar >::gasViscosity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic
  • Fenhour et al., 1998
    Parameters
    temperaturetemperature of component in \(\mathrm{[K]}\)
    pressurepressure of component in \(\mathrm{[Pa]}\) TODO: this does not look like a really "simple" parameterization. Can this be simplified further?

◆ gasViscosityIsConstant()

template<class Scalar >
static constexpr bool Dumux::Components::SimpleCO2< Scalar >::gasViscosityIsConstant ( )
inlinestaticconstexpr

◆ init()

static void Dumux::Components::Base< Scalar , SimpleCO2< Scalar > >::init ( Scalar  tempMin,
Scalar  tempMax,
unsigned  nTemp,
Scalar  pressMin,
Scalar  pressMax,
unsigned  nPress 
)
inlinestaticinherited
Parameters
tempMinThe minimum of the temperature range in \(\mathrm{[K]}\)
tempMaxThe maximum of the temperature range in \(\mathrm{[K]}\)
nTempThe number of entries/steps within the temperature range
pressMinThe minimum of the pressure range in \(\mathrm{[Pa]}\)
pressMaxThe maximum of the pressure range in \(\mathrm{[Pa]}\)
nPressThe number of entries/steps within the pressure range

This function throws a warning when called: "No init routine defined - make sure that this is not necessary!"

◆ molarMass()

template<class Scalar >
static constexpr Scalar Dumux::Components::SimpleCO2< Scalar >::molarMass ( )
inlinestaticconstexpr

◆ name()

template<class Scalar >
static std::string Dumux::Components::SimpleCO2< Scalar >::name ( )
inlinestatic

◆ triplePressure()

template<class Scalar >
static Scalar Dumux::Components::SimpleCO2< Scalar >::triplePressure ( )
inlinestatic

◆ tripleTemperature()

template<class Scalar >
static Scalar Dumux::Components::SimpleCO2< Scalar >::tripleTemperature ( )
inlinestatic

◆ vaporPressure()

static Scalar Dumux::Components::Base< Scalar , SimpleCO2< Scalar > >::vaporPressure ( Scalar  t)
inlinestaticinherited
Parameters
ttemperature of the component in \(\mathrm{[K]}\)

Member Data Documentation

◆ isTabulated

constexpr bool Dumux::Components::Base< Scalar , SimpleCO2< Scalar > >::isTabulated
staticconstexprinherited

◆ shomateMethod

template<class Scalar >
const SimpleCO2< Scalar >::ShomateMethod Dumux::Components::SimpleCO2< Scalar >::shomateMethod
static
Initial value:
{
{298.0, 1200.0, 6000.0},
{24.99735, 55.18696, -33.69137, 7.948387, -0.136638, -403.6075, 228.2431, -393.5224},
{58.16639, 2.720074, -0.492289, 0.038844, -6.447293, -425.9186, 263.6125, -393.5224}
}}
}
std::conditional_t< intervals==-1, std::vector< CoefficientSet >, std::array< CoefficientSet, std::size_t(intervals)> > Coefficients
Definition: shomate.hh:56

The documentation for this class was generated from the following file: