Public Member Functions

apf::EntityShape Class Reference

Shape functions over this element. More...

List of all members.

Public Member Functions

virtual void getValues (Mesh *m, MeshEntity *e, Vector3 const &xi, NewArray< double > &values) const =0
 evaluate element shape functions
virtual void getLocalGradients (Mesh *m, MeshEntity *e, Vector3 const &xi, NewArray< Vector3 > &grads) const =0
 evaluate element shape function gradients
virtual int countNodes () const =0
 return the number of nodes affecting this element
virtual void alignSharedNodes (Mesh *m, MeshEntity *elem, MeshEntity *shared, int order[])
 convert from shared node order to local element order

Detailed Description

Shape functions over this element.


Member Function Documentation

virtual void apf::EntityShape::alignSharedNodes ( Mesh m,
MeshEntity *  elem,
MeshEntity *  shared,
int  order[] 
) [virtual]

convert from shared node order to local element order

when two elements share nodes on a common entity, that entity will have its own unique orientation. when there is more than one node on that entity, this function will be queried to determine in what order the shared nodes go in the list of all element nodes.

the order array should contain numbers 0 through n-1, where n is the number of nodes in the shared entity only. the shared nodes will be reordered such that node i moves to position order[i], and then they will be added to the list of element nodes as a group.

users are encouraged to implement this with the help of apf::getAlignment

virtual int apf::EntityShape::countNodes (  )  const [pure virtual]

return the number of nodes affecting this element

in a linear mesh, there are two nodes affecting and edge, three nodes affecting a triangle, four for a tet, etc.

virtual void apf::EntityShape::getLocalGradients ( Mesh m,
MeshEntity *  e,
Vector3 const &  xi,
NewArray< Vector3 > &  grads 
) const [pure virtual]

evaluate element shape function gradients

Parameters:
xi parent element coordinates
grads each entry is the shape function gradient with respect to parent element coordinates for one node
virtual void apf::EntityShape::getValues ( Mesh m,
MeshEntity *  e,
Vector3 const &  xi,
NewArray< double > &  values 
) const [pure virtual]

evaluate element shape functions

Parameters:
xi the parent element coordinates
values each entry is the shape function value for one node

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines