12#ifndef DUMUX_DISCRETIZATION_PNM_SUBCONTROLVOLUMEFACE_HH
13#define DUMUX_DISCRETIZATION_PNM_SUBCONTROLVOLUMEFACE_HH
15#include <dune/geometry/axisalignedcubegeometry.hh>
26template<
class Gr
idView>
29 using Grid =
typename GridView::Grid;
30 static constexpr int dim = Grid::dimension;
31 static constexpr int dimWorld = Grid::dimensionworld;
38 using CornerStorage = std::array<Dune::FieldVector<Scalar, dimWorld>, 1>;
56 using GridIndexType =
typename T::GridIndexType;
57 using LocalIndexType =
typename T::LocalIndexType;
58 using Scalar =
typename T::Scalar;
73 GridIndexType scvfIndex,
74 std::array<LocalIndexType, 2>&& scvIndices)
78 scvfIndex_(scvfIndex),
79 scvIndices_(std::move(scvIndices))
100 {
return unitOuterNormal_; }
104 {
return scvIndices_[0]; }
109 {
return scvIndices_[1]; }
113 {
return scvfIndex_; }
119 GridIndexType scvfIndex_;
120 std::array<LocalIndexType, 2> scvIndices_;
Class for a sub control volume face for porenetworks.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:53
LocalIndexType outsideScvIdx() const
Index of the outside sub control volume for spatial param evaluation.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:108
const GlobalPosition & unitOuterNormal() const
The unit outer normal of the sub control volume face.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:99
LocalIndexType insideScvIdx() const
Index of the inside sub control volume for spatial param evaluation.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:103
Scalar area() const
The area of the sub control volume face.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:91
const GlobalPosition & center() const
The center of the sub control volume face.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:83
bool boundary() const
We assume to always have a pore body and not a pore throat at the boundary.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:95
const GlobalPosition & ipGlobal() const
The integration point for flux evaluations in global coordinates.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:87
GridIndexType index() const
The local index of this sub control volume face.
Definition: discretization/porenetwork/subcontrolvolumeface.hh:112
typename T::GlobalPosition GlobalPosition
export the type used for global coordinates
Definition: discretization/porenetwork/subcontrolvolumeface.hh:62
T Traits
state the traits public and thus export all types
Definition: discretization/porenetwork/subcontrolvolumeface.hh:64
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:70
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:29
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:28
typename IndexTraits< GridView >::LocalIndex LocalIndexType
Definition: discretization/porenetwork/subcontrolvolumeface.hh:34
Dune::AxisAlignedCubeGeometry< Scalar, dim-1, dimWorld > Geometry
Definition: discretization/porenetwork/subcontrolvolumeface.hh:39
typename GridView::Grid Grid
Definition: discretization/porenetwork/subcontrolvolumeface.hh:29
std::array< Dune::FieldVector< Scalar, dimWorld >, 1 > CornerStorage
Definition: discretization/porenetwork/subcontrolvolumeface.hh:38
Dune::FieldVector< Scalar, dimWorld > GlobalPosition
Definition: discretization/porenetwork/subcontrolvolumeface.hh:37
static constexpr int dim
Definition: discretization/porenetwork/subcontrolvolumeface.hh:30
typename Grid::ctype Scalar
Definition: discretization/porenetwork/subcontrolvolumeface.hh:36
typename IndexTraits< GridView >::GridIndex GridIndexType
Definition: discretization/porenetwork/subcontrolvolumeface.hh:33
static constexpr int dimWorld
Definition: discretization/porenetwork/subcontrolvolumeface.hh:31
Base class for a sub control volume face.