dune-alugrid  3.0.0
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Dune::ALU3dGridGeometry< mydim, cdim, GridImp > Class Template Reference

#include <dune/alugrid/3d/entity.hh>

Inheritance diagram for Dune::ALU3dGridGeometry< mydim, cdim, GridImp >:
Inheritance graph

Public Types

enum  { corners_ = (elementType == hexa) ? StaticPower<2,(mydim> -1) ? mydim : 0 >::power : mydim+1 }
 
typedef ALU3dImplTraitsType::IMPLElementType IMPLElementType
 
typedef ALU3dImplTraitsType::GEOFaceType GEOFaceType
 
typedef ALU3dImplTraitsType::GEOEdgeType GEOEdgeType
 
typedef ALU3dImplTraitsType::GEOVertexType GEOVertexType
 
typedef ALU3dImplTraitsType::HFaceType HFaceType
 
typedef ALU3dImplTraitsType::HEdgeType HEdgeType
 
typedef ALU3dImplTraitsType::VertexType VertexType
 
typedef ElementTopologyMapping< elementType > ElementTopo
 
typedef FaceTopologyMapping< elementType > FaceTopo
 
typedef MyALUGridGeometryImplementation< cdim >::template GeometryImpl< 0, mydim, elementType > GeometryImplType
 
typedef GridImp ::ctype ctype
 
typedef FieldVector< ctype, mydim > LocalCoordinate
 type of local coordinates More...
 
typedef FieldVector< ctype, cdim > GlobalCoordinate
 type of the global coordinates More...
 
typedef FieldMatrix< ctype, cdim, mydim > JacobianInverseTransposed
 type of jacobian inverse transposed More...
 
typedef FieldMatrix< ctype, mydim, cdim > JacobianTransposed
 type of jacobian transposed More...
 
typedef FieldMatrix< ctype, GridImp::dimension==3 ? EntityCount< elementType >::numVerticesPerFace :2, cdim > FaceCoordinatesType
 

Public Member Functions

GeometryType type () const
 
int corners () const
 return the number of corners of this element. Corners are numbered 0..n-1 More...
 
GlobalCoordinate corner (int i) const
 access to coordinates of corners. Index is the number of the corner More...
 
GlobalCoordinate global (const LocalCoordinate &local) const
 
 LocalCoordinate (const GlobalCoordinate &global) const
 
ctype integrationElement (const LocalCoordinate &local) const
 A(l) , see grid.hh. More...
 
const JacobianInverseTransposedjacobianInverseTransposed (const LocalCoordinate &local) const
 
const JacobianTransposedjacobianTransposed (const LocalCoordinate &local) const
 jacobian transposed More...
 
bool affine () const
 returns true if mapping is affine More...
 
ctype volume () const
 returns volume of geometry More...
 
bool buildGeom (const IMPLElementType &item)
 Methods that not belong to the Interface, but have to be public. More...
 
bool buildGeom (const HFaceType &item, int twist)
 
bool buildGeom (const HEdgeType &item, int twist)
 
bool buildGeom (const VertexType &item, int twist)
 
bool buildGeom (const FaceCoordinatesType &coords)
 
template<class coord_t >
bool buildGeom (const coord_t &p0, const coord_t &p1, const coord_t &p2, const coord_t &p3)
 
template<class coord_t >
bool buildGeom (const coord_t &p0, const coord_t &p1, const coord_t &p2)
 
template<class coord_t >
bool buildGeom (const coord_t &p0, const coord_t &p1)
 
template<class GeometryType >
bool buildGeomInFather (const GeometryType &fatherGeom, const GeometryType &myGeom)
 build geometry of local coordinates relative to father More...
 
void print (std::ostream &ss) const
 
void invalidate ()
 invalidate geometry implementation to avoid errors More...
 
bool valid () const
 invalidate geometry implementation to avoid errors More...
 

Protected Member Functions

GeometryImplTypegeoImpl () const
 

Protected Attributes

ALU3DSPACE SharedPointer< GeometryImplTypegeoImplPtr_
 

Member Typedef Documentation

◆ ctype

template<int mydim, int cdim, class GridImp>
typedef GridImp :: ctype Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::ctype

◆ ElementTopo

template<int mydim, int cdim, class GridImp>
typedef ElementTopologyMapping<elementType> Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::ElementTopo

◆ FaceCoordinatesType

template<int mydim, int cdim, class GridImp>
typedef FieldMatrix<ctype, GridImp::dimension == 3 ? EntityCount< elementType >:: numVerticesPerFace : 2 , cdim> Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::FaceCoordinatesType

◆ FaceTopo

template<int mydim, int cdim, class GridImp>
typedef FaceTopologyMapping<elementType> Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::FaceTopo

◆ GEOEdgeType

template<int mydim, int cdim, class GridImp>
typedef ALU3dImplTraitsType::GEOEdgeType Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::GEOEdgeType

◆ GEOFaceType

template<int mydim, int cdim, class GridImp>
typedef ALU3dImplTraitsType::GEOFaceType Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::GEOFaceType

◆ GeometryImplType

template<int mydim, int cdim, class GridImp>
typedef MyALUGridGeometryImplementation<cdim>:: template GeometryImpl<0, mydim, elementType > Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::GeometryImplType

◆ GEOVertexType

template<int mydim, int cdim, class GridImp>
typedef ALU3dImplTraitsType::GEOVertexType Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::GEOVertexType

◆ GlobalCoordinate

template<int mydim, int cdim, class GridImp>
typedef FieldVector<ctype, cdim > Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::GlobalCoordinate

type of the global coordinates

◆ HEdgeType

template<int mydim, int cdim, class GridImp>
typedef ALU3dImplTraitsType::HEdgeType Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::HEdgeType

◆ HFaceType

template<int mydim, int cdim, class GridImp>
typedef ALU3dImplTraitsType::HFaceType Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::HFaceType

◆ IMPLElementType

template<int mydim, int cdim, class GridImp>
typedef ALU3dImplTraitsType::IMPLElementType Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::IMPLElementType

◆ JacobianInverseTransposed

template<int mydim, int cdim, class GridImp>
typedef FieldMatrix<ctype,cdim,mydim> Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::JacobianInverseTransposed

type of jacobian inverse transposed

◆ JacobianTransposed

template<int mydim, int cdim, class GridImp>
typedef FieldMatrix< ctype, mydim, cdim > Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::JacobianTransposed

type of jacobian transposed

◆ LocalCoordinate

template<int mydim, int cdim, class GridImp>
typedef FieldVector<ctype, mydim> Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::LocalCoordinate

type of local coordinates

◆ VertexType

template<int mydim, int cdim, class GridImp>
typedef ALU3dImplTraitsType::VertexType Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::VertexType

Member Enumeration Documentation

◆ anonymous enum

template<int mydim, int cdim, class GridImp>
anonymous enum
Enumerator
corners_ 

Member Function Documentation

◆ affine()

template<int mydim, int cdim, class GridImp >
bool Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::affine ( ) const
inline

returns true if mapping is affine

◆ buildGeom() [1/8]

template<int mydim, int cdim, class GridImp >
template<class coord_t >
bool Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::buildGeom ( const coord_t &  p0,
const coord_t &  p1 
)
inline

◆ buildGeom() [2/8]

template<int mydim, int cdim, class GridImp >
template<class coord_t >
bool Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::buildGeom ( const coord_t &  p0,
const coord_t &  p1,
const coord_t &  p2 
)
inline

◆ buildGeom() [3/8]

template<int mydim, int cdim, class GridImp >
template<class coord_t >
bool Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::buildGeom ( const coord_t &  p0,
const coord_t &  p1,
const coord_t &  p2,
const coord_t &  p3 
)
inline

◆ buildGeom() [4/8]

template<int mydim, int cdim, class GridImp >
bool Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::buildGeom ( const FaceCoordinatesType coords)
inline

◆ buildGeom() [5/8]

template<int mydim, int cdim, class GridImp >
bool Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::buildGeom ( const HEdgeType item,
int  twist 
)
inline

◆ buildGeom() [6/8]

template<int mydim, int cdim, class GridImp >
bool Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::buildGeom ( const HFaceType item,
int  twist 
)
inline

◆ buildGeom() [7/8]

template<int mydim, int cdim, class GridImp >
bool Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::buildGeom ( const IMPLElementType item)
inline

Methods that not belong to the Interface, but have to be public.

generate the geometry out of a given ALU3dGridElement

◆ buildGeom() [8/8]

template<int mydim, int cdim, class GridImp >
bool Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::buildGeom ( const VertexType item,
int  twist 
)
inline

◆ buildGeomInFather()

template<int mydim, int cdim, class GridImp >
template<class GeometryType >
bool Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::buildGeomInFather ( const GeometryType &  fatherGeom,
const GeometryType &  myGeom 
)
inline

build geometry of local coordinates relative to father

◆ corner()

template<int mydim, int cdim, class GridImp >
ALU3dGridGeometry< mydim, cdim, GridImp >::GlobalCoordinate Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::corner ( int  i) const
inline

access to coordinates of corners. Index is the number of the corner

◆ corners()

template<int mydim, int cdim, class GridImp >
int Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::corners ( ) const
inline

return the number of corners of this element. Corners are numbered 0..n-1

◆ geoImpl()

template<int mydim, int cdim, class GridImp>
GeometryImplType& Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::geoImpl ( ) const
inlineprotected

◆ global()

template<int mydim, int cdim, class GridImp >
ALU3dGridGeometry< mydim, cdim, GridImp >::GlobalCoordinate Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::global ( const LocalCoordinate local) const
inline

maps a local coordinate within reference element to global coordinate in element

◆ integrationElement()

template<int mydim, int cdim, class GridImp >
ALU3dGridGeometry< mydim, cdim, GridImp >::ctype Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::integrationElement ( const LocalCoordinate local) const
inline

A(l) , see grid.hh.

◆ invalidate()

template<int mydim, int cdim, class GridImp>
void Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::invalidate ( )
inline

invalidate geometry implementation to avoid errors

◆ jacobianInverseTransposed()

template<int mydim, int cdim, class GridImp >
const ALU3dGridGeometry< mydim, cdim, GridImp >::JacobianInverseTransposed & Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::jacobianInverseTransposed ( const LocalCoordinate local) const
inline

can only be called for dim=dimworld! (Trivially true, since there is no other specialization...)

◆ jacobianTransposed()

template<int mydim, int cdim, class GridImp >
const ALU3dGridGeometry< mydim, cdim, GridImp >::JacobianTransposed & Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::jacobianTransposed ( const LocalCoordinate local) const
inline

jacobian transposed

◆ LocalCoordinate()

template<int mydim, int cdim, class GridImp>
Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::LocalCoordinate ( const GlobalCoordinate global) const

maps a global coordinate within the element to a local coordinate in its reference element

◆ print()

template<int mydim, int cdim, class GridImp >
void Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::print ( std::ostream &  ss) const
inline

print internal data no interface method

◆ type()

template<int mydim, int cdim, class GridImp >
GeometryType Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::type ( ) const
inline

return the element type identifier line , triangle or tetrahedron, depends on dim

◆ valid()

template<int mydim, int cdim, class GridImp>
bool Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::valid ( ) const
inline

invalidate geometry implementation to avoid errors

◆ volume()

template<int mydim, int cdim, class GridImp >
ALU3dGridGeometry< mydim, cdim, GridImp >::ctype Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::volume ( ) const
inline

returns volume of geometry

Member Data Documentation

◆ geoImplPtr_

template<int mydim, int cdim, class GridImp>
ALU3DSPACE SharedPointer< GeometryImplType > Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::geoImplPtr_
mutableprotected

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