24#ifndef DUMUX_DISCRETIZATION_SUBCONTROLVOLUMEFACEBASE_HH
25#define DUMUX_DISCRETIZATION_SUBCONTROLVOLUMEFACEBASE_HH
28#include <dune/common/fvector.hh>
39template<
class Imp,
class ScvfGeometryTraits>
42 using Implementation = Imp;
43 using GridIndexType =
typename ScvfGeometryTraits::GridIndexType;
44 using Scalar =
typename ScvfGeometryTraits::Scalar;
55 return asImp_().center();
62 return asImp_().ipGlobal();
68 return asImp_().area();
74 return asImp_().boundary();
80 return asImp_().unitOuterNormal();
86 return asImp_().insideScvIdx();
94 return asImp_().outsideScvIdx(i);
100 return asImp_().index();
104 const Implementation& asImp_()
const
105 {
return *
static_cast<const Implementation*
>(
this); }
107 Implementation& asImp_()
108 {
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:41
GridIndexType index() const
The global index of this sub control volume face.
Definition: subcontrolvolumefacebase.hh:98
GlobalPosition unitOuterNormal() const
the unit outward pointing normal on the scv face
Definition: subcontrolvolumefacebase.hh:78
GridIndexType insideScvIdx() const
index of the inside sub control volume for spatial param evaluation
Definition: subcontrolvolumefacebase.hh:84
bool boundary() const
returns bolean if the sub control volume face is on the boundary
Definition: subcontrolvolumefacebase.hh:72
typename ScvfGeometryTraits::GlobalPosition GlobalPosition
export the type used for global coordinates
Definition: subcontrolvolumefacebase.hh:48
Scalar area() const
The area of the sub control volume face.
Definition: subcontrolvolumefacebase.hh:66
GlobalPosition ipGlobal() const
The integration point for flux evaluations in global coordinates.
Definition: subcontrolvolumefacebase.hh:59
GridIndexType outsideScvIdx(int i=0) const
Definition: subcontrolvolumefacebase.hh:92
GlobalPosition center() const
The center of the sub control volume face.
Definition: subcontrolvolumefacebase.hh:53
ScvfGeometryTraits Traits
state the traits public and thus export all types
Definition: subcontrolvolumefacebase.hh:50