bluemira.structural.matrixops

Matrix manipulation methods for finite element solver

Functions

k_condensation(→ tuple[numpy.ndarray, numpy.ndarray])

Section 6.5 in J.S. Prz..

cyclic_decomposition(→ tuple[numpy.ndarray, ...)

Perform a cyclic symmetry decomposition of the stiffness matrix and load

Module Contents

bluemira.structural.matrixops.k_condensation(k: numpy.ndarray, releases: numpy.ndarray) tuple[numpy.ndarray, numpy.ndarray]

Section 6.5 in J.S. Prz..

Parameters:
  • k (numpy.ndarray)

  • releases (numpy.ndarray)

Return type:

tuple[numpy.ndarray, numpy.ndarray]

bluemira.structural.matrixops.cyclic_decomposition(k: numpy.ndarray, p: numpy.ndarray, l_nodes: list[int], r_nodes: list[int]) tuple[numpy.ndarray, numpy.ndarray, list[numpy.ndarray]]

Perform a cyclic symmetry decomposition of the stiffness matrix and load vector.

Parameters:
  • k (numpy.ndarray) – The stiffness matrix to decompose

  • p (numpy.ndarray) – The load vector to decompose

  • l_nodes (list[int]) – The left nodes indices where a symmetry condition was specified

  • r_nodes (list[int]) – The right node indices where a symmetry condition was specified

Returns:

  • k_cyc – The partitioned and ordered stiffness matrix

  • p_cyc – The partitioned and ordered load vector

  • selections – The list of left, right, and interior node selection arrays

Return type:

tuple[numpy.ndarray, numpy.ndarray, list[numpy.ndarray]]