warp.fem.ShapeBasisSpace#

class warp.fem.ShapeBasisSpace(topology, shape)[source]#

Base class for defining shape-function-based basis spaces.

Methods

basis_arg_value(device)

fill_basis_arg(arg, device)

Fill the arguments to be passed to basis-related device functions

make_element_inner_weight()

Create a device function returning inner element shape weights.

make_element_inner_weight_gradient()

Create a device function returning gradients of inner element weights.

make_element_outer_weight()

Create a device function returning outer element shape weights.

make_element_outer_weight_gradient()

Create a device function returning gradients of outer element weights.

make_node_coords_in_element()

Create a device function returning node coordinates within an element.

make_node_dual_weight()

Create a device function returning the dual weight of each element node.

make_node_quadrature_weight()

Create a device function returning node quadrature weights.

make_node_sample()

Create a device function locating an element node's physical anchor.

make_trace_node_quadrature_weight(trace_basis)

Create a device function returning trace node quadrature weights.

node_positions([out])

Return a temporary array containing the world position for each node.

trace()

Return a trace basis space on geometry sides.

Attributes

BasisArg

geometry

Underlying geometry of the basis space

moves_node_samples

Whether make_node_sample() may return another element than the one it is given.

name

Unique name of the basis space.

node_grid

Node grid for the basis, if defined by the topology.

node_hexes

Hexahedralization of element nodes for visualization.

node_tets

Tetrahedralization of element nodes for visualization.

node_triangulation

Triangulation of element nodes for visualization.

shape

Shape functions used for defining individual element basis

supports_nodal_assembly

Whether nodal assembly may assume a diagonal node coupling.

supports_nodal_quadrature

Whether this basis may supply nodal quadrature points and weights.

topology

Underlying topology of the basis space

value

Value type of the underlying shape function.

vtk_cells

VTK cell connectivity for visualization.

weight_gradient_type

Data type of node weight gradients returned by the basis.

weight_type

Data type of node weights returned by the basis.

Parameters:
property shape: ShapeFunction[source]#

Shape functions used for defining individual element basis

property value: Value[source]#

Value type of the underlying shape function.

property name#

Unique name of the basis space.

make_node_coords_in_element()[source]#

Create a device function returning node coordinates within an element.

make_node_quadrature_weight()[source]#

Create a device function returning node quadrature weights.

make_element_inner_weight()[source]#

Create a device function returning inner element shape weights.

make_element_inner_weight_gradient()[source]#

Create a device function returning gradients of inner element weights.

make_node_dual_weight()[source]#

Create a device function returning the dual weight of each element node.

make_trace_node_quadrature_weight(trace_basis)[source]#

Create a device function returning trace node quadrature weights.

trace()[source]#

Return a trace basis space on geometry sides.

Return type:

TraceBasisSpace

property node_grid[source]#

Node grid for the basis, if defined by the topology.

property node_triangulation[source]#

Triangulation of element nodes for visualization.

property node_tets[source]#

Tetrahedralization of element nodes for visualization.

property node_hexes[source]#

Hexahedralization of element nodes for visualization.

property vtk_cells[source]#

VTK cell connectivity for visualization.