KASKADE 7 development version
Public Types | Public Member Functions | Static Public Attributes | List of all members
Kaskade::BoundaryNormalCollector< GridView, OuterBoundaryPolicy, InnerBoundaryPolicy, Phase, PhasePolicy > Class Template Reference

Collects face normals associated to corners (2D,3D) and edges(3D only). More...

#include <boundarynormalcollector.hh>

Detailed Description

template<class GridView, class OuterBoundaryPolicy = Policy::ConsiderOuterBoundary, class InnerBoundaryPolicy = Policy::IgnoreInnerBoundary, class Phase = typename GridView::ctype, template< class > class PhasePolicy = Policy::NoPhaseInfo>
class Kaskade::BoundaryNormalCollector< GridView, OuterBoundaryPolicy, InnerBoundaryPolicy, Phase, PhasePolicy >

Collects face normals associated to corners (2D,3D) and edges(3D only).

Users can specify the collectors behaviour via 3 policies (see namespace Policy): a) PhasePolicy: specifies phases b) OuterBoundaryPolicy: specifies the behaviour on the domain boundary c) InnerBoundaryPolicy: specifies the behaviour on inner boundaries (intersections of Codim<0>-entities where different phases meet). A specification of this policy only makes sense if different phases have been specified (i.e. in a (discontinuous) FunctionSpaceElement).

Definition at line 252 of file boundarynormalcollector.hh.

Public Types

typedef GridView::ctype Scalar
 
typedef InterpolationTools::NormalContainer< Scalar, dimNormalContainer
 

Public Member Functions

 BoundaryNormalCollector (GridView const &gridView_, OuterBoundaryPolicy const &outerBoundaryPolicy=OuterBoundaryPolicy(), InnerBoundaryPolicy const &innerBoundaryPolicy=InnerBoundaryPolicy())
 Constructor for the case that no phase ids are provided. More...
 
 BoundaryNormalCollector (GridView const &gridView_, Phase const &phase, OuterBoundaryPolicy const &outerBoundaryPolicy=OuterBoundaryPolicy(), InnerBoundaryPolicy const &innerBoundaryPolicy=InnerBoundaryPolicy())
 Constructor for the case that phase ids are provided. More...
 
NormalContainer normals () const
 Get normals of all faces incident to each vertex. More...
 
NormalContainer meanNormals () const
 Get average of normals incident to each vertex. More...
 
 BoundaryNormalCollector ()=delete
 
 BoundaryNormalCollector (BoundaryNormalCollector const &)=delete
 
BoundaryNormalCollectoroperator= (BoundaryNormalCollector const &)=delete
 
 ~BoundaryNormalCollector ()=default
 

Static Public Attributes

static int const dim = GridView::dimension
 

Member Typedef Documentation

◆ NormalContainer

template<class GridView , class OuterBoundaryPolicy = Policy::ConsiderOuterBoundary, class InnerBoundaryPolicy = Policy::IgnoreInnerBoundary, class Phase = typename GridView::ctype, template< class > class PhasePolicy = Policy::NoPhaseInfo>
typedef InterpolationTools::NormalContainer<Scalar,dim> Kaskade::BoundaryNormalCollector< GridView, OuterBoundaryPolicy, InnerBoundaryPolicy, Phase, PhasePolicy >::NormalContainer

Definition at line 257 of file boundarynormalcollector.hh.

◆ Scalar

template<class GridView , class OuterBoundaryPolicy = Policy::ConsiderOuterBoundary, class InnerBoundaryPolicy = Policy::IgnoreInnerBoundary, class Phase = typename GridView::ctype, template< class > class PhasePolicy = Policy::NoPhaseInfo>
typedef GridView::ctype Kaskade::BoundaryNormalCollector< GridView, OuterBoundaryPolicy, InnerBoundaryPolicy, Phase, PhasePolicy >::Scalar

Definition at line 256 of file boundarynormalcollector.hh.

Constructor & Destructor Documentation

◆ BoundaryNormalCollector() [1/4]

template<class GridView , class OuterBoundaryPolicy = Policy::ConsiderOuterBoundary, class InnerBoundaryPolicy = Policy::IgnoreInnerBoundary, class Phase = typename GridView::ctype, template< class > class PhasePolicy = Policy::NoPhaseInfo>
Kaskade::BoundaryNormalCollector< GridView, OuterBoundaryPolicy, InnerBoundaryPolicy, Phase, PhasePolicy >::BoundaryNormalCollector ( GridView const &  gridView_,
OuterBoundaryPolicy const &  outerBoundaryPolicy = OuterBoundaryPolicy(),
InnerBoundaryPolicy const &  innerBoundaryPolicy = InnerBoundaryPolicy() 
)
inline

Constructor for the case that no phase ids are provided.

Definition at line 260 of file boundarynormalcollector.hh.

◆ BoundaryNormalCollector() [2/4]

template<class GridView , class OuterBoundaryPolicy = Policy::ConsiderOuterBoundary, class InnerBoundaryPolicy = Policy::IgnoreInnerBoundary, class Phase = typename GridView::ctype, template< class > class PhasePolicy = Policy::NoPhaseInfo>
Kaskade::BoundaryNormalCollector< GridView, OuterBoundaryPolicy, InnerBoundaryPolicy, Phase, PhasePolicy >::BoundaryNormalCollector ( GridView const &  gridView_,
Phase const &  phase,
OuterBoundaryPolicy const &  outerBoundaryPolicy = OuterBoundaryPolicy(),
InnerBoundaryPolicy const &  innerBoundaryPolicy = InnerBoundaryPolicy() 
)
inline

Constructor for the case that phase ids are provided.

Providing an phase-element together with Policy::NoPhaseInfo will result in a compile-time error.

Definition at line 269 of file boundarynormalcollector.hh.

◆ BoundaryNormalCollector() [3/4]

template<class GridView , class OuterBoundaryPolicy = Policy::ConsiderOuterBoundary, class InnerBoundaryPolicy = Policy::IgnoreInnerBoundary, class Phase = typename GridView::ctype, template< class > class PhasePolicy = Policy::NoPhaseInfo>
Kaskade::BoundaryNormalCollector< GridView, OuterBoundaryPolicy, InnerBoundaryPolicy, Phase, PhasePolicy >::BoundaryNormalCollector ( )
delete

◆ BoundaryNormalCollector() [4/4]

template<class GridView , class OuterBoundaryPolicy = Policy::ConsiderOuterBoundary, class InnerBoundaryPolicy = Policy::IgnoreInnerBoundary, class Phase = typename GridView::ctype, template< class > class PhasePolicy = Policy::NoPhaseInfo>
Kaskade::BoundaryNormalCollector< GridView, OuterBoundaryPolicy, InnerBoundaryPolicy, Phase, PhasePolicy >::BoundaryNormalCollector ( BoundaryNormalCollector< GridView, OuterBoundaryPolicy, InnerBoundaryPolicy, Phase, PhasePolicy > const &  )
delete

◆ ~BoundaryNormalCollector()

template<class GridView , class OuterBoundaryPolicy = Policy::ConsiderOuterBoundary, class InnerBoundaryPolicy = Policy::IgnoreInnerBoundary, class Phase = typename GridView::ctype, template< class > class PhasePolicy = Policy::NoPhaseInfo>
Kaskade::BoundaryNormalCollector< GridView, OuterBoundaryPolicy, InnerBoundaryPolicy, Phase, PhasePolicy >::~BoundaryNormalCollector ( )
default

Member Function Documentation

◆ meanNormals()

template<class GridView , class OuterBoundaryPolicy = Policy::ConsiderOuterBoundary, class InnerBoundaryPolicy = Policy::IgnoreInnerBoundary, class Phase = typename GridView::ctype, template< class > class PhasePolicy = Policy::NoPhaseInfo>
NormalContainer Kaskade::BoundaryNormalCollector< GridView, OuterBoundaryPolicy, InnerBoundaryPolicy, Phase, PhasePolicy >::meanNormals ( ) const
inline

Get average of normals incident to each vertex.

Definition at line 286 of file boundarynormalcollector.hh.

◆ normals()

template<class GridView , class OuterBoundaryPolicy = Policy::ConsiderOuterBoundary, class InnerBoundaryPolicy = Policy::IgnoreInnerBoundary, class Phase = typename GridView::ctype, template< class > class PhasePolicy = Policy::NoPhaseInfo>
NormalContainer Kaskade::BoundaryNormalCollector< GridView, OuterBoundaryPolicy, InnerBoundaryPolicy, Phase, PhasePolicy >::normals ( ) const
inline

Get normals of all faces incident to each vertex.

Definition at line 275 of file boundarynormalcollector.hh.

◆ operator=()

template<class GridView , class OuterBoundaryPolicy = Policy::ConsiderOuterBoundary, class InnerBoundaryPolicy = Policy::IgnoreInnerBoundary, class Phase = typename GridView::ctype, template< class > class PhasePolicy = Policy::NoPhaseInfo>
BoundaryNormalCollector & Kaskade::BoundaryNormalCollector< GridView, OuterBoundaryPolicy, InnerBoundaryPolicy, Phase, PhasePolicy >::operator= ( BoundaryNormalCollector< GridView, OuterBoundaryPolicy, InnerBoundaryPolicy, Phase, PhasePolicy > const &  )
delete

Member Data Documentation

◆ dim

template<class GridView , class OuterBoundaryPolicy = Policy::ConsiderOuterBoundary, class InnerBoundaryPolicy = Policy::IgnoreInnerBoundary, class Phase = typename GridView::ctype, template< class > class PhasePolicy = Policy::NoPhaseInfo>
int const Kaskade::BoundaryNormalCollector< GridView, OuterBoundaryPolicy, InnerBoundaryPolicy, Phase, PhasePolicy >::dim = GridView::dimension
static

Definition at line 255 of file boundarynormalcollector.hh.


The documentation for this class was generated from the following file: