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>
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 ¢erVertexPos) |
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... | |
anonymous enum |
enum Dumux::FvMpfaL3dInteractionVolume::FaceTypes |
|
inline |
Constructs a FvMpfaL3dInteractionVolume object.
|
inline |
The boundary types.
subVolumeFaceIdx | The local face index in the interaction volume |
|
inline |
The position of the central vertex.
|
inline |
The Dirichlet boundary values.
subVolumeFaceIdx | The local face index in the interaction volume |
|
inline |
The local interaction volume edge index dependent on the local sub volume indices.
|
inline |
The position of the edge center.
edgeIdx | The local edge index in the interaction volume |
|
inline |
The position of the edge center.
subVolumeIdx | The local element index in the interaction volume |
subVolumeFaceIdx | The local face index in the interaction volume element |
subVolumeEdgeIdx | The local edge index in the interaction volume element |
|
inline |
Number of stored dune elements.
|
inline |
The interaction volume flux face area.
fIdx | The local face index in the interaction volume |
|
inline |
The interaction volume flux face area.
subVolumeIdx | The local element index in the interaction volume |
subVolumeFaceIdx | The local face index in the interaction volume element |
|
inline |
The local interaction volume face index dependent on the local sub volume indices.
|
inline |
The position of the face center.
fIdx | The local face index in the interaction volume |
|
inline |
The position of the face center.
subVolumeIdx | The local element index in the interaction volume |
subVolumeFaceIdx | The local face index in the interaction volume element |
|
inline |
The local dune face index dependent on the local interaction volume indices.
subVolumeIdx | The local element index in the interaction volume |
subVolumeFaceIdx | The local face index in the interaction volume element |
|
inline |
The Neumann boundary values.
subVolumeFaceIdx | The local face index in the interaction volume |
|
inline |
The face normal.
subVolumeIdx | The local element index in the interaction volume |
subVolumeFaceIdx | The local face index in the interaction volume element |
|
inline |
The dune element of the interaction volume sub-volume.
subVolumeIdx | The local element index in the interaction volume |
|
inline |
Check if a dune element is stored for an interaction volume sub-volume.
subVolumeIdx | The local element index in the interaction volume |
true
if an element pointer is stored at position subVolumeIdx
.
|
inline |
Check if an interaction volume face is a model domain boundary (for boundary vertices)
subVolumeFaceIdx | The local face index in the interaction volume |
true
if the flux face is a boundary face.
|
inline |
Check if an interaction volume is located around a boundary vertex.
true
if an interaction volume located around a boundary vertex
|
inline |
Check if an interaction volume is not located around a boundary vertex.
true
if an interaction volume is not located around a boundary vertex
|
inline |
Check if an interaction volume face is inside the model domain (for boundary vertices)
subVolumeFaceIdx | The local face index in the interaction volume |
true
if the flux face is inside the model domain.
|
inline |
Check if an interaction volume face is outside the model domain (for boundary vertices)
subVolumeFaceIdx | The local face index in the interaction volume |
true
if the flux face is outside the model domain.
|
inline |
Print the stored interaction volume data.
|
inline |
Reset the interaction volume (deletes stored data)
|
inline |
Store the types of boundary conditions.
boundaryTypes | BoundaryTypes object |
subVolumeFaceIdx | The local face index in the interaction volume |
|
inline |
Store position of the central vertex.
|
inline |
Store Dirichlet boundary conditions.
condition | Vector of primary variables |
subVolumeFaceIdx | The local face index in the interaction volume |
|
inline |
Store the center of the edges.
pos | Position of face center |
edgeIdx | The interaction volume edge index |
|
inline |
Store the flux face areas.
faceArea | The flux face area |
fIdx | The interaction volume face index |
|
inline |
Store the position of a flux face.
pos | Position of face center |
fIdx | The interaction volume face index |
|
inline |
Store the local dune face index dependent on the local interaction volume indices.
indexInInside | Face index of the Dune reference element |
subVolumeIdx | The local element index in the interaction volume |
subVolumeFaceIdx | The local face index in the interaction volume element |
|
inline |
Store Neumann boundary conditions.
condition | Vector phase fluxes |
subVolumeFaceIdx | The local face index in the interaction volume |
|
inline |
Store the normals.
normal | The normal vector |
subVolumeIdx | The local element index in the interaction volume |
subVolumeFaceIdx | The local face index in the interaction volume element |
|
inline |
Define a flux face to be outside the model domain (for boundary vertices)
subVolumeFaceIdx | The local face index in the interaction volume |
|
inline |
Store a dune element as a sub volume element.
element | The element |
subVolumeIdx | The local element index in the interaction volume |