bluemira.structural.symmetry
Symmetry boundary conditions
Classes
Utility class for implementing a cyclical symmetry boundary condition in |
Module Contents
- class bluemira.structural.symmetry.CyclicSymmetry(geometry: bluemira.structural.geometry.Geometry, cycle_sym_ids: list[list[int], list[int]])
Utility class for implementing a cyclical symmetry boundary condition in FiniteElementModel
- Parameters:
geometry (bluemira.structural.geometry.Geometry) – The geometry upon which to apply the cyclic symmetry
cycle_sym_ids (list[list[int], list[int]]) – The list of left and right DOF ids
- geometry
- cycle_sym_ids
- t_block = None
- t_matrix = None
- left_nodes = None
- right_nodes = None
- theta = None
- n = None
- axis = None
- selections = None
- _prepare_cyclic_symmetry()
- _build_t_matrix(n)
- apply_cyclic_symmetry(k: numpy.ndarray, p: numpy.ndarray) tuple[numpy.ndarray, numpy.ndarray]
Apply the cyclic symmetry condition to the matrices.
Will simply return k and p if no cyclic symmetry is detected in the FiniteElementModel.
- Parameters:
k (numpy.ndarray) – The geometry stiffness matrix
p (numpy.ndarray) – The model load vector
- Returns:
k – The partitioned block stiffness matrix
p – The partitioned block load vector
- Return type:
tuple[numpy.ndarray, numpy.ndarray]
- reorder(u_original: numpy.ndarray) numpy.ndarray
Re-order the displacement vector correctly, so that the deflections may be applied to the correct nodes.
If not cyclic symmetry is detected in the FiniteElementModel, simply returns u_original.
- Parameters:
u_original (numpy.ndarray) – The original deflection vector
- Return type:
The re-ordered deflection vector