Element_ Class Reference

Element_: Abstract implementation of an Element class. More...

#include <Element.h>

Inheritance diagram for Element_:
Element P1nDElement< NF > P12DElement< NF > P13DElement< NF > P1nDTrace< NF > P12DTrace< NF > P13DTrace< NF >

List of all members.

Public Member Functions

 Element_ ()
virtual ~Element_ ()
 Element_ (const Element_ &OldElement_)
Element_operator= (const Element_ &that)
virtual Element_clone () const =0
const size_t getDof (size_t field) const
 Number of degrees of freedom of one of the fields.
const size_t getNumDerivatives (size_t field) const
 Number of derivatives per shape function for one of the fields.
const std::vector< double > & getShapes (size_t field) const
 Shape functions at quadrature points of one of the fields.
const std::vector< double > & getDShapes (size_t field) const
 Shape function derivatives at quadrature points of one of the fields.
const std::vector< double > & getIntegrationWeights (size_t field) const
 Integration weights of a given field.
const std::vector< double > & getIntegrationPtCoords (size_t field) const
 Integration point coordinates of a given field.
const double getShape (size_t field, size_t quad, size_t shapenumber) const
 Value of shape function "shapenumber" of field "field" at quadrature point "quad".
const double getDShape (size_t field, size_t quad, size_t shapenumber, size_t dir) const
 Value of derivative of shape function "shapenumber" of field "field" at quadrature point "quad" in direction "dir".

Protected Member Functions

void addBasisFunctions (const BasisFunctions &BasisFunctionsPointer)
 addBasisFunctions adds a BasisFunctions pointer at the end of LocalShapes The i-th added BasisFunctions pointer is referenced when getFieldShapes returns the integer i-1
virtual size_t getFieldShapes (size_t Field) const =0
 getFieldShapes returns the position in LocalShapes in which the shape functions for field Field are.
size_t getNumShapes () const
 returns the length of LocalShapes

Private Member Functions

void copy (const Element_ &that)
void destroy ()

Private Attributes

std::vector< BasisFunctions * > LocalShapes

Detailed Description

Element_: Abstract implementation of an Element class.

Element_ constructs a finite element type. The ElementGeometry is specified in derived classes. The idea is to use this class to derive different finite element types.

Element_ is defined by:
1) Access to a (ElementGeometry &)EG that defines the geometry of the element through a map a reference domain $\hat{\Omega}$ to the real element shape (or an approximation, such as in isoparametric elements)
2) An array (BasisFunctions *) LocalShapes all constructed over EG. 3) A virtual function to be defined by derived classses getFieldShapes. The value of LocalShapes[getFieldShapes(FieldNumber)] returns the shape functions of field FieldNumber. This map is needed since the same BasisFunctions object can be used for several fields.


Constructor & Destructor Documentation

Element_::Element_ (  )  [inline]
virtual Element_::~Element_ (  )  [inline, virtual]
Element_::Element_ ( const Element_ OldElement_  )  [inline]

Member Function Documentation

void Element_::addBasisFunctions ( const BasisFunctions BasisFunctionsPointer  )  [inline, protected]

addBasisFunctions adds a BasisFunctions pointer at the end of LocalShapes The i-th added BasisFunctions pointer is referenced when getFieldShapes returns the integer i-1

virtual Element_* Element_::clone (  )  const [pure virtual]
void Element_::copy ( const Element_ that  )  [inline, private]
void Element_::destroy (  )  [inline, private]
const size_t Element_::getDof ( size_t  field  )  const [inline, virtual]

Number of degrees of freedom of one of the fields.

Implements Element.

const double Element_::getDShape ( size_t  field,
size_t  quad,
size_t  shapenumber,
size_t  dir 
) const [inline, virtual]

Value of derivative of shape function "shapenumber" of field "field" at quadrature point "quad" in direction "dir".

Implements Element.

const std::vector<double>& Element_::getDShapes ( size_t  field  )  const [inline, virtual]

Shape function derivatives at quadrature points of one of the fields.

Implements Element.

virtual size_t Element_::getFieldShapes ( size_t  Field  )  const [protected, pure virtual]

getFieldShapes returns the position in LocalShapes in which the shape functions for field Field are.

Implemented in P1nDElement< NF >.

const std::vector<double>& Element_::getIntegrationPtCoords ( size_t  field  )  const [inline, virtual]

Integration point coordinates of a given field.

Implements Element.

const std::vector<double>& Element_::getIntegrationWeights ( size_t  field  )  const [inline, virtual]

Integration weights of a given field.

Implements Element.

const size_t Element_::getNumDerivatives ( size_t  field  )  const [inline, virtual]

Number of derivatives per shape function for one of the fields.

Implements Element.

size_t Element_::getNumShapes (  )  const [inline, protected]

returns the length of LocalShapes

const double Element_::getShape ( size_t  field,
size_t  quad,
size_t  shapenumber 
) const [inline, virtual]

Value of shape function "shapenumber" of field "field" at quadrature point "quad".

Implements Element.

const std::vector<double>& Element_::getShapes ( size_t  field  )  const [inline, virtual]

Shape functions at quadrature points of one of the fields.

Implements Element.

Element_& Element_::operator= ( const Element_ that  )  [inline]

Member Data Documentation

std::vector<BasisFunctions *> Element_::LocalShapes [private]

The documentation for this class was generated from the following file:
Generated on Tue Aug 2 11:51:27 2011 for Galois by  doxygen 1.6.3