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

#include <dune/grid/alugrid/3d/geometry.hh>

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

Public Types

typedef GridImp::ctype ctype
typedef FieldVector< ctype, mydim > LocalCoordinate
 type of local coordinates
typedef FieldVector< ctype, cdim > GlobalCoordinate
 type of the global coordinates
typedef FieldMatrix< ctype,
cdim, mydim > 
JacobianInverseTransposed
 type of jacobian inverse transposed
typedef FieldMatrix< ctype,
mydim, cdim > 
JacobianTransposed
 type of jacobian transposed
typedef FieldMatrix< ctype,
EntityCount< elementType >
::numVerticesPerFace, 3 > 
FaceCoordinatesType

Public Member Functions

 ALU3dGridGeometry ()
 ALU3dGridGeometry (const ALU3dGridGeometry &)
 copy constructor copying pointer and increasing reference count
ALU3dGridGeometryoperator= (const ALU3dGridGeometry &)
 copy constructor copying pointer and increasing reference count
 ~ALU3dGridGeometry ()
 destructor decreasing reference count and freeing object
GeometryType type () const
int corners () const
 return the number of corners of this element. Corners are numbered 0..n-1
GlobalCoordinate corner (int i) const
 access to coordinates of corners. Index is the number of the corner
GlobalCoordinate global (const LocalCoordinate &local) const
LocalCoordinate local (const GlobalCoordinate &global) const
ctype integrationElement (const LocalCoordinate &local) const
 A(l) , see grid.hh.
const JacobianInverseTransposedjacobianInverseTransposed (const LocalCoordinate &local) const
const JacobianTransposedjacobianTransposed (const LocalCoordinate &local) const
 jacobian transposed
bool affine () const
 returns true if mapping is affine
ctype volume () const
 returns volume of geometry
bool buildGeom (const IMPLElementType &item)
 Methods that not belong to the Interface, but have to be public.
bool buildGeom (const HFaceType &item, int twist, int faceNum)
bool buildGeom (const HEdgeType &item, int twist, int)
bool buildGeom (const VertexType &item, int twist, int)
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 GeometryType >
bool buildGeomInFather (const GeometryType &fatherGeom, const GeometryType &myGeom)
 build geometry of local coordinates relative to father
void print (std::ostream &ss) const
void invalidate ()
 invalidate geometry implementation to avoid errors
bool valid () const
 invalidate geometry implementation to avoid errors
GlobalCoordinate center () const
 return center of the geometry

Static Public Attributes

static const int mydimension
static const int coorddimension

Protected Types

typedef ALUMemoryProvider
< GeometryImplType > 
GeometryProviderType

Protected Member Functions

void assign (const ALU3dGridGeometry &other)
 assign pointer
void removeObj ()
 remove pointer object
void getObject ()
 get a new pointer object
GeometryImplType & geoImpl () const

Static Protected Member Functions

static GeometryProviderTypegeoProvider ()
 return storage provider for geometry objects

Protected Attributes

GeometryImplType * geoImpl_

Friends

class ALU3dGridIntersectionIterator< GridImp >

Member Typedef Documentation

template<int mydim, int cdim, class GridImp >
typedef GridImp :: ctype Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::ctype
template<int mydim, int cdim, class GridImp >
typedef FieldMatrix<ctype, EntityCount< elementType >:: numVerticesPerFace , 3> Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::FaceCoordinatesType
template<int mydim, int cdim, class GridImp >
typedef ALUMemoryProvider< GeometryImplType > Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::GeometryProviderType
protected
template<int mydim, int cdim, class GridImp >
typedef FieldVector<ctype, cdim > Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::GlobalCoordinate

type of the global coordinates

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

type of jacobian inverse transposed

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

type of jacobian transposed

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

type of local coordinates

Constructor & Destructor Documentation

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

for makeRefGeometry == true a Geometry with the coordinates of the reference element is made

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

copy constructor copying pointer and increasing reference count

template<int mydim, int cdim, class GridImp >
Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::~ALU3dGridGeometry ( )

destructor decreasing reference count and freeing object

Member Function Documentation

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

returns true if mapping is affine

template<int mydim, int cdim, class GridImp >
void Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::assign ( const ALU3dGridGeometry< mydim, cdim, GridImp > &  other)
protected

assign pointer

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

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

generate the geometry out of a given ALU3dGridElement

template<int mydim, int cdim, class GridImp >
bool Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::buildGeom ( const HFaceType &  item,
int  twist,
int  faceNum 
)
template<int mydim, int cdim, class GridImp >
bool Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::buildGeom ( const HEdgeType &  item,
int  twist,
int   
)
template<int mydim, int cdim, class GridImp >
bool Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::buildGeom ( const VertexType &  item,
int  twist,
int   
)
template<int mydim, int cdim, class GridImp >
bool Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::buildGeom ( const FaceCoordinatesType coords)
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 
)
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 
)
template<int mydim, int cdim, class GridImp >
template<class GeometryType >
bool Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::buildGeomInFather ( const GeometryType &  fatherGeom,
const GeometryType &  myGeom 
)

build geometry of local coordinates relative to father

GlobalCoordinate Dune::GeometryDefaultImplementation< mydim, cdim, GridImp, ALU3dGridGeometry >::center ( ) const
inlineinherited

return center of the geometry

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

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

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

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

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

return storage provider for geometry objects

template<int mydim, int cdim, class GridImp >
void Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::getObject ( )
protected

get a new pointer object

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

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

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

A(l) , see grid.hh.

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

invalidate geometry implementation to avoid errors

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

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

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

jacobian transposed

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

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

template<int mydim, int cdim, class GridImp >
ALU3dGridGeometry& Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::operator= ( const ALU3dGridGeometry< mydim, cdim, GridImp > &  )

copy constructor copying pointer and increasing reference count

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

print internal data no interface method

template<int mydim, int cdim, class GridImp >
void Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::removeObj ( )
protected

remove pointer object

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

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

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

invalidate geometry implementation to avoid errors

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

Friends And Related Function Documentation

template<int mydim, int cdim, class GridImp >
friend class ALU3dGridIntersectionIterator< GridImp >
friend

Member Data Documentation

const int Dune::GeometryDefaultImplementation< mydim, cdim, GridImp, ALU3dGridGeometry >::coorddimension
staticinherited
template<int mydim, int cdim, class GridImp >
GeometryImplType* Dune::ALU3dGridGeometry< mydim, cdim, GridImp >::geoImpl_
protected
const int Dune::GeometryDefaultImplementation< mydim, cdim, GridImp, ALU3dGridGeometry >::mydimension
staticinherited

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