3.2-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Member Functions | Protected Types | Static Protected Attributes | List of all members
Dumux::ThreePWaterOilLocalResidual< TypeTag > Class Template Reference

Element-wise calculation of the local residual for problems using the ThreePWaterOil fully implicit model. More...

#include <dumux/porousmediumflow/3pwateroil/localresidual.hh>

Inheritance diagram for Dumux::ThreePWaterOilLocalResidual< TypeTag >:
Inheritance graph

Description

template<class TypeTag>
class Dumux::ThreePWaterOilLocalResidual< TypeTag >

Element-wise calculation of the local residual for problems using the ThreePWaterOil fully implicit model.

Public Member Functions

NumEqVector computeStorage (const Problem &problem, const SubControlVolume &scv, const VolumeVariables &volVars) const
 Evaluates the amount of all conservation quantities (e.g. phase mass) within a sub-control volume. More...
 
NumEqVector computeFlux (const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolumeFace &scvf, const ElementFluxVariablesCache &elemFluxVarsCache) const
 Evaluates the total flux of all conservation quantities over a face of a sub-control volume. More...
 

Protected Types

enum  {
  numPhases = GetPropType<TypeTag, Properties::ModelTraits>::numFluidPhases() , numComponents = GetPropType<TypeTag, Properties::ModelTraits>::numFluidComponents() , conti0EqIdx = Indices::conti0EqIdx , conti1EqIdx = conti0EqIdx + 1 ,
  wPhaseIdx = FluidSystem::wPhaseIdx , nPhaseIdx = FluidSystem::nPhaseIdx , gPhaseIdx = FluidSystem::gPhaseIdx , wCompIdx = FluidSystem::wCompIdx ,
  nCompIdx = FluidSystem::nCompIdx
}
 
using ParentType = GetPropType< TypeTag, Properties::BaseLocalResidual >
 
using Problem = GetPropType< TypeTag, Properties::Problem >
 
using Scalar = GetPropType< TypeTag, Properties::Scalar >
 
using FVElementGeometry = typename GetPropType< TypeTag, Properties::GridGeometry >::LocalView
 
using SubControlVolume = typename FVElementGeometry::SubControlVolume
 
using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace
 
using NumEqVector = GetPropType< TypeTag, Properties::NumEqVector >
 
using FluxVariables = GetPropType< TypeTag, Properties::FluxVariables >
 
using ElementFluxVariablesCache = typename GetPropType< TypeTag, Properties::GridFluxVariablesCache >::LocalView
 
using Indices = typename GetPropType< TypeTag, Properties::ModelTraits >::Indices
 
using GridView = typename GetPropType< TypeTag, Properties::GridGeometry >::GridView
 
using Element = typename GridView::template Codim< 0 >::Entity
 
using ElementVolumeVariables = typename GetPropType< TypeTag, Properties::GridVolumeVariables >::LocalView
 
using VolumeVariables = GetPropType< TypeTag, Properties::VolumeVariables >
 
using EnergyLocalResidual = GetPropType< TypeTag, Properties::EnergyLocalResidual >
 
using FluidSystem = GetPropType< TypeTag, Properties::FluidSystem >
 

Static Protected Attributes

static constexpr bool useMoles = getPropValue<TypeTag, Properties::UseMoles>()
 Property that defines whether mole or mass fractions are used. More...
 

Member Typedef Documentation

◆ Element

template<class TypeTag >
using Dumux::ThreePWaterOilLocalResidual< TypeTag >::Element = typename GridView::template Codim<0>::Entity
protected

◆ ElementFluxVariablesCache

template<class TypeTag >
using Dumux::ThreePWaterOilLocalResidual< TypeTag >::ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView
protected

◆ ElementVolumeVariables

template<class TypeTag >
using Dumux::ThreePWaterOilLocalResidual< TypeTag >::ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView
protected

◆ EnergyLocalResidual

template<class TypeTag >
using Dumux::ThreePWaterOilLocalResidual< TypeTag >::EnergyLocalResidual = GetPropType<TypeTag, Properties::EnergyLocalResidual>
protected

◆ FluidSystem

template<class TypeTag >
using Dumux::ThreePWaterOilLocalResidual< TypeTag >::FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>
protected

◆ FluxVariables

template<class TypeTag >
using Dumux::ThreePWaterOilLocalResidual< TypeTag >::FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>
protected

◆ FVElementGeometry

template<class TypeTag >
using Dumux::ThreePWaterOilLocalResidual< TypeTag >::FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView
protected

◆ GridView

template<class TypeTag >
using Dumux::ThreePWaterOilLocalResidual< TypeTag >::GridView = typename GetPropType<TypeTag, Properties::GridGeometry>::GridView
protected

◆ Indices

template<class TypeTag >
using Dumux::ThreePWaterOilLocalResidual< TypeTag >::Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices
protected

◆ NumEqVector

template<class TypeTag >
using Dumux::ThreePWaterOilLocalResidual< TypeTag >::NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>
protected

◆ ParentType

template<class TypeTag >
using Dumux::ThreePWaterOilLocalResidual< TypeTag >::ParentType = GetPropType<TypeTag, Properties::BaseLocalResidual>
protected

◆ Problem

template<class TypeTag >
using Dumux::ThreePWaterOilLocalResidual< TypeTag >::Problem = GetPropType<TypeTag, Properties::Problem>
protected

◆ Scalar

template<class TypeTag >
using Dumux::ThreePWaterOilLocalResidual< TypeTag >::Scalar = GetPropType<TypeTag, Properties::Scalar>
protected

◆ SubControlVolume

template<class TypeTag >
using Dumux::ThreePWaterOilLocalResidual< TypeTag >::SubControlVolume = typename FVElementGeometry::SubControlVolume
protected

◆ SubControlVolumeFace

template<class TypeTag >
using Dumux::ThreePWaterOilLocalResidual< TypeTag >::SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace
protected

◆ VolumeVariables

template<class TypeTag >
using Dumux::ThreePWaterOilLocalResidual< TypeTag >::VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>
protected

Member Enumeration Documentation

◆ anonymous enum

template<class TypeTag >
anonymous enum
protected
Enumerator
numPhases 
numComponents 
conti0EqIdx 

Index of the mass conservation equation for the water component.

conti1EqIdx 

Index of the mass conservation equation for the contaminant component.

wPhaseIdx 
nPhaseIdx 
gPhaseIdx 
wCompIdx 
nCompIdx 

Member Function Documentation

◆ computeFlux()

template<class TypeTag >
NumEqVector Dumux::ThreePWaterOilLocalResidual< TypeTag >::computeFlux ( const Problem problem,
const Element element,
const FVElementGeometry fvGeometry,
const ElementVolumeVariables elemVolVars,
const SubControlVolumeFace scvf,
const ElementFluxVariablesCache elemFluxVarsCache 
) const
inline

Evaluates the total flux of all conservation quantities over a face of a sub-control volume.

Parameters
problemThe problem
elementThe element
fvGeometryThe finite volume element geometry
elemVolVarsThe element volume variables
scvfThe sub control volume face
elemFluxVarsCacheThe element flux variables cache

Add advective phase energy fluxes. For isothermal model the contribution is zero.

Add diffusive energy fluxes. For isothermal model the contribution is zero.

◆ computeStorage()

template<class TypeTag >
NumEqVector Dumux::ThreePWaterOilLocalResidual< TypeTag >::computeStorage ( const Problem problem,
const SubControlVolume scv,
const VolumeVariables volVars 
) const
inline

Evaluates the amount of all conservation quantities (e.g. phase mass) within a sub-control volume.

The result should be averaged over the volume (e.g. phase mass inside a sub control volume divided by the volume)

Parameters
problemThe problem
scvThe sub-control-volume
volVarsThe volume variables

The energy storage in the fluid phase with index phaseIdx

The energy storage in the solid matrix

Member Data Documentation

◆ useMoles

template<class TypeTag >
constexpr bool Dumux::ThreePWaterOilLocalResidual< TypeTag >::useMoles = getPropValue<TypeTag, Properties::UseMoles>()
staticconstexprprotected

Property that defines whether mole or mass fractions are used.


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