3#ifndef DUNE_BOUNDARYPROJECTION_HH
4#define DUNE_BOUNDARYPROJECTION_HH
11#include <dune/common/fvector.hh>
13#include <dune/geometry/multilineargeometry.hh>
22 template <
int dimworld>
34 template <
int dimworld >
56 return proj_( global );
64 template<
int dim,
int dimworld >
70 typedef MultiLinearGeometry<
typename Base::CoordinateType::value_type,dim-1,dimworld> FaceMapping;
85 const std::vector< CoordinateType > &vertices,
87 : faceMapping_( FaceMapping( type, vertices ) ),
98 return *boundarySegment_;
102 FaceMapping faceMapping_;
103 const std::shared_ptr< BoundarySegment > boundarySegment_;
113 template <
int dimworld>
131 const double factor =
radius_ / global.two_norm();
Base class for grid boundary segments of arbitrary geometry.
Include standard header files.
Definition agrid.hh:60
Interface class for vertex projection at the boundary.
Definition boundaryprojection.hh:24
virtual CoordinateType operator()(const CoordinateType &global) const =0
projection operator projection a global coordinate
virtual ~DuneBoundaryProjection()
destructor
Definition boundaryprojection.hh:28
FieldVector< double, dimworld > CoordinateType
type of coordinate vector
Definition boundaryprojection.hh:26
Definition boundaryprojection.hh:37
BaseType::CoordinateType CoordinateType
type of coordinate vector
Definition boundaryprojection.hh:43
BoundaryProjectionWrapper(const BaseType &proje)
Definition boundaryprojection.hh:46
const BaseType & proj_
Definition boundaryprojection.hh:40
DuneBoundaryProjection< dimworld > BaseType
Definition boundaryprojection.hh:39
CoordinateType operator()(const CoordinateType &global) const
projection operator projection a global coordinate
Definition boundaryprojection.hh:54
~BoundaryProjectionWrapper()
destructor
Definition boundaryprojection.hh:51
Definition boundaryprojection.hh:67
CoordinateType operator()(const CoordinateType &global) const
projection operator projection a global coordinate
Definition boundaryprojection.hh:91
const BoundarySegment & boundarySegment() const
Definition boundaryprojection.hh:96
BoundarySegmentWrapper(const GeometryType &type, const std::vector< CoordinateType > &vertices, const std::shared_ptr< BoundarySegment > &boundarySegment)
Definition boundaryprojection.hh:84
Dune::BoundarySegment< dim, dimworld > BoundarySegment
Definition boundaryprojection.hh:74
Base::CoordinateType CoordinateType
Definition boundaryprojection.hh:73
Definition boundaryprojection.hh:115
FieldVector< double, dimworld > CoordinateType
type of coordinate vector
Definition boundaryprojection.hh:117
CircleBoundaryProjection(const double radius=std::sqrt((double) dimworld))
constructor taking radius of circle (default = sqrt( dimworld ) )
Definition boundaryprojection.hh:120
virtual CoordinateType operator()(const CoordinateType &global) const
projection operator projection a global coordinate
Definition boundaryprojection.hh:127
virtual ~CircleBoundaryProjection()
destructor
Definition boundaryprojection.hh:124
const double radius_
radius of circ
Definition boundaryprojection.hh:139
Base class for classes implementing geometries of boundary segments.
Definition boundarysegment.hh:30