version 3.10-dev

Model that adds an energy equation (thermal equilibrium) to another porous medium flow model. More...

Description

The implicit non-isothermal model.

This model implements a generic energy balance for single and multi-phase transport problems. Currently the non-isothermal model can be used on top of the 1p2c, 2p, 2p2c and 3p3c models. Comparison to simple analytical solutions for pure convective and conductive problems are found in the 1p2c test. Also refer to this test for details on how to activate the non-isothermal model.

For the energy balance, local thermal equilibrium is assumed. This results in one energy conservation equation for the porous solid matrix and the fluids,

\begin{align*} \phi \frac{\partial \sum_\alpha \varrho_\alpha S_\alpha (u_\alpha - \mathbf{g}\cdot\mathbf{x})}{\partial t} & + \frac{\partial \left((\left( 1 - \phi \right) \varrho_s c_s T\right)}{\partial t} - \sum_\alpha \nabla \cdot \left\{ \varrho_\alpha (h_\alpha - \mathbf{g}\cdot\mathbf{x}) \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K} \left( \nabla p_\alpha - \varrho_\alpha \mathbf{g} \right) \right\} \\ & - \nabla \cdot \left(\lambda_{pm} \nabla T \right) - q^h = 0, \end{align*}

where:

The gravitational potential is approximated by \(\psi \approx \mathbf{g}\cdot\mathbf{x}\) with \( \mathbf{g} = -\nabla\psi\) and where \(\mathbf{x}\) is the position in space. The approximation is exact in case the gravitation vector is constant in space. The implementation via the gravitational potential in the formulation above also assumes that the gravitional potential is independent of time. This formulation is incorrect otherwise.

Files

file  porousmediumflow/nonisothermal/indices.hh
 Defines the indices used by the non-isothermal two-phase two-component model.
 
file  porousmediumflow/nonisothermal/iofields.hh
 Adds I/O fields specific to non-isothermal models.
 
file  porousmediumflow/nonisothermal/localresidual.hh
 Element-wise calculation of the local residual for non-isothermal fully implicit models. See NIModel for the detailed description.
 
file  porousmediumflow/nonisothermal/model.hh
 The implicit non-isothermal model.
 
file  porousmediumflow/nonisothermal/volumevariables.hh
 Base class for the model specific class which provides access to all volume averaged quantities.
 

Classes

struct  Dumux::EnergyIndices< IsothermalIndices, numEq >
 Indices for the non-isothermal two-phase two-component model. More...
 
class  Dumux::EnergyIOFields< IsothermalIOFields >
 Adds I/O fields specific to non-isothermal models. More...
 
class  Dumux::EnergyIOFields< void >
 Adds I/O fields specific to non-isothermal models. More...
 
class  Dumux::EnergyLocalResidualImplementation< TypeTag, false >
 Element-wise calculation of the energy residual for isothermal problems. More...
 
class  Dumux::EnergyLocalResidualImplementation< TypeTag, true >
 Element-wise calculation of the energy residual for non-isothermal problems. More...
 
struct  Dumux::PorousMediumFlowNIModelTraits< IsothermalT, TDM >
 Specifies a number properties of non-isothermal porous medium flow models based on the specifics of a given isothermal model. More...
 
class  Dumux::EnergyVolumeVariablesImplementation< IsothermalTraits, Impl, false >
 The isothermal base class. More...
 

Typedefs

template<class IsothermalTraits , class Impl >
using Dumux::EnergyVolumeVariables = EnergyVolumeVariablesImplementation< IsothermalTraits, Impl, IsothermalTraits::ModelTraits::enableEnergyBalance()>
 Base class for the model specific class which provides access to all volume averaged quantities. More...
 

Typedef Documentation

◆ EnergyVolumeVariables

template<class IsothermalTraits , class Impl >
using Dumux::EnergyVolumeVariables = typedef EnergyVolumeVariablesImplementation<IsothermalTraits,Impl, IsothermalTraits::ModelTraits::enableEnergyBalance()>

The volume variables base class is specialized for isothermal and non-isothermal models.