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>
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 > | |
FreeFlowStaggeredSubControlVolumeFace (const Intersection &is, const typename Intersection::Geometry &isGeometry, GridIndexType scvfIndex, const std::vector< GridIndexType > &scvIndices, const typename T::GeometryHelper &geometryHelper) | |
Constructor with intersection. More... | |
const GlobalPosition & | center () const |
The center of the sub control volume face. More... | |
const GlobalPosition & | dofPosition () const |
The position of the dof living on the face. More... | |
const GlobalPosition & | ipGlobal () 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 boolean if the sub control volume face is on the boundary. More... | |
const GlobalPosition & | unitOuterNormal () 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 GlobalPosition & | corner (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 direction 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 | hasHalfParallelNeighbor (const int localSubFaceIdx) const |
Check if the face has a half parallel neighbor. More... | |
bool | hasCornerParallelNeighbor (const int localSubFaceIdx) const |
Check if the face has a corner 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... | |
void | setCenter (const GlobalPosition ¢er) |
set the center to a different position More... | |
void | setBoundary (bool boundaryFlag) |
set the boundary flag More... | |
void | setIsGhostFace (bool isGhostFaceFlag) |
set the ghost face flag More... | |
GridIndexType | outsideScvIdx (int i=0) const |
Static Public Attributes | |
static constexpr int | numCornersPerFace = 2 * (dim - 1) |
using Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::GlobalPosition = typename T::GlobalPosition |
using Dumux::FreeFlowStaggeredSubControlVolumeFace< GV, upwindSchemeOrder, T >::Traits = T |
State the traits public and thus export all types.
|
default |
|
inline |
Constructor with intersection.
|
inline |
The area of the sub control volume face.
|
inline |
Return an array of all pair data.
|
inline |
Returns boolean if the sub control volume face is on the boundary.
|
inline |
The center of the sub control volume face.
|
inline |
The positions of the corners.
|
inline |
Returns the direction index of the facet (0 = x, 1 = y, 2 = z)
|
inline |
Returns the sign of the unit outer normal's vector.
|
inline |
Returns the dof of the face.
|
inline |
Returns the dof of the first backward face.
|
inline |
Returns the dof the first forward face.
|
inline |
Returns the dof of the opposing face.
|
inline |
The position of the dof living on the face.
|
inline |
Returns the length of the face in a certain direction (adaptation of area() for 3d)
|
inline |
The geometry of the sub control volume face.
|
inline |
Check if the face has a backward neighbor.
backwardIdx | The index describing how many faces backward this dof is from the opposite face |
|
inline |
Check if the face has a corner parallel neighbor.
localSubFaceIdx | The local index of the subface |
| yyyyyyyy s | yyyyyyyy s
In this corner geometry, hasParallelNeighbor will return true for subcontrolvolumeface s belonging to the element filled by 'y's. However, as there also might be a boundary velocity value known at the corner, which can be used instead of the standard parallel velocity in some cases, we want to identify this situation. We name it cornerParallelNeighbor.
|
inline |
Check if the face has a forward neighbor.
forwardIdx | The index describing how many faces forward this dof is of the self face |
|
inline |
Check if the face has a half parallel neighbor.
localSubFaceIdx | The local index of the subface |
| yyyyyyyy s | | yyyyyyyy s |
In this corner geometry, hasParallelNeighbor will return true for subcontrolvolumeface s belonging to the element filled by 'y's, but hasParallelNeighbor will return false for the subcontrolvolumeface that has the same dofIndex. We name this situation hasHalfParallelNeighbor.
|
inline |
Check if the face has an outer normal neighbor.
localSubFaceIdx | The local index of the subface |
|
inline |
Check if the face has a parallel neighbor.
localSubFaceIdx | The local index of the subface |
parallelDegreeIdx | The index describing how many faces away from the self face |
|
inline |
The global index of this sub control volume face.
|
inline |
Index of the inside sub control volume for spatial param evaluation.
|
inline |
The integration point for flux evaluations in global coordinates.
|
inline |
Returns true if the face is a ghost face.
|
inline |
The local index of this sub control volume face.
|
inline |
Returns whether the unitNormal of the face points in positive coordinate direction.
|
inline |
index of the outside sub control volume for spatial param evaluation
|
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
|
inline |
Return an array of all pair data.
|
inline |
Returns the data for one sub face.
|
inline |
Returns the distance between the parallel dofs.
localSubFaceIdx | The local index of the subface |
parallelDegreeIdx | The index describing how many faces away from the self |
|
inline |
Returns the distance between the face and the opposite one.
|
inline |
set the boundary flag
|
inline |
set the center to a different position
|
inline |
set the ghost face flag
|
inline |
The unit outer normal vector.
|
staticconstexpr |