Opm::SomertonThermalConductionLaw< FluidSystem, ScalarT, ParamsT > Class Template Reference

Implements the Somerton law of thermal conductivity in a porous medium. More...

#include <SomertonThermalConductionLaw.hpp>

Public Types

typedef ParamsT Params
 
typedef Params::Scalar Scalar
 

Static Public Member Functions

template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation thermalConductivity (const Params &params, const FluidState &fluidState)
 Given a fluid state, return the effective thermal conductivity [W/m^2 / (K/m)] of the porous medium. More...
 

Static Protected Member Functions

template<class Evaluation >
static Evaluation regularizedSqrt_ (const Evaluation &x)
 

Detailed Description

template<class FluidSystem, class ScalarT, class ParamsT = SomertonThermalConductionLawParams<FluidSystem::numPhases, ScalarT>>
class Opm::SomertonThermalConductionLaw< FluidSystem, ScalarT, ParamsT >

Implements the Somerton law of thermal conductivity in a porous medium.

See:

W.H. Somerton, A.H. El-Shaarani and S.M. Mobarak: High Temperature Behavior of Rocks Associated with Geothermal Type Reservoirs, paper SPE-4897 presentet at SPE California Regional Meeting 1974, 1974

or

H. Class: Theorie und numerische Modellierung nichtisothermer Mehrphasenprozesse in NAPL kontaminierten poroesen Medien, PhD thesis, Technical University of Braunschweig, 2000

Member Typedef Documentation

◆ Params

template<class FluidSystem , class ScalarT , class ParamsT = SomertonThermalConductionLawParams<FluidSystem::numPhases, ScalarT>>
typedef ParamsT Opm::SomertonThermalConductionLaw< FluidSystem, ScalarT, ParamsT >::Params

◆ Scalar

template<class FluidSystem , class ScalarT , class ParamsT = SomertonThermalConductionLawParams<FluidSystem::numPhases, ScalarT>>
typedef Params::Scalar Opm::SomertonThermalConductionLaw< FluidSystem, ScalarT, ParamsT >::Scalar

Member Function Documentation

◆ regularizedSqrt_()

template<class FluidSystem , class ScalarT , class ParamsT = SomertonThermalConductionLawParams<FluidSystem::numPhases, ScalarT>>
template<class Evaluation >
static Evaluation Opm::SomertonThermalConductionLaw< FluidSystem, ScalarT, ParamsT >::regularizedSqrt_ ( const Evaluation &  x)
inlinestaticprotected

◆ thermalConductivity()

template<class FluidSystem , class ScalarT , class ParamsT = SomertonThermalConductionLawParams<FluidSystem::numPhases, ScalarT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation Opm::SomertonThermalConductionLaw< FluidSystem, ScalarT, ParamsT >::thermalConductivity ( const Params params,
const FluidState &  fluidState 
)
inlinestatic

Given a fluid state, return the effective thermal conductivity [W/m^2 / (K/m)] of the porous medium.

For two phases, the Somerton law is given by:

\[
\lambda_{pm} =
\lambda_{ful,g} +
\sqrt{S_w}(\lambda_{ful,w} - \lambda_{vac}) +
\sqrt{S_n}(\lambda_{ful,n} - \lambda_{vac})
\]

where $\lambda_{vac}$ is the thermal conductivity of the porous medium at vacuum, $\lambda_{ful,\alpha}$ is the thermal conductivty of the porous medium if it is fully saturated by phase $\alpha$ and $S_\alpha$ is the saturation of phase $\alpha$.

References Opm::Valgrind::CheckDefined(), Opm::max(), Opm::min(), and Opm::SomertonThermalConductionLaw< FluidSystem, ScalarT, ParamsT >::regularizedSqrt_().


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