shape_functions
gripyth.elements.shape_functions
Shape function (N) and its derivative (dN).
The shape function depends on the element type, i.e. its order (linear, quadratic), dimensionality, and geometric shape. It is expressed in natural coordinates.
FUNCTION | DESCRIPTION |
---|---|
N_dN |
Returns shape function and its derivative for given element type. |
N_dN_1d |
Returns 1d shape function and its derivative for given element type. |
N_dN_2d |
Returns 2d shape function and its derivative for given element type. |
N_dN_3d |
Returns 3d shape function and its derivative for given element type. |
N_dN
N_dN(
element_type: ElementType,
dim: int,
gauss_points: NDArray[float64],
) -> tuple[NDArray[float64], NDArray[float64]]
Returns shape function and its derivative for given element type.
Supported element types are:
LINE2
: linear 1d element, Gaussian quadratureLINE3
: quadratic 1d element, Gaussian quadratureQUAD4
: linear 2d quadrilateral element, 4 nodes, Gaussian quadratureTRIA3
: linear 2d triangular element, 3 nodes, simplex quadratureTRIA6
: quadratic 2d triangular element, 6 nodes, simplex quadratureHEXA8
: linear 3d prismatic element, 8 nodes, Gaussian quadratureTETR4
: linear 3d tetrahedral element, 4 nodes, simplex quadrature
The following elements are not yet implemented:
QUAD9
: quadratic 2d element, 9 nodes (lagrangian), Gaussian quadratureQUAD8
: quadratic 2d element, 8 nodes (serendipity), Gaussian quadratureHEXA20
: quadratic 3d prismatic element with 20 nodes (serendipity), Gaussian quadratureHEXA27
: quadratic 3d prismatic element with 27 nodes (lagrangian), Gaussian quadratureTETR10
: quadratic 3d tetrahedral element with 10 nodes, simplex quadrature
N_dN_1d
N_dN_2d
N_dN_2d(
element_type: ElementType,
gauss_points: NDArray[float64],
) -> tuple[NDArray[float64], NDArray[float64]]
Returns 2d shape function and its derivative for given element type.
Supported element types:
QUAD4
: linear 2d quadrilateral element, 4 nodes, Gaussian quadratureTRIA3
: linear 2d triangular element, 3 nodes, simplex quadratureTRIA6
: quadratic 2d triangular element, 6 nodes, simplex quadrature
N_dN_3d
N_dN_3d(
element_type: ElementType,
gauss_points: NDArray[float64],
) -> tuple[NDArray[float64], NDArray[float64]]
Returns 3d shape function and its derivative for given element type.
Supported element types:
HEXA8
: linear 3d prismatic element, 8 nodes, Gaussian quadratureTETR4
: linear 3d tetrahedral element, 4 nodes, simplex quadrature