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

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

Inheritance diagram for Dune::ALU2dGridGeometry< mydim, cdim, 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 > 
Jacobian
 type of jacobian (also of jacobian inverse transposed)
typedef FieldMatrix< ctype,
mydim, cdim > 
JacobianTransposed
 type of jacobian transposed

Public Member Functions

 ALU2dGridGeometry ()
const GeometryType type () const
int corners () const
 return the number of corners of this element. Corners are numbered 0...n-1
const GlobalCoordinateoperator[] (int i) const
 access to coordinates of corners. Index is the number of the corner
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
alu2d_ctype integrationElement (const LocalCoordinate &local) const
 A(l) , see grid.hh.
alu2d_ctype volume () const
 return volume of geometry
bool affine () const
 return true if geometry has affine mapping
const FieldMatrix< alu2d_ctype,
cdim, mydim > & 
jacobianInverseTransposed (const LocalCoordinate &local) const
 jacobian inverse transposed
const FieldMatrix< alu2d_ctype,
mydim, cdim > & 
jacobianTransposed (const LocalCoordinate &local) const
 jacobian transposed
bool buildGeom (const HElementType &item)
 Methods that not belong to the Interface, but have to be public.
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
GlobalCoordinategetCoordVec (int i)
 return non-const reference to coord vecs
void print (std::ostream &ss) const
 print internal data
bool buildGeomInFather (const Geometry &fatherGeom, const Geometry &myGeom)
 build geometry with local coords of child in reference element
bool valid () const
void invalidate () const
GlobalCoordinate center () const
 return center of the geometry

Static Public Attributes

static const int mydimension
static const int coorddimension

Static Protected Member Functions

static std::pair< FieldMatrix
< alu2d_ctype, 4, 2 >
, FieldVector< alu2d_ctype, 4 > > 
calculateReferenceCoords (const int corners)

Protected Attributes

GeometryImplType geoImpl_
alu2d_ctype det_

Detailed Description

template<int mydim, int cdim, class GridImp>
class Dune::ALU2dGridGeometry< mydim, cdim, 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 cdim, class GridImp >
typedef FieldVector< alu2d_ctype, cdim > Dune::ALU2dGridGeometry< mydim, cdim, GridImp >::GlobalCoordinate
typedef FieldMatrix<ctype,cdim,mydim> Dune::GeometryDefaultImplementation< mydim, cdim, GridImp, ALU2dGridGeometry >::Jacobian
inherited

type of jacobian (also 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 cdim, class GridImp >
typedef FieldVector< alu2d_ctype, mydim > Dune::ALU2dGridGeometry< mydim, cdim, GridImp >::LocalCoordinate

Constructor & Destructor Documentation

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

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

Member Function Documentation

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

return true if geometry has affine mapping

References Dune::ALU2dGridGeometry< mydim, cdim, GridImp >::geoImpl_.

template<int mydim, int cdim, class GridImp >
bool Dune::ALU2dGridGeometry< mydim, cdim, 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 cdim, class GridImp >
bool Dune::ALU2dGridGeometry< mydim, cdim, GridImp >::buildGeom ( const HElementType &  item,
const int  aluFace 
)
template<int mydim, int cdim, class GridImp >
bool Dune::ALU2dGridGeometry< mydim, cdim, GridImp >::buildGeom ( const VertexType &  item,
const int   
)
template<int mydim, int cdim, class GridImp >
bool Dune::ALU2dGridGeometry< mydim, cdim, GridImp >::buildGeomInFather ( const Geometry &  fatherGeom,
const Geometry &  myGeom 
)
inline

build geometry with local coords of child in reference element

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

build geometry for intersectionSelfLocal and intersectionNeighborLocal

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

build local geometry given local face number

template<int mydim, int cdim, class GridImp >
static std::pair< FieldMatrix< alu2d_ctype, 4, 2 >, FieldVector< alu2d_ctype, 4 > > Dune::ALU2dGridGeometry< mydim, cdim, 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 cdim, class GridImp >
GlobalCoordinate Dune::ALU2dGridGeometry< 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::ALU2dGridGeometry< mydim, cdim, GridImp >::corners ( ) const
inline

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

References Dune::ALU2dGridGeometry< mydim, cdim, GridImp >::geoImpl_.

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

return non-const reference to coord vecs

template<int mydim, int cdim, class GridImp >
GlobalCoordinate Dune::ALU2dGridGeometry< 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 >
alu2d_ctype Dune::ALU2dGridGeometry< mydim, cdim, GridImp >::integrationElement ( const LocalCoordinate local) const

A(l) , see grid.hh.

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

jacobian inverse transposed

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

jacobian transposed

template<int mydim, int cdim, class GridImp >
LocalCoordinate Dune::ALU2dGridGeometry< 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 >
const GlobalCoordinate& Dune::ALU2dGridGeometry< mydim, cdim, GridImp >::operator[] ( int  i) const

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

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

print internal data

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

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

References Dune::ALU2dGridGeometry< mydim, cdim, GridImp >::geoImpl_.

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

Member Data Documentation

const int Dune::GeometryDefaultImplementation< mydim, cdim, GridImp, ALU2dGridGeometry >::coorddimension
staticinherited
template<int mydim, int cdim, class GridImp >
alu2d_ctype Dune::ALU2dGridGeometry< mydim, cdim, GridImp >::det_
mutableprotected
template<int mydim, int cdim, class GridImp >
GeometryImplType Dune::ALU2dGridGeometry< mydim, cdim, GridImp >::geoImpl_
mutableprotected
const int Dune::GeometryDefaultImplementation< mydim, cdim, GridImp, ALU2dGridGeometry >::mydimension
staticinherited

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