basso::Element Class Reference

Class that defines a basic finite element. More...

#include <Element.h>

List of all members.

Public Types

typedef iArray::const_iterator const_iterator
typedef iArray::iterator iterator

Public Member Functions

 Element (int id=0, int part=0, BasisType bt=kNONE)
 Element (int id, int part, BasisType bt, const iArray &nids)
 Element (int id, int part, Basis *bt, const iArray &nids)
 Element (const Element &be)
 ~Element ()
Element::const_iterator begin () const
Element::iterator begin ()
Element::const_iterator end () const
Element::iterator end ()
int operator[] (int i) const
int NodeId (int i) const
BasisType Type () const
BasisShape Shape () const
int NumNodes () const
int NumEdges () const
int NumFaces () const
int Dimension () const
int Order () const
void ParentCoord (Array< Point > &pts) const
Point Centroid () const
void NumNodesOnFaces (iArray &nn_face) const
void NumNodesOnEdges (iArray &nn_edge) const
void NodesOnFace (int f, iArray &face_nodeids) const
void NodesOnEdge (int e, iArray &edge_nodeids) const
void FaceBasisType (Array< BasisType > &face_basis) const
void EdgeBasisType (Array< BasisType > &edge_basis) const
void Quadrature (int p, QuadratureRule &quad) const
void Na (const Point &p, Array< Numeric > &shapefunct) const
void Na (Array< Numeric > &shapefunct) const
void DNa (const Point &p, dense_matrix< Numeric > &shapefunct) const
void DNa (dense_matrix< Numeric > &shapefunct) const
int Id () const
int PartId () const
const iArray & Connectivity () const
const BasisBasisPtr () const
ElementCopyElement (const Element &elem)
Elementoperator= (const Element &conn1)

Protected Member Functions

void SetBasis (BasisType bt)

Protected Attributes

int eid
int pid
iArray fConn
BasisfBasis
bool fBasisLocal


Detailed Description

Class that defines a basic finite element.

Definition at line 34 of file Element.h.


Constructor & Destructor Documentation

basso::Element::Element ( int  id = 0,
int  part = 0,
BasisType  bt = kNONE 
) [inline]

constructor from a BasisType. This makes a local insatiation of the Basis

Parameters:
id Element id
part Part id for the element
bt Basis type for the element

Definition at line 49 of file Element.h.

References eid, fBasisLocal, pid, and SetBasis().

basso::Element::Element ( int  id,
int  part,
BasisType  bt,
const iArray &  nids 
) [inline]

constructor from a BasisType. This makes a local insatiation of the Basis

Parameters:
id Element id
part Part id for the element
bt Basis type for the element
nids an array of node ids

Definition at line 58 of file Element.h.

References eid, fBasisLocal, pid, and SetBasis().

basso::Element::Element ( int  id,
int  part,
Basis bt,
const iArray &  nids 
) [inline]

constructor from a class derived from the virtual base class Basis. This constructor does NOT create a local insatiation of the Basis. The derived entity

Parameters:
bt must exist.
id Element id
part Part id for the element
bt Basis pointer to the Basis to be used for the element
nids an array of node ids

Definition at line 69 of file Element.h.

References eid, fBasis, fBasisLocal, and pid.

basso::Element::Element ( const Element be  )  [inline]

copy constructor

Definition at line 73 of file Element.h.

References CopyElement(), and fBasisLocal.

basso::Element::~Element (  )  [inline]

destructor, deletes Basis if local

Definition at line 76 of file Element.h.

References fBasis, and fBasisLocal.


Member Function Documentation

int basso::Element::operator[] ( int  i  )  const [inline]

returns the global node id of the

Parameters:
i node in the element connectivity.

Definition at line 86 of file Element.h.

References NodeId().

int basso::Element::NodeId ( int  i  )  const [inline]

returns the global node id of the

Parameters:
i node in the element connectivity.

Definition at line 91 of file Element.h.

References fConn.

Referenced by operator[]().

BasisType basso::Element::Type (  )  const [inline]

Returns the basis type

Definition at line 102 of file Element.h.

References fBasis, and basso::Basis::Type().

Referenced by basso::WriteEnsight::ElementName(), basso::operator<<(), and basso::WriteEnsight::WriteElement().

BasisShape basso::Element::Shape (  )  const [inline]

Returns the element shape

Definition at line 105 of file Element.h.

References fBasis, and basso::Basis::Shape().

int basso::Element::NumNodes (  )  const [inline]

Returns the number of nodes in the element

Definition at line 108 of file Element.h.

References fBasis, and basso::Basis::NumNodes().

Referenced by basso::operator<<().

int basso::Element::NumEdges (  )  const [inline]

Returns the number of edges in the element

Definition at line 111 of file Element.h.

References fBasis, and basso::Basis::NumEdges().

int basso::Element::NumFaces (  )  const [inline]

Returns the number of faces in the element

Definition at line 114 of file Element.h.

References fBasis, and basso::Basis::NumFaces().

int basso::Element::Dimension (  )  const [inline]

Returns the dimension of the parent element space

Definition at line 117 of file Element.h.

References basso::Basis::Dimension(), and fBasis.

int basso::Element::Order (  )  const [inline]

Returns the polynomial order of the basis

Definition at line 120 of file Element.h.

References fBasis, and basso::Basis::Order().

void basso::Element::ParentCoord ( Array< Point > &  pts  )  const [inline]

Returns the parent element coordinates

Definition at line 123 of file Element.h.

References fBasis, and basso::Basis::ParentCoord().

Point basso::Element::Centroid (  )  const [inline]

Returns the point in parent element coordinates of the element centroid

Definition at line 126 of file Element.h.

References basso::Basis::Centroid(), and fBasis.

void basso::Element::NumNodesOnFaces ( iArray &  nn_face  )  const [inline]

Returns the number of nodes on the element faces given in canonical order

Definition at line 129 of file Element.h.

References fBasis, and basso::Basis::NumNodesOnFaces().

void basso::Element::NumNodesOnEdges ( iArray &  nn_edge  )  const [inline]

Returns the number of nodes on the element edges given in canonical order

Definition at line 133 of file Element.h.

References fBasis, and basso::Basis::NumNodesOnEdges().

void basso::Element::NodesOnFace ( int  f,
iArray &  face_nodeids 
) const [inline]

Returns the local node numbers of the nodes on face f

Parameters:
f The face id

Definition at line 138 of file Element.h.

References fBasis, and basso::Basis::NodesOnFace().

void basso::Element::NodesOnEdge ( int  e,
iArray &  edge_nodeids 
) const [inline]

Returns the local node ids of the nodes on the edge e given in cononical order

Definition at line 141 of file Element.h.

References fBasis, and basso::Basis::NodesOnEdge().

void basso::Element::FaceBasisType ( Array< BasisType > &  face_basis  )  const [inline]

return geometry of each face in canonical order

Definition at line 144 of file Element.h.

References basso::Basis::FaceBasisType(), and fBasis.

void basso::Element::EdgeBasisType ( Array< BasisType > &  edge_basis  )  const [inline]

return geometry of each edge in canonical order

Definition at line 147 of file Element.h.

References basso::Basis::EdgeBasisType(), and fBasis.

void basso::Element::Quadrature ( int  p,
QuadratureRule &  quad 
) const [inline]

Compute the quadrature rule to integrate on the Basis ooa polynomial function of order p

Definition at line 150 of file Element.h.

References fBasis, and basso::Basis::Quadrature().

void basso::Element::Na ( const Point p,
Array< Numeric > &  shapefunct 
) const [inline]

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

Definition at line 155 of file Element.h.

References fBasis, and basso::Basis::Na().

void basso::Element::Na ( Array< Numeric > &  shapefunct  )  const [inline]

returns shape function at the element centroid

Definition at line 158 of file Element.h.

References fBasis, and basso::Basis::Na().

void basso::Element::DNa ( const Point p,
dense_matrix< Numeric > &  shapefunct 
) const [inline]

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.

Definition at line 164 of file Element.h.

References basso::Basis::DNa(), and fBasis.

void basso::Element::DNa ( dense_matrix< Numeric > &  shapefunct  )  const [inline]

Compute the gradient of the shape functions w.r.t. the element space at the element centroid

Definition at line 167 of file Element.h.

References basso::Basis::DNa(), and fBasis.

int basso::Element::Id (  )  const [inline]

returns the element id number, this is non-volitile

Definition at line 170 of file Element.h.

References eid.

Referenced by basso::operator<<().

int basso::Element::PartId (  )  const [inline]

returns the element part id number, this is non-volitile

Definition at line 173 of file Element.h.

References pid.

Referenced by basso::operator<<().

const iArray& basso::Element::Connectivity (  )  const [inline]

returns the element connectivity, this is non-volitile reference

Definition at line 176 of file Element.h.

References fConn.

Referenced by basso::WriteEnsight::WriteElement().

const Basis* basso::Element::BasisPtr (  )  const [inline]

returns a constant pointer to the element's Basis

Definition at line 179 of file Element.h.

References fBasis.

Element& basso::Element::CopyElement ( const Element elem  )  [inline]

copies the Basic Element

Parameters:
elem 

Definition at line 182 of file Element.h.

References eid, fBasis, fBasisLocal, fConn, pid, SetBasis(), and basso::Basis::Type().

Referenced by Element(), and operator=().

Element& basso::Element::operator= ( const Element conn1  )  [inline]

overload of copy operator

Definition at line 199 of file Element.h.

References CopyElement().

void basso::Element::SetBasis ( BasisType  bt  )  [protected]

Sets the Basis pointer fBasis depending on the BasisType

Parameters:
bt given.

Definition at line 214 of file Element.h.

References fBasis, fBasisLocal, basso::kHEXA8, basso::kLINE2, basso::kLINE3, basso::kQUAD4, basso::kQUAD8, basso::kTETRA10, basso::kTETRA4, basso::kTRIA3, and basso::kTRIA6.

Referenced by CopyElement(), and Element().


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