Quad9#
- class planestress.analysis.finite_elements.quad9.Quad9(el_idx: int, el_tag: int, coords: npt.NDArray[np.float64], node_idxs: list[int], material: Material, orientation: bool)[source]#
Bases:
FiniteElement
Class for a nine-noded quadratic quadrilateral element.
Methods
Calculates the B matrix and jacobian at an isoparametric point for a Quad9.
Calculates various results for a Quad9 element given nodal displacements.
Returns the column indexes fore the global stiffness matrix.
Assembles the load vector for a Quad9 element.
Returns the row indexes fore the global stiffness matrix.
Assembles the stiffness matrix for a Quad9 element.
Returns the extrapolation matrix for a Quad9 element.
Returns a list of coordinates and indexes that define the element exterior.
Returns a list of triangle indexes for a Quad9 element.
Returns the values of the isoparametric coordinates at the nodes.
Returns the shape functions at a point for a Quad9 element.
- __init__(el_idx: int, el_tag: int, coords: npt.NDArray[np.float64], node_idxs: list[int], material: Material, orientation: bool) None [source]#
Inits the Quad9 class.
- Parameters:
el_idx (int) – Element index.
el_tag (int) – Element mesh tag.
coords (npt.NDArray[np.float64]) – A
2 x 9
numpy.ndarray
of coordinates defining the element, i.e.[[x1, x2, ..., x9], [y1, y2, ..., y9]]
.node_idxs (list[int]) – A list of node indexes defining the element, i.e.
[idx1, idx2, ..., idx9]
.material (Material) – Material of the element.
orientation (bool) – If
True
the element is oriented correctly, ifFalse
the element’s nodes will need reordering.
- static shape_functions(iso_coords: tuple[float, float]) ndarray[Any, dtype[float64]] [source]#
Returns the shape functions at a point for a Quad9 element.
- static nodal_isoparametric_coordinates() list[tuple[float, float]] [source]#
Returns the values of the isoparametric coordinates at the nodes.
- static b_matrix_jacobian(iso_coords: tuple[float, float], coords: tuple[float, ...]) tuple[npt.NDArray[np.float64], float] [source]#
Calculates the B matrix and jacobian at an isoparametric point for a Quad9.
- Parameters:
- Raises:
RuntimeError – If the jacobian is less than zero.
- Returns:
Derivatives of the shape function (B matrix) and value of the jacobian, (
b_mat
,j
).- Return type:
- element_stiffness_matrix() ndarray[Any, dtype[float64]] [source]#
Assembles the stiffness matrix for a Quad9 element.
- element_load_vector(acceleration_field: tuple[float, float]) ndarray[Any, dtype[float64]] [source]#
Assembles the load vector for a Quad9 element.
- calculate_element_stresses(u: ndarray[Any, dtype[float64]]) ElementResults [source]#
Calculates various results for a Quad9 element given nodal displacements.
Calculates the following:
Stress components at the nodes (:math`sigma_{xx}`, :math`sigma_{yy}`, :math`sigma_{xy}`).
TODO
- extrapolate_gauss_points_to_nodes() ndarray[Any, dtype[float64]] [source]#
Returns the extrapolation matrix for a Quad9 element.
- get_polygon_coordinates() tuple[list[int], ndarray[Any, dtype[float64]]] [source]#
Returns a list of coordinates and indexes that define the element exterior.
- get_triangulation() list[tuple[int, int, int]] [source]#
Returns a list of triangle indexes for a Quad9 element.