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

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

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

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

Description

template<class TypeTag>
class Dumux::FvMpfaL3dInteractionVolume< TypeTag >

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

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

Public Types

enum  FaceTypes { inside = 1 , boundary = 0 , outside = -1 }
 
enum  { subVolumeTotalNum = IndexTranslator::subVolumeTotalNum , fluxFacesTotalNum = IndexTranslator::fluxFacesTotalNum , fluxEdgesTotalNum = IndexTranslator::fluxEdgesTotalNum }
 

Public Member Functions

 FvMpfaL3dInteractionVolume (const Grid &grid)
 Constructs a FvMpfaL3dInteractionVolume object. More...
 
void reset ()
 Reset the interaction volume (deletes stored data) More...
 
void setCenterPosition (const DimVector &centerVertexPos)
 Store position of the central vertex. More...
 
void setSubVolumeElement (const Element &element, int subVolumeIdx)
 Store a dune element as a sub volume element. More...
 
void setFacePosition (const DimVector &pos, int fIdx)
 Store the position of a flux face. More...
 
void setEdgePosition (const DimVector &pos, int edgeIdx)
 Store the center of the edges. More...
 
void setFaceArea (Scalar faceArea, int fIdx)
 Store the flux face areas. More...
 
void setNormal (DimVector &normal, int subVolumeIdx, int subVolumeFaceIdx)
 Store the normals. More...
 
void setBoundary (BoundaryTypes &boundaryTypes, int subVolumeFaceIdx)
 Store the types of boundary conditions. More...
 
void setOutsideFace (int subVolumeFaceIdx)
 Define a flux face to be outside the model domain (for boundary vertices) More...
 
void setDirichletCondition (PrimaryVariables &condition, int subVolumeFaceIdx)
 Store Dirichlet boundary conditions. More...
 
void setNeumannCondition (PrimaryVariables &condition, int subVolumeFaceIdx)
 Store Neumann boundary conditions. More...
 
void setIndexOnElement (int indexInInside, int subVolumeIdx, int subVolumeFaceIdx)
 Store the local dune face index dependent on the local interaction volume indices. More...
 
DimVector & getCenterPosition ()
 The position of the central vertex. More...
 
int getFaceIndexFromSubVolume (int subVolumeIdx, int subVolumeFaceIdx)
 The local interaction volume face index dependent on the local sub volume indices. More...
 
int getEdgeIndexFromSubVolumeFace (int subVolumeIdx, int subVolumeFaceIdx, int subVolumeEdgeIdx)
 The local interaction volume edge index dependent on the local sub volume indices. More...
 
int getElementNumber ()
 Number of stored dune elements. More...
 
int getIndexOnElement (int subVolumeIdx, int subVolumeFaceIdx)
 The local dune face index dependent on the local interaction volume indices. More...
 
Element getSubVolumeElement (int subVolumeIdx)
 The dune element of the interaction volume sub-volume. More...
 
bool hasSubVolumeElement (int subVolumeIdx)
 Check if a dune element is stored for an interaction volume sub-volume. More...
 
BoundaryTypes & getBoundaryType (int subVolumeFaceIdx)
 The boundary types. More...
 
bool isOutsideFace (int subVolumeFaceIdx)
 Check if an interaction volume face is outside the model domain (for boundary vertices) More...
 
bool isInsideFace (int subVolumeFaceIdx)
 Check if an interaction volume face is inside the model domain (for boundary vertices) More...
 
bool isBoundaryFace (int subVolumeFaceIdx)
 Check if an interaction volume face is a model domain boundary (for boundary vertices) More...
 
bool isInnerVolume ()
 Check if an interaction volume is not located around a boundary vertex. More...
 
bool isBoundaryInteractionVolume ()
 Check if an interaction volume is located around a boundary vertex. More...
 
PrimaryVariables & getDirichletValues (int subVolumeFaceIdx)
 The Dirichlet boundary values. More...
 
PrimaryVariables & getNeumannValues (int subVolumeFaceIdx)
 The Neumann boundary values. More...
 
DimVector & getNormal (int subVolumeIdx, int subVolumeFaceIdx)
 The face normal. More...
 
DimVector & getFacePosition (int subVolumeIdx, int subVolumeFaceIdx)
 The position of the face center. More...
 
DimVector & getEdgePosition (int subVolumeIdx, int subVolumeFaceIdx, int subVolumeEdgeIdx)
 The position of the edge center. More...
 
Scalar & getFaceArea (int subVolumeIdx, int subVolumeFaceIdx)
 The interaction volume flux face area. More...
 
DimVector & getFacePosition (int fIdx)
 The position of the face center. More...
 
DimVector & getEdgePosition (int edgeIdx)
 The position of the edge center. More...
 
Scalar & getFaceArea (int fIdx)
 The interaction volume flux face area. More...
 
void printInteractionVolumeInfo ()
 Print the stored interaction volume data. More...
 

Member Enumeration Documentation

◆ anonymous enum

template<class TypeTag >
anonymous enum
Enumerator
subVolumeTotalNum 

Number of sub-volumes in the interaction volume.

fluxFacesTotalNum 

Number of flux faces in the interaction volume.

fluxEdgesTotalNum 

Number of edges in the interaction volume.

◆ FaceTypes

template<class TypeTag >
enum Dumux::FvMpfaL3dInteractionVolume::FaceTypes
Enumerator
inside 

Flux face is inside the model domain.

boundary 

Flux face is a boundary face.

outside 

Flux face is outside the model domain.

Constructor & Destructor Documentation

◆ FvMpfaL3dInteractionVolume()

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

Constructs a FvMpfaL3dInteractionVolume object.

Member Function Documentation

◆ getBoundaryType()

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

The boundary types.

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

◆ getCenterPosition()

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

The position of the central vertex.

◆ getDirichletValues()

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

The Dirichlet boundary values.

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

◆ getEdgeIndexFromSubVolumeFace()

template<class TypeTag >
int Dumux::FvMpfaL3dInteractionVolume< TypeTag >::getEdgeIndexFromSubVolumeFace ( int  subVolumeIdx,
int  subVolumeFaceIdx,
int  subVolumeEdgeIdx 
)
inline

The local interaction volume edge index dependent on the local sub volume indices.

◆ getEdgePosition() [1/2]

template<class TypeTag >
DimVector & Dumux::FvMpfaL3dInteractionVolume< TypeTag >::getEdgePosition ( int  edgeIdx)
inline

The position of the edge center.

Parameters
edgeIdxThe local edge index in the interaction volume
Returns
Position of the edge center

◆ getEdgePosition() [2/2]

template<class TypeTag >
DimVector & Dumux::FvMpfaL3dInteractionVolume< TypeTag >::getEdgePosition ( int  subVolumeIdx,
int  subVolumeFaceIdx,
int  subVolumeEdgeIdx 
)
inline

The position of the edge center.

Parameters
subVolumeIdxThe local element index in the interaction volume
subVolumeFaceIdxThe local face index in the interaction volume element
subVolumeEdgeIdxThe local edge index in the interaction volume element
Returns
Position of the edge center

◆ getElementNumber()

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

Number of stored dune elements.

◆ getFaceArea() [1/2]

template<class TypeTag >
Scalar & Dumux::FvMpfaL3dInteractionVolume< TypeTag >::getFaceArea ( int  fIdx)
inline

The interaction volume flux face area.

Parameters
fIdxThe local face index in the interaction volume
Returns
Area of the flux face

◆ getFaceArea() [2/2]

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

The interaction volume flux face area.

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

◆ getFaceIndexFromSubVolume()

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

The local interaction volume face index dependent on the local sub volume indices.

◆ getFacePosition() [1/2]

template<class TypeTag >
DimVector & Dumux::FvMpfaL3dInteractionVolume< TypeTag >::getFacePosition ( int  fIdx)
inline

The position of the face center.

Parameters
fIdxThe local face index in the interaction volume
Returns
Position of face center

◆ getFacePosition() [2/2]

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

The position of the face center.

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

◆ getIndexOnElement()

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

The local dune face index dependent on the local interaction volume indices.

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::FvMpfaL3dInteractionVolume< TypeTag >::getNeumannValues ( int  subVolumeFaceIdx)
inline

The Neumann boundary values.

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

◆ getNormal()

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

The face normal.

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

◆ getSubVolumeElement()

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

The dune element of the interaction volume sub-volume.

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

◆ hasSubVolumeElement()

template<class TypeTag >
bool Dumux::FvMpfaL3dInteractionVolume< TypeTag >::hasSubVolumeElement ( int  subVolumeIdx)
inline

Check if a dune element is stored for an interaction volume sub-volume.

Parameters
subVolumeIdxThe local element index in the interaction volume
Returns
returns true if an element pointer is stored at position subVolumeIdx.

◆ isBoundaryFace()

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

Check if an interaction volume face is a model domain boundary (for boundary vertices)

Parameters
subVolumeFaceIdxThe local face index in the interaction volume
Returns
returns true if the flux face is a boundary face.

◆ isBoundaryInteractionVolume()

template<class TypeTag >
bool Dumux::FvMpfaL3dInteractionVolume< TypeTag >::isBoundaryInteractionVolume ( )
inline

Check if an interaction volume is located around a boundary vertex.

Returns
returns true if an interaction volume located around a boundary vertex

◆ isInnerVolume()

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

Check if an interaction volume is not located around a boundary vertex.

Returns
returns true if an interaction volume is not located around a boundary vertex

◆ isInsideFace()

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

Check if an interaction volume face is inside the model domain (for boundary vertices)

Parameters
subVolumeFaceIdxThe local face index in the interaction volume
Returns
returns true if the flux face is inside the model domain.

◆ isOutsideFace()

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

Check if an interaction volume face is outside the model domain (for boundary vertices)

Parameters
subVolumeFaceIdxThe local face index in the interaction volume
Returns
returns true if the flux face is outside the model domain.

◆ printInteractionVolumeInfo()

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

Print the stored interaction volume data.

◆ reset()

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

Reset the interaction volume (deletes stored data)

◆ setBoundary()

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

Store the types of boundary conditions.

Parameters
boundaryTypesBoundaryTypes object
subVolumeFaceIdxThe local face index in the interaction volume

◆ setCenterPosition()

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

Store position of the central vertex.

◆ setDirichletCondition()

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

Store Dirichlet boundary conditions.

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

◆ setEdgePosition()

template<class TypeTag >
void Dumux::FvMpfaL3dInteractionVolume< TypeTag >::setEdgePosition ( const DimVector &  pos,
int  edgeIdx 
)
inline

Store the center of the edges.

Parameters
posPosition of face center
edgeIdxThe interaction volume edge index

◆ setFaceArea()

template<class TypeTag >
void Dumux::FvMpfaL3dInteractionVolume< TypeTag >::setFaceArea ( Scalar  faceArea,
int  fIdx 
)
inline

Store the flux face areas.

Parameters
faceAreaThe flux face area
fIdxThe interaction volume face index

◆ setFacePosition()

template<class TypeTag >
void Dumux::FvMpfaL3dInteractionVolume< TypeTag >::setFacePosition ( const DimVector &  pos,
int  fIdx 
)
inline

Store the position of a flux face.

Parameters
posPosition of face center
fIdxThe interaction volume face index

◆ setIndexOnElement()

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

Store the local dune face index dependent on the local interaction volume indices.

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

◆ setNeumannCondition()

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

Store Neumann boundary conditions.

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

◆ setNormal()

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

Store the normals.

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

◆ setOutsideFace()

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

Define a flux face to be outside the model domain (for boundary vertices)

Parameters
subVolumeFaceIdxThe local face index in the interaction volume

◆ setSubVolumeElement()

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

Store a dune element as a sub volume element.

Parameters
elementThe element
subVolumeIdxThe local element index in the interaction volume

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