24#ifndef DUMUX_DISCRETIZATION_PNM_SUBCONTROLVOLUMEFACE_HH
25#define DUMUX_DISCRETIZATION_PNM_SUBCONTROLVOLUMEFACE_HH
37template<
class Gr
idView>
40 using Grid =
typename GridView::Grid;
41 static constexpr int dim = Grid::dimension;
42 static constexpr int dimWorld = Grid::dimensionworld;
49 using CornerStorage = std::array<Dune::FieldVector<Scalar, dimWorld>, 1>;
65 using GridIndexType =
typename T::GridIndexType;
66 using LocalIndexType =
typename T::LocalIndexType;
67 using Scalar =
typename T::Scalar;
82 GridIndexType scvfIndex,
83 std::array<LocalIndexType, 2>&& scvIndices)
87 scvfIndex_(scvfIndex),
88 scvIndices_(std::move(scvIndices))
109 {
return unitOuterNormal_; }
113 {
return scvIndices_[0]; }
118 {
return scvIndices_[1]; }
122 {
return scvfIndex_; }
128 GridIndexType scvfIndex_;
129 std::array<LocalIndexType, 2> scvIndices_;
Defines the index types used for grid and local indices.
Base class for a sub control volume face.
Definition: discretization/porenetwork/fvelementgeometry.hh:33
typename GridView::IndexSet::IndexType GridIndex
Definition: indextraits.hh:39
unsigned int LocalIndex
Definition: indextraits.hh:40
Default traits class.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:39
typename IndexTraits< GridView >::LocalIndex LocalIndexType
Definition: discretization/porenetwork/subcontrolvolumeface.hh:45
typename GridView::Grid Grid
Definition: discretization/porenetwork/subcontrolvolumeface.hh:40
std::array< Dune::FieldVector< Scalar, dimWorld >, 1 > CornerStorage
Definition: discretization/porenetwork/subcontrolvolumeface.hh:49
Dune::FieldVector< Scalar, dimWorld > GlobalPosition
Definition: discretization/porenetwork/subcontrolvolumeface.hh:48
static constexpr int dim
Definition: discretization/porenetwork/subcontrolvolumeface.hh:41
typename Grid::ctype Scalar
Definition: discretization/porenetwork/subcontrolvolumeface.hh:47
typename IndexTraits< GridView >::GridIndex GridIndexType
Definition: discretization/porenetwork/subcontrolvolumeface.hh:44
static constexpr int dimWorld
Definition: discretization/porenetwork/subcontrolvolumeface.hh:42
Class for a sub control volume face for porenetworks.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:62
LocalIndexType outsideScvIdx() const
Index of the outside sub control volume for spatial param evaluation.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:117
const GlobalPosition & unitOuterNormal() const
The unit outer normal of the sub control volume face.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:108
LocalIndexType insideScvIdx() const
Index of the inside sub control volume for spatial param evaluation.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:112
Scalar area() const
The area of the sub control volume face.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:100
const GlobalPosition & center() const
The center of the sub control volume face.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:92
bool boundary() const
We assume to always have a pore body and not a pore throat at the boundary.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:104
const GlobalPosition & ipGlobal() const
The integration point for flux evaluations in global coordinates.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:96
GridIndexType index() const
The local index of this sub control volume face.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:121
typename T::GlobalPosition GlobalPosition
export the type used for global coordinates
Definition: discretization/porenetwork/subcontrolvolumeface.hh:71
T Traits
state the traits public and thus export all types
Definition: discretization/porenetwork/subcontrolvolumeface.hh:73
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:79
PNMSubControlVolumeFace()=default
The default constructor.
Base class for a sub control volume face, i.e a part of the boundary of a sub control volume we compu...
Definition: subcontrolvolumefacebase.hh:41