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

Class for a sub control volume face in the staggered method, i.e a part of the boundary of a sub control volume we compute fluxes on. This is a specialization for free flow models. More...

#include <dumux/discretization/staggered/freeflow/subcontrolvolumeface.hh>

Inheritance diagram for Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >:
Inheritance graph

Description

template<class GV, int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
class Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >

Class for a sub control volume face in the staggered method, i.e a part of the boundary of a sub control volume we compute fluxes on. This is a specialization for free flow models.

Public Types

using GlobalPosition = typename T::GlobalPosition
 
using Traits = T
 State the traits public and thus export all types. More...
 

Public Member Functions

 FreeFlowStaggeredSubControlVolumeFace ()=default
 
template<class Intersection , class GeometryHelper >
 FreeFlowStaggeredSubControlVolumeFace (const Intersection &is, const typename Intersection::Geometry &isGeometry, GridIndexType scvfIndex, const std::vector< GridIndexType > &scvIndices, const GeometryHelper &geometryHelper)
 Constructor with intersection. More...
 
const GlobalPositioncenter () const
 The center of the sub control volume face. More...
 
const GlobalPositiondofPosition () const
 The position of the dof living on the face. More...
 
const GlobalPositionipGlobal () const
 The integration point for flux evaluations in global coordinates. More...
 
Scalar area () const
 The area of the sub control volume face. More...
 
bool boundary () const
 Returns bolean if the sub control volume face is on the boundary. More...
 
const GlobalPositionunitOuterNormal () const
 The unit outer normal vector. More...
 
GridIndexType insideScvIdx () const
 Index of the inside sub control volume for spatial param evaluation. More...
 
GridIndexType outsideScvIdx () const
 index of the outside sub control volume for spatial param evaluation More...
 
GridIndexType index () const
 The global index of this sub control volume face. More...
 
const GlobalPositioncorner (unsigned int localIdx) const
 The positions of the corners. More...
 
const Geometry geometry () const
 The geometry of the sub control volume face. More...
 
LocalIndexType localFaceIdx () const
 The local index of this sub control volume face. More...
 
unsigned int directionIndex () const
 Returns the dirction index of the facet (0 = x, 1 = y, 2 = z) More...
 
bool normalInPosCoordDir () const
 Returns whether the unitNormal of the face points in positive coordinate direction. More...
 
int directionSign () const
 Returns the sign of the unit outer normal's vector. More...
 
const PairData & pairData (const int idx) const
 Returns the data for one sub face. More...
 
const std::array< PairData, numPairs > & pairData () const
 Return an array of all pair data. More...
 
const AxisData & axisData () const
 Return an array of all pair data. More...
 
bool isGhostFace () const
 Returns true if the face is a ghost face. More...
 
Scalar faceLength (const int localSubFaceIdx) const
 Returns the length of the face in a certain direction (adaptation of area() for 3d) More...
 
bool hasParallelNeighbor (const int localSubFaceIdx, const int parallelDegreeIdx) const
 Check if the face has a parallel neighbor. More...
 
bool hasOuterLateral (const int localSubFaceIdx) const
 Check if the face has an outer normal neighbor. More...
 
template<bool enable = useHigherOrder, std::enable_if_t< enable, int > = 0>
bool hasBackwardNeighbor (const int backwardIdx) const
 Check if the face has a backward neighbor. More...
 
template<bool enable = useHigherOrder, std::enable_if_t< enable, int > = 0>
bool hasForwardNeighbor (const int forwardIdx) const
 Check if the face has a forward neighbor. More...
 
GridIndexType dofIndex () const
 Returns the dof of the face. More...
 
GridIndexType dofIndexOpposingFace () const
 Returns the dof of the opposing face. More...
 
GridIndexType dofIndexForwardFace () const
 Returns the dof the first forward face. More...
 
GridIndexType dofIndexBackwardFace () const
 Returns the dof of the first backward face. More...
 
Scalar selfToOppositeDistance () const
 Returns the distance between the face and the opposite one. More...
 
Scalar parallelDofsDistance (const int localSubFaceIdx, const int parallelDegreeIdx) const
 Returns the distance between the parallel dofs. More...
 
FreeFlowStaggeredSubControlVolumeFace makeBoundaryFace (const GlobalPosition &pos) const
 Returns a copy of the own scvf whith a user-specified center position. This is needed for retrieving boundary conditions when the actual center does not coincide with the position on which the boundary condition is defined. More...
 
GridIndexType outsideScvIdx (int i=0) const
 

Member Typedef Documentation

◆ GlobalPosition

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
using Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::GlobalPosition = typename T::GlobalPosition

◆ Traits

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
using Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::Traits = T

State the traits public and thus export all types.

Constructor & Destructor Documentation

◆ FreeFlowStaggeredSubControlVolumeFace() [1/2]

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::FreeFlowStaggeredSubControlVolumeFace ( )
default

◆ FreeFlowStaggeredSubControlVolumeFace() [2/2]

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
template<class Intersection , class GeometryHelper >
Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::FreeFlowStaggeredSubControlVolumeFace ( const Intersection &  is,
const typename Intersection::Geometry &  isGeometry,
GridIndexType  scvfIndex,
const std::vector< GridIndexType > &  scvIndices,
const GeometryHelper &  geometryHelper 
)
inline

Constructor with intersection.

Member Function Documentation

◆ area()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
Scalar Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::area ( ) const
inline

The area of the sub control volume face.

◆ axisData()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
const AxisData & Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::axisData ( ) const
inline

Return an array of all pair data.

◆ boundary()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
bool Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::boundary ( ) const
inline

Returns bolean if the sub control volume face is on the boundary.

◆ center()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
const GlobalPosition & Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::center ( ) const
inline

The center of the sub control volume face.

◆ corner()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
const GlobalPosition & Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::corner ( unsigned int  localIdx) const
inline

The positions of the corners.

◆ directionIndex()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
unsigned int Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::directionIndex ( ) const
inline

Returns the dirction index of the facet (0 = x, 1 = y, 2 = z)

◆ directionSign()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
int Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::directionSign ( ) const
inline

Returns the sign of the unit outer normal's vector.

◆ dofIndex()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
GridIndexType Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::dofIndex ( ) const
inline

Returns the dof of the face.

◆ dofIndexBackwardFace()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
GridIndexType Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::dofIndexBackwardFace ( ) const
inline

Returns the dof of the first backward face.

◆ dofIndexForwardFace()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
GridIndexType Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::dofIndexForwardFace ( ) const
inline

Returns the dof the first forward face.

◆ dofIndexOpposingFace()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
GridIndexType Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::dofIndexOpposingFace ( ) const
inline

Returns the dof of the opposing face.

◆ dofPosition()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
const GlobalPosition & Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::dofPosition ( ) const
inline

The position of the dof living on the face.

◆ faceLength()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
Scalar Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::faceLength ( const int  localSubFaceIdx) const
inline

Returns the length of the face in a certain direction (adaptation of area() for 3d)

◆ geometry()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
const Geometry Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::geometry ( ) const
inline

The geometry of the sub control volume face.

◆ hasBackwardNeighbor()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
template<bool enable = useHigherOrder, std::enable_if_t< enable, int > = 0>
bool Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::hasBackwardNeighbor ( const int  backwardIdx) const
inline

Check if the face has a backward neighbor.

Parameters
backwardIdxThe index describing how many faces backward this dof is from the opposite face

◆ hasForwardNeighbor()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
template<bool enable = useHigherOrder, std::enable_if_t< enable, int > = 0>
bool Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::hasForwardNeighbor ( const int  forwardIdx) const
inline

Check if the face has a forward neighbor.

Parameters
forwardIdxThe index describing how many faces forward this dof is of the self face

◆ hasOuterLateral()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
bool Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::hasOuterLateral ( const int  localSubFaceIdx) const
inline

Check if the face has an outer normal neighbor.

Parameters
localSubFaceIdxThe local index of the subface

◆ hasParallelNeighbor()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
bool Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::hasParallelNeighbor ( const int  localSubFaceIdx,
const int  parallelDegreeIdx 
) const
inline

Check if the face has a parallel neighbor.

Parameters
localSubFaceIdxThe local index of the subface
parallelDegreeIdxThe index describing how many faces away from the self face

◆ index()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
GridIndexType Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::index ( ) const
inline

The global index of this sub control volume face.

◆ insideScvIdx()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
GridIndexType Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::insideScvIdx ( ) const
inline

Index of the inside sub control volume for spatial param evaluation.

◆ ipGlobal()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
const GlobalPosition & Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::ipGlobal ( ) const
inline

The integration point for flux evaluations in global coordinates.

◆ isGhostFace()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
bool Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::isGhostFace ( ) const
inline

Returns true if the face is a ghost face.

◆ localFaceIdx()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
LocalIndexType Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::localFaceIdx ( ) const
inline

The local index of this sub control volume face.

◆ makeBoundaryFace()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
FreeFlowStaggeredSubControlVolumeFace Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::makeBoundaryFace ( const GlobalPosition pos) const
inline

Returns a copy of the own scvf whith a user-specified center position. This is needed for retrieving boundary conditions when the actual center does not coincide with the position on which the boundary condition is defined.

Parameters
posThe desired position of the boundary scvf's center

◆ normalInPosCoordDir()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
bool Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::normalInPosCoordDir ( ) const
inline

Returns whether the unitNormal of the face points in positive coordinate direction.

◆ outsideScvIdx() [1/2]

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
GridIndexType Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::outsideScvIdx ( ) const
inline

index of the outside sub control volume for spatial param evaluation

◆ outsideScvIdx() [2/2]

GridIndexType Dumux::SubControlVolumeFaceBase< FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, FreeFlowStaggeredDefaultScvfGeometryTraits< GV, upwindSchemeOrder > > , FreeFlowStaggeredDefaultScvfGeometryTraits< GV, upwindSchemeOrder > >::outsideScvIdx ( int  i = 0) const
inlineinherited

index of the outside sub control volume for spatial param evaluation This results in undefined behaviour if boundary is true In case of multiple outside scv indices (network grids) an index can be supplied

◆ pairData() [1/2]

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
const std::array< PairData, numPairs > & Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::pairData ( ) const
inline

Return an array of all pair data.

◆ pairData() [2/2]

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
const PairData & Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::pairData ( const int  idx) const
inline

Returns the data for one sub face.

◆ parallelDofsDistance()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
Scalar Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::parallelDofsDistance ( const int  localSubFaceIdx,
const int  parallelDegreeIdx 
) const
inline

Returns the distance between the parallel dofs.

Parameters
localSubFaceIdxThe local index of the subface
parallelDegreeIdxThe index describing how many faces away from the self

◆ selfToOppositeDistance()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
Scalar Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::selfToOppositeDistance ( ) const
inline

Returns the distance between the face and the opposite one.

◆ unitOuterNormal()

template<class GV , int upwindSchemeOrder, class T = FreeFlowStaggeredDefaultScvfGeometryTraits<GV, upwindSchemeOrder>>
const GlobalPosition & Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::unitOuterNormal ( ) const
inline

The unit outer normal vector.


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