Model that adds an energy equation (thermal equilibrium) to another porous medium flow model. More...
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... | |
using Dumux::EnergyVolumeVariables = typedef EnergyVolumeVariablesImplementation<IsothermalTraits,Impl, IsothermalTraits::ModelTraits::enableEnergyBalance()> |
The volume variables base class is specialized for isothermal and non-isothermal models.