12#ifndef DUMUX_DISCRETIZATION_SUBCONTROLVOLUMEFACEBASE_HH
13#define DUMUX_DISCRETIZATION_SUBCONTROLVOLUMEFACEBASE_HH
16#include <dune/common/fvector.hh>
27template<
class Imp,
class ScvfGeometryTraits>
30 using Implementation = Imp;
31 using GridIndexType =
typename ScvfGeometryTraits::GridIndexType;
32 using Scalar =
typename ScvfGeometryTraits::Scalar;
43 return asImp_().center();
50 return asImp_().ipGlobal();
56 return asImp_().area();
62 return asImp_().boundary();
68 return asImp_().unitOuterNormal();
74 return asImp_().insideScvIdx();
82 return asImp_().outsideScvIdx(i);
88 return asImp_().index();
92 const Implementation& asImp_()
const
93 {
return *
static_cast<const Implementation*
>(
this); }
95 Implementation& asImp_()
96 {
return *
static_cast<Implementation*
>(
this); }
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
GridIndexType index() const
The global index of this sub control volume face.
Definition: subcontrolvolumefacebase.hh:86
GlobalPosition unitOuterNormal() const
the unit outward pointing normal on the scv face
Definition: subcontrolvolumefacebase.hh:66
GridIndexType insideScvIdx() const
index of the inside sub control volume for spatial param evaluation
Definition: subcontrolvolumefacebase.hh:72
bool boundary() const
returns boolean if the sub control volume face is on the boundary
Definition: subcontrolvolumefacebase.hh:60
typename ScvfGeometryTraits::GlobalPosition GlobalPosition
export the type used for global coordinates
Definition: subcontrolvolumefacebase.hh:36
Scalar area() const
The area of the sub control volume face.
Definition: subcontrolvolumefacebase.hh:54
GlobalPosition ipGlobal() const
The integration point for flux evaluations in global coordinates.
Definition: subcontrolvolumefacebase.hh:47
GridIndexType outsideScvIdx(int i=0) const
Definition: subcontrolvolumefacebase.hh:80
GlobalPosition center() const
The center of the sub control volume face.
Definition: subcontrolvolumefacebase.hh:41
ScvfGeometryTraits Traits
state the traits public and thus export all types
Definition: subcontrolvolumefacebase.hh:38