Shape functions over this element.
More...
|
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 void | getVectorValues (Mesh *m, MeshEntity *e, Vector3 const &xi, NewArray< apf::Vector3 > &values) const =0 |
| evaluate element vector shape functions More...
|
|
virtual void | getLocalVectorCurls (Mesh *m, MeshEntity *e, Vector3 const &xi, NewArray< apf::Vector3 > &values) const |
| evaluate element vector curl shape functions 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...
|
|
Shape functions over this element.
Definition at line 24 of file apfShape.h.
◆ alignSharedNodes()
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
◆ countNodes()
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.
◆ getLocalGradients()
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 |
◆ getLocalVectorCurls()
virtual void apf::EntityShape::getLocalVectorCurls |
( |
Mesh * |
m, |
|
|
MeshEntity * |
e, |
|
|
Vector3 const & |
xi, |
|
|
NewArray< apf::Vector3 > & |
values |
|
) |
| const |
|
virtual |
evaluate element vector curl shape functions
this is used only for Nedelec
- Parameters
-
xi | the parent element coordinates |
values | each entry is the vector shape function value for one node |
◆ getValues()
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 |
◆ getVectorValues()
virtual void apf::EntityShape::getVectorValues |
( |
Mesh * |
m, |
|
|
MeshEntity * |
e, |
|
|
Vector3 const & |
xi, |
|
|
NewArray< apf::Vector3 > & |
values |
|
) |
| const |
|
pure virtual |
evaluate element vector shape functions
this is used only for Nedelec
- Parameters
-
xi | the parent element coordinates |
values | each entry is the vector shape function value for one node |
The documentation for this class was generated from the following file: