warp.fem.space.shape.TetrahedronShapeFunction#

class warp.fem.space.shape.TetrahedronShapeFunction[source]#

Base class for shape functions defined on tetrahedral elements.

__init__()#

Methods

__init__()

make_element_inner_weight()

Create a device function returning the value of the shape function associated to a given node at given coordinates.

make_element_inner_weight_gradient()

Create a device function returning the gradient of the shape function associated to a given node at given coordinates.

make_node_coords_in_element()

Create a device function returning the coordinates of each node.

make_node_quadrature_weight()

Create a device function returning the weight of each node when used as a quadrature point over the element.

make_trace_node_quadrature_weight()

Create a device function returning the weight of each node when used as a quadrature point over the element boundary.

node_type_and_index(node_index_in_elt)

Attributes

EDGE

FACE

INTERIOR

VERTEX

edge_vidx

name

Unique name encoding all parameters defining the shape function

opposite_edge_vidx

value

Value type of the shape function.

VERTEX_NODE_COUNT

Number of shape function nodes per vertex.

EDGE_NODE_COUNT

Number of shape function nodes per tet edge (excluding vertex nodes).

FACE_NODE_COUNT

Number of shape function nodes per tet face (excluding edge and vertex nodes).

INTERIOR_NODE_COUNT

Number of shape function nodes per tet (excluding face, edge and vertex nodes).

ORDER

Maximum degree of the polynomials used to define the shape function.

NODES_PER_ELEMENT

Number of shape function nodes.

VERTEX = 0#
EDGE = 1#
FACE = 2#
INTERIOR = 3#
VERTEX_NODE_COUNT: int#

Number of shape function nodes per vertex.

EDGE_NODE_COUNT: int#

Number of shape function nodes per tet edge (excluding vertex nodes).

FACE_NODE_COUNT: int#

Number of shape function nodes per tet face (excluding edge and vertex nodes).

INTERIOR_NODE_COUNT: int#

Number of shape function nodes per tet (excluding face, edge and vertex nodes).

static node_type_and_index(node_index_in_elt)[source]#
Parameters:

node_index_in_elt (int)

edge_vidx = <Function TetrahedronShapeFunction__edge_vidx(edge: int)>#
Parameters:

edge (int)

opposite_edge_vidx = <Function TetrahedronShapeFunction__opposite_edge_vidx(edge: int)>#
Parameters:

edge (int)