#include <Basis.h>
Inheritance diagram for basso::Basis:
Public Member Functions | |
Basis () | |
virtual | ~Basis () |
virtual BasisType | Type () const=0 |
virtual BasisShape | Shape () const=0 |
virtual int | NumNodes () const=0 |
virtual int | NumEdges () const=0 |
virtual int | NumFaces () const=0 |
virtual int | Dimension () const=0 |
virtual int | Order () const=0 |
virtual void | ParentCoord (Array< Point > &pts) const =0 |
virtual Point | Centroid () const=0 |
virtual void | NumNodesOnFaces (iArray &nn_face) const =0 |
virtual void | NumNodesOnEdges (iArray &nn_edege) const =0 |
virtual void | NodesOnFace (int f, iArray &face_nodeids) const =0 |
virtual void | NodesOnEdge (int e, iArray &edge_nodeids) const =0 |
virtual void | FaceBasisType (Array< BasisType > &face_basis) const=0 |
virtual void | EdgeBasisType (Array< BasisType > &edge_basis) const=0 |
virtual void | Quadrature (int p, QuadratureRule &quad) const =0 |
virtual void | Na (const Point &p, Array< Numeric > &shapefunct) const =0 |
virtual void | Na (Array< Numeric > &shapefunct) const=0 |
virtual void | DNa (const Point &p, dense_matrix< Numeric > &grad_shape) const =0 |
virtual void | DNa (dense_matrix< Numeric > &grad_shape) const =0 |
This virtual base class deals handles basic finite element basis. It is particular to the element shape/topology and the interpolation basis.
Definition at line 251 of file Basis.h.
virtual BasisType basso::Basis::Type | ( | ) | const [pure virtual] |
Returns the basis type
Implemented in basso::Hexa8Basis, basso::Line2Basis, basso::Line3Basis, basso::Quad4Basis, basso::Quad8Basis, basso::Tetra10Basis, basso::Tetra4Basis, basso::Tria3Basis, and basso::Tria6Basis.
Referenced by basso::Element::CopyElement(), and basso::Element::Type().
virtual BasisShape basso::Basis::Shape | ( | ) | const [pure virtual] |
Returns the element shape
Implemented in basso::Hexa8Basis, basso::Line2Basis, basso::Line3Basis, basso::Quad4Basis, basso::Quad8Basis, basso::Tetra10Basis, basso::Tetra4Basis, basso::Tria3Basis, and basso::Tria6Basis.
Referenced by basso::Element::Shape().
virtual int basso::Basis::NumNodes | ( | ) | const [pure virtual] |
Returns the number of nodes in the element
Implemented in basso::Hexa8Basis, basso::Line2Basis, basso::Line3Basis, basso::Quad4Basis, basso::Quad8Basis, basso::Tetra10Basis, basso::Tetra4Basis, basso::Tria3Basis, and basso::Tria6Basis.
Referenced by basso::Element::NumNodes().
virtual int basso::Basis::NumEdges | ( | ) | const [pure virtual] |
Returns the number of edges in the element
Implemented in basso::Hexa8Basis, basso::Line2Basis, basso::Line3Basis, basso::Quad4Basis, basso::Quad8Basis, basso::Tetra10Basis, basso::Tetra4Basis, basso::Tria3Basis, and basso::Tria6Basis.
Referenced by basso::Element::NumEdges().
virtual int basso::Basis::NumFaces | ( | ) | const [pure virtual] |
Returns the number of faces in the element
Implemented in basso::Hexa8Basis, basso::Line2Basis, basso::Line3Basis, basso::Quad4Basis, basso::Quad8Basis, basso::Tetra10Basis, basso::Tetra4Basis, basso::Tria3Basis, and basso::Tria6Basis.
Referenced by basso::Element::NumFaces().
virtual int basso::Basis::Dimension | ( | ) | const [pure virtual] |
Returns the dimension of the parent element space
Implemented in basso::Hexa8Basis, basso::Line2Basis, basso::Line3Basis, basso::Quad4Basis, basso::Quad8Basis, basso::Tetra10Basis, basso::Tetra4Basis, basso::Tria3Basis, and basso::Tria6Basis.
Referenced by basso::Element::Dimension().
virtual int basso::Basis::Order | ( | ) | const [pure virtual] |
Returns the polynomial order of the basis
Implemented in basso::Hexa8Basis, basso::Line2Basis, basso::Line3Basis, basso::Quad4Basis, basso::Quad8Basis, basso::Tetra10Basis, basso::Tetra4Basis, basso::Tria3Basis, and basso::Tria6Basis.
Referenced by basso::Element::Order().
virtual void basso::Basis::ParentCoord | ( | Array< Point > & | pts | ) | const [pure virtual] |
Returns the parent element coordinates
Implemented in basso::Hexa8Basis, basso::Line2Basis, basso::Line3Basis, basso::Quad4Basis, basso::Quad8Basis, basso::Tetra10Basis, basso::Tetra4Basis, basso::Tria3Basis, and basso::Tria6Basis.
Referenced by basso::Element::ParentCoord().
virtual Point basso::Basis::Centroid | ( | ) | const [pure virtual] |
Returns the point in parent element coordinates of the element centroid
Implemented in basso::Hexa8Basis, basso::Line2Basis, basso::Line3Basis, basso::Quad4Basis, basso::Quad8Basis, basso::Tetra10Basis, basso::Tetra4Basis, basso::Tria3Basis, and basso::Tria6Basis.
Referenced by basso::Element::Centroid().
virtual void basso::Basis::NumNodesOnFaces | ( | iArray & | nn_face | ) | const [pure virtual] |
Returns the number of nodes on the element faces given in canonical order
Implemented in basso::Hexa8Basis, basso::Line2Basis, basso::Line3Basis, basso::Quad4Basis, basso::Quad8Basis, basso::Tetra10Basis, basso::Tetra4Basis, basso::Tria3Basis, and basso::Tria6Basis.
Referenced by basso::Element::NumNodesOnFaces().
virtual void basso::Basis::NumNodesOnEdges | ( | iArray & | nn_edege | ) | const [pure virtual] |
Returns the number of nodes on the element edges given in canonical order
Implemented in basso::Hexa8Basis, basso::Line2Basis, basso::Line3Basis, basso::Quad4Basis, basso::Quad8Basis, basso::Tetra10Basis, basso::Tetra4Basis, basso::Tria3Basis, and basso::Tria6Basis.
Referenced by basso::Element::NumNodesOnEdges().
virtual void basso::Basis::NodesOnFace | ( | int | f, | |
iArray & | face_nodeids | |||
) | const [pure virtual] |
Returns the local node numbers of the nodes on face f
f | The face id |
Implemented in basso::Hexa8Basis, basso::Line2Basis, basso::Line3Basis, basso::Quad4Basis, basso::Quad8Basis, basso::Tetra10Basis, basso::Tetra4Basis, basso::Tria3Basis, and basso::Tria6Basis.
Referenced by basso::Element::NodesOnFace().
virtual void basso::Basis::NodesOnEdge | ( | int | e, | |
iArray & | edge_nodeids | |||
) | const [pure virtual] |
Returns the local node ids of the nodes on the edge e given in cononical order
Implemented in basso::Hexa8Basis, basso::Line2Basis, basso::Line3Basis, basso::Quad4Basis, basso::Quad8Basis, basso::Tetra10Basis, basso::Tetra4Basis, basso::Tria3Basis, and basso::Tria6Basis.
Referenced by basso::Element::NodesOnEdge().
virtual void basso::Basis::FaceBasisType | ( | Array< BasisType > & | face_basis | ) | const [pure virtual] |
return geometry of each face in canonical order
Implemented in basso::Hexa8Basis, basso::Line2Basis, basso::Line3Basis, basso::Quad4Basis, basso::Quad8Basis, basso::Tetra10Basis, basso::Tetra4Basis, basso::Tria3Basis, and basso::Tria6Basis.
Referenced by basso::Element::FaceBasisType().
virtual void basso::Basis::EdgeBasisType | ( | Array< BasisType > & | edge_basis | ) | const [pure virtual] |
return geometry of each edge in canonical order
Implemented in basso::Hexa8Basis, basso::Line2Basis, basso::Line3Basis, basso::Quad4Basis, basso::Quad8Basis, basso::Tetra10Basis, basso::Tetra4Basis, basso::Tria3Basis, and basso::Tria6Basis.
Referenced by basso::Element::EdgeBasisType().
virtual void basso::Basis::Quadrature | ( | int | p, | |
QuadratureRule & | quad | |||
) | const [pure virtual] |
Compute the quadrature rule to integrate on the Basis ooa polynomial function of order p
Implemented in basso::Hexa8Basis, basso::Line2Basis, basso::Line3Basis, basso::Quad4Basis, basso::Quad8Basis, basso::Tetra10Basis, basso::Tetra4Basis, basso::Tria3Basis, and basso::Tria6Basis.
Referenced by basso::Element::Quadrature().
virtual void basso::Basis::Na | ( | const Point & | p, | |
Array< Numeric > & | shapefunct | |||
) | const [pure virtual] |
returns shape function at the point p
p | The point in the parent coordinate space at which the shape function is to be evaluated |
Referenced by basso::Element::Na().
virtual void basso::Basis::Na | ( | Array< Numeric > & | shapefunct | ) | const [pure virtual] |
returns shape function at the element centroid
virtual void basso::Basis::DNa | ( | const Point & | p, | |
dense_matrix< Numeric > & | grad_shape | |||
) | const [pure virtual] |
Compute the gradient of the shape functions w.r.t. the element space at the point p. The derivative is oriented column-wise and the shape funciton id row-wise.
p | The point in the parent coordinate space at which the shape function is to be evaluated. |
Referenced by basso::Element::DNa().
virtual void basso::Basis::DNa | ( | dense_matrix< Numeric > & | grad_shape | ) | const [pure virtual] |
Compute the gradient of the shape functions w.r.t. the element space at the element centroid