dune-grid  2.2.0
Public Types | Public Member Functions | Static Public Attributes | Static Protected Member Functions | Protected Attributes
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 >

List of all members.

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) [static, protected]
GlobalCoordinate Dune::GeometryDefaultImplementation< mydim, cdim, GridImp, ALU2dGridGeometry >::center ( ) const [inline, inherited]

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 [static, inherited]
template<int mydim, int cdim, class GridImp >
alu2d_ctype Dune::ALU2dGridGeometry< mydim, cdim, GridImp >::det_ [mutable, protected]
template<int mydim, int cdim, class GridImp >
GeometryImplType Dune::ALU2dGridGeometry< mydim, cdim, GridImp >::geoImpl_ [mutable, protected]
const int Dune::GeometryDefaultImplementation< mydim, cdim, GridImp, ALU2dGridGeometry >::mydimension [static, inherited]

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