basso::Basis Class Reference

Defining a finite element basis and topology. More...

#include <Basis.h>

Inheritance diagram for basso::Basis:

basso::Hexa8Basis basso::Line2Basis basso::Line3Basis basso::Quad4Basis basso::Quad8Basis basso::Tetra10Basis basso::Tetra4Basis basso::Tria3Basis basso::Tria6Basis List of all members.

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

Detailed Description

Defining a finite element basis and topology.

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.


Member Function Documentation

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

Parameters:
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

Parameters:
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.

Parameters:
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


The documentation for this class was generated from the following file:
Generated on Sat Jan 19 09:03:58 2008 for Basso by  doxygen 1.5.2