dune-fem 2.12-git
Loading...
Searching...
No Matches
Dune::Fem::TwistUtility< Grid > Struct Template Reference

Utility to get twist from IntersectionIterator, if provided by grid (i.e. AlbertaGrid, ALUGrid) otherwise return default values (correct for YASP). More...

#include <dune/fem/quadrature/caching/twistutility.hh>

Inheritance diagram for Dune::Fem::TwistUtility< Grid >:
Inheritance graph

Public Types

typedef Grid GridType
 

Static Public Member Functions

template<class Intersection >
static int twistInSelf (const GridType &, const Intersection &)
 return 0 for inner face
 
template<class Intersection >
static int twistInNeighbor (const GridType &, const Intersection &)
 return 0 for outer face
 
template<class Intersection >
static GeometryType elementGeometry (const Intersection &intersection, const bool inside)
 return geometry type of inside or outside entity
 

Detailed Description

template<class Grid>
struct Dune::Fem::TwistUtility< Grid >

Utility to get twist from IntersectionIterator, if provided by grid (i.e. AlbertaGrid, ALUGrid) otherwise return default values (correct for YASP).

The twist (t) of a face is defined in the following way:

  • sign(t) gives information on the relationship between the orientation of the intersection geometry and the geometry of the corresponding codim 1 entity of the inside/outside entity:
    • sign(t)>=0: same orientation
    • sign(t)<0: opposite orientation
  • The value of the twist gives information on the local numbering of the corners of the corresponding geometries. This value is only correctly defined for conforming grids, i.e., the intersection is identical to an codim 1 entity of inside/outside. In this case we have the following definition:
    • sign(t)>=0: corner[0] of inside/outside face is equal to corner[t] of intersection.
    • sign(t)<0: corner[0] of inside/outside face is equal to corner[t'] of intersection with t' = abs(t)+1.
Note
This class needs to be explicitly specialized for each grid!

Member Typedef Documentation

◆ GridType

template<class Grid >
typedef Grid Dune::Fem::TwistFreeTwistUtility< Grid >::GridType
inherited

Member Function Documentation

◆ elementGeometry()

template<class Grid >
template<class Intersection >
static GeometryType Dune::Fem::TwistFreeTwistUtility< Grid >::elementGeometry ( const Intersection intersection,
const bool  inside 
)
inlinestaticinherited

return geometry type of inside or outside entity

◆ twistInNeighbor()

template<class Grid >
template<class Intersection >
static int Dune::Fem::TwistFreeTwistUtility< Grid >::twistInNeighbor ( const GridType ,
const Intersection  
)
inlinestaticinherited

return 0 for outer face

◆ twistInSelf()

template<class Grid >
template<class Intersection >
static int Dune::Fem::TwistFreeTwistUtility< Grid >::twistInSelf ( const GridType ,
const Intersection  
)
inlinestaticinherited

return 0 for inner face


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