Dune::SGeometry< 0, cdim, GridImp > Class Template Reference

#include <sgrid.hh>

Inheritance diagram for Dune::SGeometry< 0, cdim, GridImp >:

Dune::GeometryDefaultImplementation< mydim, cdim, GridImp, GeometryImp >

List of all members.


Detailed Description

template<int cdim, class GridImp>
class Dune::SGeometry< 0, cdim, GridImp >

specialization for dim=0, this is a vertex

Public Types

typedef sgrid_ctype ctype
 define type used for coordinates in grid module

Public Member Functions

GeometryType type () const
 return the element type identifier
int corners () const
 return the number of corners of this element. Corners are numbered 0...n-1
const FieldVector< sgrid_ctype,
cdim > & 
operator[] (int i) const
 access to coordinates of corners. Index is the number of the corner
void print (std::ostream &ss, int indent) const
 print internal data
void make (FieldMatrix< sgrid_ctype, 1, cdim > &__As)
 constructor, makes element from position and direction vectors
FieldVector< sgrid_ctype, cdim > global (const FieldVector< sgrid_ctype, 0 > &local) const
 maps a local coordinate within reference element to global coordinate in element
FieldVector< sgrid_ctype, 0 > local (const FieldVector< sgrid_ctype, cdim > &global) const
 maps a global coordinate within the element to a local coordinate in its reference element
 SGeometry ()
 constructor with bool argument makes reference element if true, uninitialized else
sgrid_ctype integrationElement (const FieldVector< sgrid_ctype, 0 > &local) const
 This dummy routine always returns 1.0.
bool checkInside (const FieldVector< sgrid_ctype, 0 > &local) const
 returns always true
const FieldMatrix< sgrid_ctype,
cdim, 0 > & 
jacobianInverseTransposed (const FieldVector< sgrid_ctype, 0 > &local) const
 can only be called for dim=dimworld!
ctype volume () const
 return volume of the geometry

Protected Attributes

FieldVector< sgrid_ctype, cdim > s
 position of element

Constructor & Destructor Documentation

template<int cdim, class GridImp>
Dune::SGeometry< 0, cdim, GridImp >::SGeometry (  )  [inline]

constructor with bool argument makes reference element if true, uninitialized else

Integration over a general element is done by integrating over the reference element and using the transformation from the reference element to the global element as follows:

\[\int\limits_{\Omega_e} f(x) dx = \int\limits_{\Omega_{ref}} f(g(l)) A(l) dl \]

where $g$ is the local to global mapping and $A(l)$ is the integration element.

For a general map $g(l)$ involves partial derivatives of the map (surface element of the first kind if $d=2,w=3$, determinant of the Jacobian of the transformation for $d=w$, $\|dg/dl\|$ for $d=1$).

For linear elements, the derivatives of the map with respect to local coordinates do not depend on the local coordinates and are the same over the whole element.

For a structured mesh where all edges are parallel to the coordinate axes, the computation is the length, area or volume of the element is very simple to compute.

Each grid module implements the integration element with optimal efficieny. This will directly translate in substantial savings in the computation of finite element stiffness matrices. For this specialisation the integrationElement is always 1.


Member Function Documentation

template<int cdim, class GridImp>
sgrid_ctype Dune::SGeometry< 0, cdim, GridImp >::integrationElement ( const FieldVector< sgrid_ctype, 0 > &  local  )  const [inline]

This dummy routine always returns 1.0.

This routine exists so that algorithms that integrate over grid boundaries can also be compiled for 1d-grids.


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

Generated on Tue Jul 28 22:28:45 2009 for dune-grid by  doxygen 1.5.6