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

Class for calculating velocities from cell-wise constant pressure values. More...

#include <dumux/porousmediumflow/2p/sequential/diffusion/mpfa/omethod/2dvelocity.hh>

Description

template<class TypeTag>
class Dumux::FvMpfaO2dVelocity2P< TypeTag >

Class for calculating velocities from cell-wise constant pressure values.

Calculates phase velocities or total velocity from a known pressure field applying a finite volume discretization and a MPFA O-method. At Dirichlet boundaries a two-point flux approximation is used. The pressure has to be given as piecewise constant cell values. The velocities are calculated as

\[ \boldsymbol v_\alpha = - \lambda_\alpha \boldsymbol K \textbf{grad}\, \Phi_\alpha, \]

and,

\[ \boldsymbol v_t = \boldsymbol v_w + \boldsymbol v_n,\]

where \( \Phi_\alpha \) denotes the potential of phase \( \alpha \), \( \boldsymbol K \) the intrinsic permeability, and \( \lambda_\alpha \) a phase mobility.

Remark1: only for 2-D quadrilateral grids!

Template Parameters
TypeTagThe problem Type Tag

Public Member Functions

 FvMpfaO2dVelocity2P (Problem &problem)
 
void calculateInnerInteractionVolumeVelocity (InteractionVolume &interactionVolume, CellData &cellData1, CellData &cellData2, CellData &cellData3, CellData &cellData4, InnerBoundaryVolumeFaces &innerBoundaryVolumeFaces)
 Calculates velocities for all flux faces of an interaction volume. More...
 
void calculateBoundaryInteractionVolumeVelocity (InteractionVolume &interactionVolume, CellData &cellData, int elemIdx)
 Calculates the velocity at a boundary flux faces. More...
 
void initialize ()
 Initializes the velocity model. More...
 
template<class MultiWriter >
void addOutputVtkFields (MultiWriter &writer)
 Adds velocity output to the output file. More...
 

Constructor & Destructor Documentation

◆ FvMpfaO2dVelocity2P()

template<class TypeTag >
Dumux::FvMpfaO2dVelocity2P< TypeTag >::FvMpfaO2dVelocity2P ( Problem &  problem)
inline

Member Function Documentation

◆ addOutputVtkFields()

template<class TypeTag >
template<class MultiWriter >
void Dumux::FvMpfaO2dVelocity2P< TypeTag >::addOutputVtkFields ( MultiWriter &  writer)
inline

Adds velocity output to the output file.

Adds the phase velocities or a total velocity (depending on the formulation) to the output. If the VtkOutputLevel is equal to zero (default) only primary variables are written, if it is larger than zero also secondary variables are written.

Template Parameters
MultiWriterClass defining the output writer
Parameters
writerThe output writer (usually a VTKMultiWriter object)

◆ calculateBoundaryInteractionVolumeVelocity()

template<class TypeTag >
void Dumux::FvMpfaO2dVelocity2P< TypeTag >::calculateBoundaryInteractionVolumeVelocity ( InteractionVolume interactionVolume,
CellData &  cellData,
int  elemIdx 
)

Calculates the velocity at a boundary flux faces.

Calculates the velocity at a boundary flux face and adds it to the face velocity vector in the CellData object.

Parameters
interactionVolumeAn InteractionVolume object including the information for calculating the MPFA transmissibilities
cellDataCellData object of an IMPES model for the sub-volume including the boundary face
elemIdxlocal sub-volume index

◆ calculateInnerInteractionVolumeVelocity()

template<class TypeTag >
void Dumux::FvMpfaO2dVelocity2P< TypeTag >::calculateInnerInteractionVolumeVelocity ( InteractionVolume interactionVolume,
CellData &  cellData1,
CellData &  cellData2,
CellData &  cellData3,
CellData &  cellData4,
InnerBoundaryVolumeFaces &  innerBoundaryVolumeFaces 
)

Calculates velocities for all flux faces of an interaction volume.

Calculates the velocities at the flux faces of an interation volume around a vertex ! which is not a boundary vertex.

Calculates the velocities at the flux faces of an interation volume around a vertex which is not a boundary vertex and adds them to the face velocity vectors in the CellData objects.

Parameters
interactionVolumeAn InteractionVolume object including the information for calculating the MPFA transmissibilities
cellData1CellData object of an IMPES model for sub-volume 1
cellData2CellData object of an IMPES model for sub-volume 2
cellData3CellData object of an IMPES model for sub-volume 3
cellData4CellData object of an IMPES model for sub-volume 4
innerBoundaryVolumeFacescontainer including information about faces intersecting a boundary

◆ initialize()

template<class TypeTag >
void Dumux::FvMpfaO2dVelocity2P< TypeTag >::initialize ( )
inline

Initializes the velocity model.


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