dune-grid-glue  2.3.0
Public Types | Public Member Functions | Friends | List of all members
Dune::GridGlue::Intersection< P0, P1, I, O > Class Template Reference

The intersection of two entities of the two patches of a GridGlue. More...

#include <dune/grid-glue/gridglue.hh>

Inheritance diagram for Dune::GridGlue::Intersection< P0, P1, I, O >:
Inheritance graph

Public Types

enum  { coorddim = Traits::coorddim, mydim = Traits::mydim, insidePatch = Traits::insidePatch, outsidePatch = Traits::outsidePatch }
 
typedef IntersectionTraits< P0,
P1, I, O > 
Traits
 
typedef Traits::GridGlue GridGlue
 
typedef Traits::IntersectionData IntersectionData
 
typedef Traits::InsideGridView InsideGridView
 
typedef Traits::InsideLocalGeometry InsideLocalGeometry
 
typedef Traits::OutsideGridView OutsideGridView
 
typedef
Traits::OutsideLocalGeometry 
OutsideLocalGeometry
 
typedef Traits::OutsideGeometry OutsideGeometry
 
typedef Traits::Geometry Geometry
 
typedef Traits::ctype ctype
 
typedef
InsideGridView::Traits::template
Codim< 0 >::Entity 
InsideEntity
 
typedef
InsideGridView::Traits::template
Codim< 0 >::EntityPointer 
InsideEntityPointer
 
typedef
OutsideGridView::Traits::template
Codim< 0 >::Entity 
OutsideEntity
 
typedef
OutsideGridView::Traits::template
Codim< 0 >::EntityPointer 
OutsideEntityPointer
 
typedef Traits::LocalCoordinate LocalCoordinate
 
typedef Traits::GlobalCoordinate GlobalCoordinate
 

Public Member Functions

 Intersection (const GridGlue *glue, const IntersectionData *i)
 Constructor for a given Dataset. More...
 
InsideEntityPointer inside (unsigned int parentId=0) const
 Return EntityPointer to the Entity on the inside of this intersection. More...
 
OutsideEntityPointer outside (unsigned int parentId=0) const
 Return EntityPointer to the Entity on the outside of this intersection. More...
 
bool conforming () const
 Return true if intersection is conforming. More...
 
const InsideLocalGeometry & geometryInInside (unsigned int parentId=0) const
 Geometric information about this intersection in local coordinates of the inside() entity. More...
 
const OutsideLocalGeometry & geometryInOutside (unsigned int parentId=0) const
 Geometric information about this intersection in local coordinates of the outside() entity. More...
 
const Geometry & geometry () const
 Geometric information about this intersection as part of the inside grid. More...
 
const OutsideGeometry & geometryOutside () const
 Geometric information about this intersection as part of the outside grid. More...
 
Dune::GeometryType type () const
 Type of reference element for this intersection. More...
 
bool self () const
 For parallel computations: Return true if inside() entity exists locally. More...
 
size_t neighbor (unsigned int g=0) const
 For parallel computations: Return true if outside() entity exists locally. More...
 
int indexInInside (unsigned int parentId=0) const
 Local number of codim 1 entity in the inside() Entity where intersection is contained in. More...
 
int indexInOutside (unsigned int parentId=0) const
 Local number of codim 1 entity in outside() Entity where intersection is contained in. More...
 
GlobalCoordinate outerNormal (const Dune::FieldVector< ctype, mydim > &local) const
 Return an outer normal (length not necessarily 1) More...
 
GlobalCoordinate unitOuterNormal (const Dune::FieldVector< ctype, mydim > &local) const
 Return a unit outer normal. More...
 
GlobalCoordinate integrationOuterNormal (const Dune::FieldVector< ctype, mydim > &local) const
 Return an outer normal with the length of the integration element. More...
 
GlobalCoordinate centerUnitOuterNormal () const
 Unit outer normal at the center of the intersection. More...
 
Intersection< P0, P1, O, I > flip () const
 

Friends

class IntersectionIndexSet< P0, P1 >
 

Detailed Description

template<typename P0, typename P1, int I, int O>
class Dune::GridGlue::Intersection< P0, P1, I, O >

The intersection of two entities of the two patches of a GridGlue.

Member Typedef Documentation

template<typename P0, typename P1, int I, int O>
typedef Traits::ctype Dune::GridGlue::Intersection< P0, P1, I, O >::ctype
template<typename P0, typename P1, int I, int O>
typedef Traits::Geometry Dune::GridGlue::Intersection< P0, P1, I, O >::Geometry
template<typename P0, typename P1, int I, int O>
typedef Traits::GlobalCoordinate Dune::GridGlue::Intersection< P0, P1, I, O >::GlobalCoordinate
template<typename P0, typename P1, int I, int O>
typedef Traits::GridGlue Dune::GridGlue::Intersection< P0, P1, I, O >::GridGlue
template<typename P0, typename P1, int I, int O>
typedef InsideGridView::Traits::template Codim<0>::Entity Dune::GridGlue::Intersection< P0, P1, I, O >::InsideEntity
template<typename P0, typename P1, int I, int O>
typedef InsideGridView::Traits::template Codim<0>::EntityPointer Dune::GridGlue::Intersection< P0, P1, I, O >::InsideEntityPointer
template<typename P0, typename P1, int I, int O>
typedef Traits::InsideGridView Dune::GridGlue::Intersection< P0, P1, I, O >::InsideGridView
template<typename P0, typename P1, int I, int O>
typedef Traits::InsideLocalGeometry Dune::GridGlue::Intersection< P0, P1, I, O >::InsideLocalGeometry
template<typename P0, typename P1, int I, int O>
typedef Traits::IntersectionData Dune::GridGlue::Intersection< P0, P1, I, O >::IntersectionData
template<typename P0, typename P1, int I, int O>
typedef Traits::LocalCoordinate Dune::GridGlue::Intersection< P0, P1, I, O >::LocalCoordinate
template<typename P0, typename P1, int I, int O>
typedef OutsideGridView::Traits::template Codim<0>::Entity Dune::GridGlue::Intersection< P0, P1, I, O >::OutsideEntity
template<typename P0, typename P1, int I, int O>
typedef OutsideGridView::Traits::template Codim<0>::EntityPointer Dune::GridGlue::Intersection< P0, P1, I, O >::OutsideEntityPointer
template<typename P0, typename P1, int I, int O>
typedef Traits::OutsideGeometry Dune::GridGlue::Intersection< P0, P1, I, O >::OutsideGeometry
template<typename P0, typename P1, int I, int O>
typedef Traits::OutsideGridView Dune::GridGlue::Intersection< P0, P1, I, O >::OutsideGridView
template<typename P0, typename P1, int I, int O>
typedef Traits::OutsideLocalGeometry Dune::GridGlue::Intersection< P0, P1, I, O >::OutsideLocalGeometry
template<typename P0, typename P1, int I, int O>
typedef IntersectionTraits<P0,P1,I,O> Dune::GridGlue::Intersection< P0, P1, I, O >::Traits

Member Enumeration Documentation

template<typename P0, typename P1, int I, int O>
anonymous enum
Enumerator
coorddim 

Dimension of the world space of the intersection.

mydim 

Dimension of the intersection.

insidePatch 

document the inside & outside patch

outsidePatch 

Constructor & Destructor Documentation

template<typename P0, typename P1, int I, int O>
Dune::GridGlue::Intersection< P0, P1, I, O >::Intersection ( const GridGlue *  glue,
const IntersectionData *  i 
)
inline

Constructor for a given Dataset.

Member Function Documentation

template<typename P0, typename P1, int I, int O>
GlobalCoordinate Dune::GridGlue::Intersection< P0, P1, I, O >::centerUnitOuterNormal ( ) const
inline

Unit outer normal at the center of the intersection.

Used for some grids that do not implement element geometries

template<typename P0, typename P1, int I, int O>
bool Dune::GridGlue::Intersection< P0, P1, I, O >::conforming ( ) const
inline

Return true if intersection is conforming.

template<typename P0, typename P1, int I, int O>
Intersection<P0,P1,O,I> Dune::GridGlue::Intersection< P0, P1, I, O >::flip ( ) const
inline
template<typename P0, typename P1, int I, int O>
const Geometry& Dune::GridGlue::Intersection< P0, P1, I, O >::geometry ( ) const
inline
template<typename P0, typename P1, int I, int O>
const InsideLocalGeometry& Dune::GridGlue::Intersection< P0, P1, I, O >::geometryInInside ( unsigned int  parentId = 0) const
inline

Geometric information about this intersection in local coordinates of the inside() entity.

template<typename P0, typename P1, int I, int O>
const OutsideLocalGeometry& Dune::GridGlue::Intersection< P0, P1, I, O >::geometryInOutside ( unsigned int  parentId = 0) const
inline

Geometric information about this intersection in local coordinates of the outside() entity.

template<typename P0, typename P1, int I, int O>
const OutsideGeometry& Dune::GridGlue::Intersection< P0, P1, I, O >::geometryOutside ( ) const
inline

Geometric information about this intersection as part of the outside grid.

template<typename P0, typename P1, int I, int O>
int Dune::GridGlue::Intersection< P0, P1, I, O >::indexInInside ( unsigned int  parentId = 0) const
inline

Local number of codim 1 entity in the inside() Entity where intersection is contained in.

Referenced by Dune::GridGlue::Intersection< P0, P1, inside, outside >::indexInInside(), and Dune::GridGlue::Intersection< P0, P1, inside, outside >::indexInOutside().

template<typename P0, typename P1, int I, int O>
int Dune::GridGlue::Intersection< P0, P1, I, O >::indexInOutside ( unsigned int  parentId = 0) const
inline

Local number of codim 1 entity in outside() Entity where intersection is contained in.

template<typename P0, typename P1, int I, int O>
InsideEntityPointer Dune::GridGlue::Intersection< P0, P1, I, O >::inside ( unsigned int  parentId = 0) const
inline

Return EntityPointer to the Entity on the inside of this intersection.

template<typename P0, typename P1, int I, int O>
GlobalCoordinate Dune::GridGlue::Intersection< P0, P1, I, O >::integrationOuterNormal ( const Dune::FieldVector< ctype, mydim > &  local) const
inline

Return an outer normal with the length of the integration element.

template<typename P0, typename P1, int I, int O>
size_t Dune::GridGlue::Intersection< P0, P1, I, O >::neighbor ( unsigned int  g = 0) const
inline
template<typename P0, typename P1, int I, int O>
GlobalCoordinate Dune::GridGlue::Intersection< P0, P1, I, O >::outerNormal ( const Dune::FieldVector< ctype, mydim > &  local) const
inline

Return an outer normal (length not necessarily 1)

Todo:
Implement the general n-ary cross product here

Referenced by Dune::GridGlue::Intersection< P0, P1, inside, outside >::unitOuterNormal().

template<typename P0, typename P1, int I, int O>
OutsideEntityPointer Dune::GridGlue::Intersection< P0, P1, I, O >::outside ( unsigned int  parentId = 0) const
inline

Return EntityPointer to the Entity on the outside of this intersection.

template<typename P0, typename P1, int I, int O>
bool Dune::GridGlue::Intersection< P0, P1, I, O >::self ( ) const
inline

For parallel computations: Return true if inside() entity exists locally.

template<typename P0, typename P1, int I, int O>
Dune::GeometryType Dune::GridGlue::Intersection< P0, P1, I, O >::type ( ) const
inline
template<typename P0, typename P1, int I, int O>
GlobalCoordinate Dune::GridGlue::Intersection< P0, P1, I, O >::unitOuterNormal ( const Dune::FieldVector< ctype, mydim > &  local) const
inline

Friends And Related Function Documentation

template<typename P0, typename P1, int I, int O>
friend class IntersectionIndexSet< P0, P1 >
friend

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