12#ifndef DUMUX_DISCRETIZATION_PNM_SUBCONTROLVOLUMEFACE_HH
13#define DUMUX_DISCRETIZATION_PNM_SUBCONTROLVOLUMEFACE_HH
15#include <dune/geometry/axisalignedcubegeometry.hh>
25template<
class Gr
idView>
28 using Grid =
typename GridView::Grid;
29 static constexpr int dim = Grid::dimension;
30 static constexpr int dimWorld = Grid::dimensionworld;
37 using CornerStorage = std::array<Dune::FieldVector<Scalar, dimWorld>, 1>;
53 using GridIndexType =
typename T::GridIndexType;
54 using LocalIndexType =
typename T::LocalIndexType;
55 using Scalar =
typename T::Scalar;
70 GridIndexType scvfIndex,
71 std::array<LocalIndexType, 2>&& scvIndices)
75 scvfIndex_(scvfIndex),
76 scvIndices_(std::move(scvIndices))
97 {
return unitOuterNormal_; }
101 {
return scvIndices_[0]; }
106 {
return scvIndices_[1]; }
110 {
return scvfIndex_; }
116 GridIndexType scvfIndex_;
117 std::array<LocalIndexType, 2> scvIndices_;
Class for a sub control volume face for porenetworks.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:51
LocalIndexType outsideScvIdx() const
Index of the outside sub control volume for spatial param evaluation.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:105
const GlobalPosition & unitOuterNormal() const
The unit outer normal of the sub control volume face.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:96
LocalIndexType insideScvIdx() const
Index of the inside sub control volume for spatial param evaluation.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:100
Scalar area() const
The area of the sub control volume face.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:88
const GlobalPosition & center() const
The center of the sub control volume face.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:80
bool boundary() const
We assume to always have a pore body and not a pore throat at the boundary.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:92
const GlobalPosition & ipGlobal() const
The integration point for flux evaluations in global coordinates.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:84
GridIndexType index() const
The local index of this sub control volume face.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:109
typename T::GlobalPosition GlobalPosition
export the type used for global coordinates
Definition: discretization/porenetwork/subcontrolvolumeface.hh:59
T Traits
state the traits public and thus export all types
Definition: discretization/porenetwork/subcontrolvolumeface.hh:61
PNMSubControlVolumeFace(const GlobalPosition ¢er, const GlobalPosition &unitOuterNormal, const Scalar &area, GridIndexType scvfIndex, std::array< LocalIndexType, 2 > &&scvIndices)
Constructor for inner scvfs.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:67
PNMSubControlVolumeFace()=default
The default constructor.
Definition: discretization/porenetwork/fvelementgeometry.hh:24
typename GridView::IndexSet::IndexType GridIndex
Definition: indextraits.hh:27
unsigned int LocalIndex
Definition: indextraits.hh:28
Default traits class.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:27
typename IndexTraits< GridView >::LocalIndex LocalIndexType
Definition: discretization/porenetwork/subcontrolvolumeface.hh:33
Dune::AxisAlignedCubeGeometry< Scalar, dim-1, dimWorld > Geometry
Definition: discretization/porenetwork/subcontrolvolumeface.hh:38
typename GridView::Grid Grid
Definition: discretization/porenetwork/subcontrolvolumeface.hh:28
std::array< Dune::FieldVector< Scalar, dimWorld >, 1 > CornerStorage
Definition: discretization/porenetwork/subcontrolvolumeface.hh:37
Dune::FieldVector< Scalar, dimWorld > GlobalPosition
Definition: discretization/porenetwork/subcontrolvolumeface.hh:36
static constexpr int dim
Definition: discretization/porenetwork/subcontrolvolumeface.hh:29
typename Grid::ctype Scalar
Definition: discretization/porenetwork/subcontrolvolumeface.hh:35
typename IndexTraits< GridView >::GridIndex GridIndexType
Definition: discretization/porenetwork/subcontrolvolumeface.hh:32
static constexpr int dimWorld
Definition: discretization/porenetwork/subcontrolvolumeface.hh:30