dune-grid  2.3.0
Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Dune::ALU2dGridGeometry< mydim, coorddim, GridImp > Class Template Reference

#include <dune/grid/alugrid/2d/entity.hh>

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

Public Types

typedef FieldVector
< alu2d_ctype, cdim > 
GlobalCoordinate
 
typedef FieldVector
< alu2d_ctype, mydim > 
LocalCoordinate
 
typedef GridImp::ctype ctype
 
typedef FieldMatrix< ctype,
cdim, mydim > 
JacobianInverseTransposed
 type of jacobian inverse transposed More...
 
typedef FieldMatrix< ctype,
mydim, cdim > 
JacobianTransposed
 type of jacobian transposed More...
 

Public Member Functions

 ALU2dGridGeometry ()
 
 ALU2dGridGeometry (const ALU2dGridGeometry &)
 copy constructor copying pointer and increasing reference counter More...
 
 ~ALU2dGridGeometry ()
 destructor releasing object More...
 
ALU2dGridGeometryoperator= (const ALU2dGridGeometry &)
 assigment operator More...
 
const 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 local (const GlobalCoordinate &global) const
 
alu2d_ctype integrationElement (const LocalCoordinate &local) const
 A(l) , see grid.hh. More...
 
alu2d_ctype volume () const
 return volume of geometry More...
 
bool affine () const
 return true if geometry has affine mapping More...
 
const FieldMatrix< alu2d_ctype,
cdim, mydim > & 
jacobianInverseTransposed (const LocalCoordinate &local) const
 jacobian inverse transposed More...
 
const FieldMatrix< alu2d_ctype,
mydim, cdim > & 
jacobianTransposed (const LocalCoordinate &local) const
 jacobian transposed More...
 
bool buildGeom (const HElementType &item)
 Methods that not belong to the Interface, but have to be public. More...
 
bool buildGeom (const HElementType &item, const int aluFace)
 
bool buildGeom (const VertexType &item, const int)
 
template<class GeometryType , class LocalGeomType >
bool buildLocalGeom (const GeometryType &geo, const LocalGeomType &lg)
 
bool buildLocalGeometry (const int faceNumber, const int twist, const int coorns)
 build local geometry given local face number More...
 
GlobalCoordinategetCoordVec (int i)
 return non-const reference to coord vecs More...
 
void print (std::ostream &ss) const
 print internal data More...
 
bool buildGeomInFather (const Geometry &fatherGeom, const Geometry &myGeom)
 build geometry with local coords of child in reference element More...
 
bool valid () const
 
void invalidate ()
 
GlobalCoordinate center () const
 return center of the geometry More...
 

Static Public Attributes

static const int mydimension
 
static const int coorddimension
 

Protected Types

typedef ALUMemoryProvider
< GeometryImplType
GeometryProviderType
 

Protected Member Functions

void assign (const ALU2dGridGeometry &other)
 assign pointer More...
 
void removeObj ()
 remove pointer object More...
 
void getObject ()
 get a new pointer object More...
 
GeometryImplTypegeoImpl () const
 

Static Protected Member Functions

static std::pair< FieldMatrix
< alu2d_ctype, 4, 2 >
, FieldVector< alu2d_ctype, 4 > > 
calculateReferenceCoords (const int corners)
 
static GeometryProviderTypegeoProvider ()
 return storage provider for geometry objects More...
 

Protected Attributes

GeometryImplTypegeoImpl_
 

Detailed Description

template<int mydim, int coorddim, class GridImp>
class Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >

Defines the geometry part of a mesh entity. Works for all dimensions, element types and dimensions of world. Provides reference element and mapping between local and global coordinates. The element may have different implementations because the mapping can be done more efficient for structured meshes than for unstructured meshes.

dim: An element is a polygonal in a hyperplane of dimension dim. 0 <= dim <= 2 is typically dim=0 is a point.

dimworld: Each corner is a point with dimworld coordinates.ALU2dGridGeometry Empty definition, needs to be specialized for element type

Member Typedef Documentation

typedef GridImp::ctype Dune::GeometryDefaultImplementation< mydim, cdim, GridImp, ALU2dGridGeometry >::ctype
inherited
template<int mydim, int coorddim, class GridImp >
typedef ALUMemoryProvider< GeometryImplType > Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::GeometryProviderType
protected
template<int mydim, int coorddim, class GridImp >
typedef FieldVector< alu2d_ctype, cdim > Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::GlobalCoordinate
typedef FieldMatrix< ctype, cdim, mydim > Dune::GeometryDefaultImplementation< mydim, cdim, GridImp, ALU2dGridGeometry >::JacobianInverseTransposed
inherited

type of jacobian inverse transposed

typedef FieldMatrix< ctype, mydim, cdim > Dune::GeometryDefaultImplementation< mydim, cdim, GridImp, ALU2dGridGeometry >::JacobianTransposed
inherited

type of jacobian transposed

template<int mydim, int coorddim, class GridImp >
typedef FieldVector< alu2d_ctype, mydim > Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::LocalCoordinate

Constructor & Destructor Documentation

template<int mydim, int coorddim, class GridImp >
Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::ALU2dGridGeometry ( )

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

template<int mydim, int coorddim, class GridImp >
Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::ALU2dGridGeometry ( const ALU2dGridGeometry< mydim, coorddim, GridImp > &  )

copy constructor copying pointer and increasing reference counter

template<int mydim, int coorddim, class GridImp >
Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::~ALU2dGridGeometry ( )

destructor releasing object

Member Function Documentation

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

return true if geometry has affine mapping

References Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::geoImpl().

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

assign pointer

template<int mydim, int coorddim, class GridImp >
bool Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::buildGeom ( const HElementType &  item)

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

generate the geometry for out of given ALU2dGridElement

template<int mydim, int coorddim, class GridImp >
bool Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::buildGeom ( const HElementType &  item,
const int  aluFace 
)
template<int mydim, int coorddim, class GridImp >
bool Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::buildGeom ( const VertexType &  item,
const int   
)
template<int mydim, int coorddim, class GridImp >
bool Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::buildGeomInFather ( const Geometry &  fatherGeom,
const Geometry &  myGeom 
)
inline

build geometry with local coords of child in reference element

template<int mydim, int coorddim, class GridImp >
template<class GeometryType , class LocalGeomType >
bool Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::buildLocalGeom ( const GeometryType &  geo,
const LocalGeomType &  lg 
)

build geometry for intersectionSelfLocal and intersectionNeighborLocal

template<int mydim, int coorddim, class GridImp >
bool Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::buildLocalGeometry ( const int  faceNumber,
const int  twist,
const int  coorns 
)

build local geometry given local face number

template<int mydim, int coorddim, class GridImp >
static std::pair< FieldMatrix< alu2d_ctype, 4, 2 >, FieldVector< alu2d_ctype, 4 > > Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::calculateReferenceCoords ( const int  corners)
staticprotected
GlobalCoordinate Dune::GeometryDefaultImplementation< mydim, cdim, GridImp, ALU2dGridGeometry >::center ( ) const
inlineinherited

return center of the geometry

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

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

template<int mydim, int coorddim, class GridImp >
int Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::corners ( ) const
inline

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

References Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::geoImpl().

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

return storage provider for geometry objects

template<int mydim, int coorddim, class GridImp >
GlobalCoordinate& Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::getCoordVec ( int  i)

return non-const reference to coord vecs

template<int mydim, int coorddim, class GridImp >
void Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::getObject ( )
protected

get a new pointer object

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

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

template<int mydim, int coorddim, class GridImp >
alu2d_ctype Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::integrationElement ( const LocalCoordinate local) const

A(l) , see grid.hh.

template<int mydim, int coorddim, class GridImp >
void Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::invalidate ( )
template<int mydim, int coorddim, class GridImp >
const FieldMatrix<alu2d_ctype,cdim,mydim>& Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::jacobianInverseTransposed ( const LocalCoordinate local) const

jacobian inverse transposed

template<int mydim, int coorddim, class GridImp >
const FieldMatrix<alu2d_ctype,mydim,cdim>& Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::jacobianTransposed ( const LocalCoordinate local) const

jacobian transposed

template<int mydim, int coorddim, class GridImp >
LocalCoordinate Dune::ALU2dGridGeometry< mydim, coorddim, 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 coorddim, class GridImp >
ALU2dGridGeometry& Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::operator= ( const ALU2dGridGeometry< mydim, coorddim, GridImp > &  )

assigment operator

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

print internal data

template<int mydim, int coorddim, class GridImp >
void Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::removeObj ( )
protected

remove pointer object

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

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

References Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::geoImpl().

template<int mydim, int coorddim, class GridImp >
bool Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::valid ( ) const
inline
template<int mydim, int coorddim, class GridImp >
alu2d_ctype Dune::ALU2dGridGeometry< mydim, coorddim, GridImp >::volume ( ) const

return volume of geometry

Member Data Documentation

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

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