SCOREC core
Parallel unstructured mesh tools
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | List of all members
apf::EntityShape Class Referenceabstract

Shape functions over this element. More...

Public Member Functions

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

Detailed Description

Shape functions over this element.

Definition at line 24 of file apfShape.h.

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
xiparent element coordinates
gradseach 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
xithe parent element coordinates
valueseach entry is the shape function value for one node

The documentation for this class was generated from the following file: