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

Class including the information of an interaction volume of a MPFA L-method that does not change with time. More...

#include <dumux/porousmediumflow/sequential/cellcentered/mpfa/linteractionvolume.hh>

Description

template<class TypeTag>
class Dumux::FVMPFALInteractionVolume< TypeTag >

Class including the information of an interaction volume of a MPFA L-method that does not change with time.

Includes information needed to calculate the transmissibility matrix of an L-interaction-volume.

Public Types

enum  FaceTypes { inside = 1 , boundary = 0 , outside = -1 }
 

Public Member Functions

 FVMPFALInteractionVolume (const Grid &grid)
 Constructs a FVMPFALInteractionVolume object. More...
 
void reset ()
 Delete stored information. More...
 
void setStored ()
 Mark storage as completed. More...
 
bool isStored () const
 Returns true if information has already been stored. More...
 
void setCenterPosition (DimVector &centerVertexPos)
 Store position of the center vertex of the interaction volume. More...
 
void setSubVolumeElement (const Element &element, int subVolumeIdx)
 Store an element of the interaction volume. More...
 
void setFacePosition (const DimVector &pos, int subVolumeIdx, int subVolumeFaceIdxInInside)
 Store position of the center of a flux face. More...
 
void setFaceArea (Scalar &faceArea, int subVolumeIdx, int subVolumeFaceIdxInInside)
 Store a flux face area. More...
 
void setNormal (DimVector &normal, int subVolumeIdx, int subVolumeFaceIdxInInside)
 Store a flux face normal. More...
 
void setBoundary (BoundaryTypes &boundaryTypes, int subVolumeFaceIdx)
 Store boundary condtion types for a flux face. More...
 
void setOutsideFace (int subVolumeFaceIdx)
 Mark a flux face to be outside the model domain. More...
 
void setDirichletCondition (PrimaryVariables &condition, int subVolumeFaceIdx)
 Store Dirichlet boundary condtions for a flux face. More...
 
void setNeumannCondition (PrimaryVariables &condition, int subVolumeFaceIdx)
 Store Neumann boundary condtions for a flux face. More...
 
void setIndexOnElement (int indexInInside, int subVolumeIdx, int subVolumeFaceIdxInInside)
 Store map from local interaction volume numbering to numbering of the Dune reference element. More...
 
DimVector & getCenterPosition ()
 Get position vector of central vertex. More...
 
int getElementNumber ()
 Get number of stored elements. More...
 
int getIndexOnElement (int subVolumeIdx, int subVolumeFaceIdx)
 Map from local interaction volume numbering to numbering of the Dune reference element. More...
 
int getFaceIndexFromSubVolume (int subVolumeIdx, int subVolumeFaceIdx)
 Map from local interaction volume numbering on element to numbering on interaction volume. More...
 
Element getSubVolumeElement (int subVolumeIdx)
 Get an element of the interaction volume. More...
 
BoundaryTypes & getBoundaryType (int subVolumeFaceIdx)
 Get boundary condtion types for a flux face. More...
 
bool isOutsideFace (int subVolumeFaceIdx)
 Returns true if an interaction volume flux face is outside the model domain. More...
 
bool isInsideFace (int subVolumeFaceIdx)
 Returns true if an interaction volume flux face is inside the model domain and no boundary face. More...
 
bool isInnerVolume ()
 Returns true if the interaction volume is completely inside the model domain. More...
 
bool isBoundaryFace (int subVolumeFaceIdx)
 Returns true if an interaction volume flux face is a boundary face. More...
 
PrimaryVariables & getDirichletValues (int subVolumeFaceIdx)
 Get the Dirichlet boundary condtions for a flux face. More...
 
PrimaryVariables & getNeumannValues (int subVolumeFaceIdx)
 Get the Neumann boundary condtions for a flux face. More...
 
DimVector & getNormal (int subVolumeIdx, int subVolumeFaceIdxInInside)
 Get a flux face normal. More...
 
DimVector & getFacePosition (int subVolumeIdx, int subVolumeFaceIdxInInside)
 Get position of the center of a flux face. More...
 
Scalar & getFaceArea (int subVolumeIdx, int subVolumeFaceIdxInInside)
 Get a flux face area. More...
 
void printInteractionVolumeInfo ()
 Outputs stored information. More...
 

Member Enumeration Documentation

◆ FaceTypes

template<class TypeTag >
enum Dumux::FVMPFALInteractionVolume::FaceTypes
Enumerator
inside 
boundary 
outside 

Constructor & Destructor Documentation

◆ FVMPFALInteractionVolume()

template<class TypeTag >
Dumux::FVMPFALInteractionVolume< TypeTag >::FVMPFALInteractionVolume ( const Grid &  grid)
inline

Constructs a FVMPFALInteractionVolume object.

Member Function Documentation

◆ getBoundaryType()

template<class TypeTag >
BoundaryTypes & Dumux::FVMPFALInteractionVolume< TypeTag >::getBoundaryType ( int  subVolumeFaceIdx)
inline

Get boundary condtion types for a flux face.

Parameters
subVolumeFaceIdxThe local face index in the interaction volume
Returns
Object containing information about the boundary types.

◆ getCenterPosition()

template<class TypeTag >
DimVector & Dumux::FVMPFALInteractionVolume< TypeTag >::getCenterPosition ( )
inline

Get position vector of central vertex.

◆ getDirichletValues()

template<class TypeTag >
PrimaryVariables & Dumux::FVMPFALInteractionVolume< TypeTag >::getDirichletValues ( int  subVolumeFaceIdx)
inline

Get the Dirichlet boundary condtions for a flux face.

Parameters
subVolumeFaceIdxThe local face index in the interaction volume
Returns
Vector of primary variables.

◆ getElementNumber()

template<class TypeTag >
int Dumux::FVMPFALInteractionVolume< TypeTag >::getElementNumber ( )
inline

Get number of stored elements.

◆ getFaceArea()

template<class TypeTag >
Scalar & Dumux::FVMPFALInteractionVolume< TypeTag >::getFaceArea ( int  subVolumeIdx,
int  subVolumeFaceIdxInInside 
)
inline

Get a flux face area.

Parameters
subVolumeIdxThe local element index in the interaction volume
subVolumeFaceIdxInInsideThe local face index in the interaction volume element
Returns
Area of the flux face

◆ getFaceIndexFromSubVolume()

template<class TypeTag >
int Dumux::FVMPFALInteractionVolume< TypeTag >::getFaceIndexFromSubVolume ( int  subVolumeIdx,
int  subVolumeFaceIdx 
)
inline

Map from local interaction volume numbering on element to numbering on interaction volume.

Parameters
subVolumeIdxThe local element index in the interaction volume
subVolumeFaceIdxThe local face index in the interaction volume element
Returns
Local face index int the interaction volume

◆ getFacePosition()

template<class TypeTag >
DimVector & Dumux::FVMPFALInteractionVolume< TypeTag >::getFacePosition ( int  subVolumeIdx,
int  subVolumeFaceIdxInInside 
)
inline

Get position of the center of a flux face.

Parameters
subVolumeIdxThe local element index in the interaction volume
subVolumeFaceIdxInInsideThe local face index in the interaction volume element
Returns
Position of face center

◆ getIndexOnElement()

template<class TypeTag >
int Dumux::FVMPFALInteractionVolume< TypeTag >::getIndexOnElement ( int  subVolumeIdx,
int  subVolumeFaceIdx 
)
inline

Map from local interaction volume numbering to numbering of the Dune reference element.

Parameters
subVolumeIdxThe local element index in the interaction volume
subVolumeFaceIdxThe local face index in the interaction volume element
Returns
Face index of the Dune reference element

◆ getNeumannValues()

template<class TypeTag >
PrimaryVariables & Dumux::FVMPFALInteractionVolume< TypeTag >::getNeumannValues ( int  subVolumeFaceIdx)
inline

Get the Neumann boundary condtions for a flux face.

Parameters
subVolumeFaceIdxThe local face index in the interaction volume
Returns
Vector of phase fluxes.

◆ getNormal()

template<class TypeTag >
DimVector & Dumux::FVMPFALInteractionVolume< TypeTag >::getNormal ( int  subVolumeIdx,
int  subVolumeFaceIdxInInside 
)
inline

Get a flux face normal.

Parameters
subVolumeIdxThe local element index in the interaction volume
subVolumeFaceIdxInInsideThe local face index in the interaction volume element
Returns
Normal vector

◆ getSubVolumeElement()

template<class TypeTag >
Element Dumux::FVMPFALInteractionVolume< TypeTag >::getSubVolumeElement ( int  subVolumeIdx)
inline

Get an element of the interaction volume.

Parameters
subVolumeIdxThe local element index in the interaction volume
Returns
The interaction volume sub-element.

◆ isBoundaryFace()

template<class TypeTag >
bool Dumux::FVMPFALInteractionVolume< TypeTag >::isBoundaryFace ( int  subVolumeFaceIdx)
inline

Returns true if an interaction volume flux face is a boundary face.

Parameters
subVolumeFaceIdxThe local face index in the interaction volume

◆ isInnerVolume()

template<class TypeTag >
bool Dumux::FVMPFALInteractionVolume< TypeTag >::isInnerVolume ( )
inline

Returns true if the interaction volume is completely inside the model domain.

◆ isInsideFace()

template<class TypeTag >
bool Dumux::FVMPFALInteractionVolume< TypeTag >::isInsideFace ( int  subVolumeFaceIdx)
inline

Returns true if an interaction volume flux face is inside the model domain and no boundary face.

Parameters
subVolumeFaceIdxThe local face index in the interaction volume

◆ isOutsideFace()

template<class TypeTag >
bool Dumux::FVMPFALInteractionVolume< TypeTag >::isOutsideFace ( int  subVolumeFaceIdx)
inline

Returns true if an interaction volume flux face is outside the model domain.

Parameters
subVolumeFaceIdxThe local face index in the interaction volume

◆ isStored()

template<class TypeTag >
bool Dumux::FVMPFALInteractionVolume< TypeTag >::isStored ( ) const
inline

Returns true if information has already been stored.

◆ printInteractionVolumeInfo()

template<class TypeTag >
void Dumux::FVMPFALInteractionVolume< TypeTag >::printInteractionVolumeInfo ( )
inline

Outputs stored information.

◆ reset()

template<class TypeTag >
void Dumux::FVMPFALInteractionVolume< TypeTag >::reset ( )
inline

Delete stored information.

◆ setBoundary()

template<class TypeTag >
void Dumux::FVMPFALInteractionVolume< TypeTag >::setBoundary ( BoundaryTypes &  boundaryTypes,
int  subVolumeFaceIdx 
)
inline

Store boundary condtion types for a flux face.

Parameters
boundaryTypesBoundaryTypes object
subVolumeFaceIdxThe local face index in the interaction volume

◆ setCenterPosition()

template<class TypeTag >
void Dumux::FVMPFALInteractionVolume< TypeTag >::setCenterPosition ( DimVector &  centerVertexPos)
inline

Store position of the center vertex of the interaction volume.

◆ setDirichletCondition()

template<class TypeTag >
void Dumux::FVMPFALInteractionVolume< TypeTag >::setDirichletCondition ( PrimaryVariables &  condition,
int  subVolumeFaceIdx 
)
inline

Store Dirichlet boundary condtions for a flux face.

Parameters
conditionVector of primary variables
subVolumeFaceIdxThe local face index in the interaction volume

◆ setFaceArea()

template<class TypeTag >
void Dumux::FVMPFALInteractionVolume< TypeTag >::setFaceArea ( Scalar &  faceArea,
int  subVolumeIdx,
int  subVolumeFaceIdxInInside 
)
inline

Store a flux face area.

Parameters
faceAreaThe flux face area
subVolumeIdxThe local element index in the interaction volume
subVolumeFaceIdxInInsideThe local face index in the interaction volume element

◆ setFacePosition()

template<class TypeTag >
void Dumux::FVMPFALInteractionVolume< TypeTag >::setFacePosition ( const DimVector &  pos,
int  subVolumeIdx,
int  subVolumeFaceIdxInInside 
)
inline

Store position of the center of a flux face.

Parameters
posPosition of face center
subVolumeIdxThe local element index in the interaction volume
subVolumeFaceIdxInInsideThe local face index in the interaction volume element

◆ setIndexOnElement()

template<class TypeTag >
void Dumux::FVMPFALInteractionVolume< TypeTag >::setIndexOnElement ( int  indexInInside,
int  subVolumeIdx,
int  subVolumeFaceIdxInInside 
)
inline

Store map from local interaction volume numbering to numbering of the Dune reference element.

Parameters
indexInInsideFace index of the Dune reference element
subVolumeIdxThe local element index in the interaction volume
subVolumeFaceIdxInInsideThe local face index in the interaction volume element

◆ setNeumannCondition()

template<class TypeTag >
void Dumux::FVMPFALInteractionVolume< TypeTag >::setNeumannCondition ( PrimaryVariables &  condition,
int  subVolumeFaceIdx 
)
inline

Store Neumann boundary condtions for a flux face.

Parameters
conditionVector phase fluxes
subVolumeFaceIdxThe local face index in the interaction volume

◆ setNormal()

template<class TypeTag >
void Dumux::FVMPFALInteractionVolume< TypeTag >::setNormal ( DimVector &  normal,
int  subVolumeIdx,
int  subVolumeFaceIdxInInside 
)
inline

Store a flux face normal.

Parameters
normalThe normal vector
subVolumeIdxThe local element index in the interaction volume
subVolumeFaceIdxInInsideThe local face index in the interaction volume element

◆ setOutsideFace()

template<class TypeTag >
void Dumux::FVMPFALInteractionVolume< TypeTag >::setOutsideFace ( int  subVolumeFaceIdx)
inline

Mark a flux face to be outside the model domain.

Parameters
subVolumeFaceIdxThe local face index in the interaction volume

◆ setStored()

template<class TypeTag >
void Dumux::FVMPFALInteractionVolume< TypeTag >::setStored ( )
inline

Mark storage as completed.

◆ setSubVolumeElement()

template<class TypeTag >
void Dumux::FVMPFALInteractionVolume< TypeTag >::setSubVolumeElement ( const Element &  element,
int  subVolumeIdx 
)
inline

Store an element of the interaction volume.

Parameters
elementThe element
subVolumeIdxThe local element index in the interaction volume

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