Element_: Abstract implementation of an Element class. More...
#include <Element.h>
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 |
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 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.
Element_::Element_ | ( | ) | [inline] |
virtual Element_::~Element_ | ( | ) | [inline, virtual] |
Element_::Element_ | ( | const Element_ & | OldElement_ | ) | [inline] |
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] |
Implements Element.
Implemented in P12DElement< NF >, P12DTrace< NF >, P13DElement< NF >, and P13DTrace< NF >.
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] |
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] |
std::vector<BasisFunctions *> Element_::LocalShapes [private] |