anastruct.fem.system_components.assembly ======================================== .. py:module:: anastruct.fem.system_components.assembly Functions --------- .. autoapisummary:: anastruct.fem.system_components.assembly.set_force_vector anastruct.fem.system_components.assembly.prep_matrix_forces anastruct.fem.system_components.assembly.apply_moment_load anastruct.fem.system_components.assembly.apply_point_load anastruct.fem.system_components.assembly.apply_perpendicular_q_load anastruct.fem.system_components.assembly.apply_parallel_qn_load anastruct.fem.system_components.assembly.dead_load anastruct.fem.system_components.assembly.assemble_system_matrix anastruct.fem.system_components.assembly.set_displacement_vector anastruct.fem.system_components.assembly.process_conditions anastruct.fem.system_components.assembly.process_supports Module Contents --------------- .. py:function:: set_force_vector(system: anastruct.fem.system.SystemElements, force_list: List[Tuple[int, anastruct._types.AxisNumber, float]]) -> numpy.ndarray Set a force vector on a node within the system Args: system (SystemElements): System to which the force vector is applied force_list (List[Tuple[int, AxisNumber, float]]): List of tuples containing the node id, direction (1 = x, 2 = y, 3 = z), and force magnitude Returns: np.ndarray: System force vector with the applied forces on the nodes .. py:function:: prep_matrix_forces(system: anastruct.fem.system.SystemElements) -> None Prepare the system force vector for the matrix assembly Args: system (SystemElements): System to which the force vector is applied .. py:function:: apply_moment_load(system: anastruct.fem.system.SystemElements) -> None Apply a moment load to the system Args: system (SystemElements): System to which the moment load is applied .. py:function:: apply_point_load(system: anastruct.fem.system.SystemElements) -> None Apply a point load to the system Args: system (SystemElements): System to which the point load is applied .. py:function:: apply_perpendicular_q_load(system: anastruct.fem.system.SystemElements) -> None Apply a perpendicular q load to the system Args: system (SystemElements): System to which the perpendicular q load is applied .. py:function:: apply_parallel_qn_load(system: anastruct.fem.system.SystemElements) -> None Apply a parallel qn load to the system Args: system (SystemElements): System to which the parallel qn load is applied .. py:function:: dead_load(system: anastruct.fem.system.SystemElements, g: float, element_id: int) -> None Apply a dead load self-weight to an element in the system Args: system (SystemElements): System to which the dead load is applied g (float): Magnitude of the dead load self-weight element_id (int): Element id to which the dead load is applied .. py:function:: assemble_system_matrix(system: anastruct.fem.system.SystemElements, validate: bool = False, geometric_matrix: bool = False) -> None Assemble the system matrix Shape of the matrix = n nodes * n d.o.f. = n * 3 Args: system (SystemElements): System to be prepared validate (bool, optional): Whether or not to validate the system. Defaults to False. geometric_matrix (bool, optional): Whether or not to include the current geometric matrix. Defaults to False. .. py:function:: set_displacement_vector(system: anastruct.fem.system.SystemElements, nodes_list: List[Tuple[int, anastruct._types.AxisNumber]]) -> numpy.ndarray Set the displacement vector for the system Args: system (SystemElements): System to which the displacement vector is applied nodes_list (List[Tuple[int, AxisNumber]]): List of tuples containing the node id and the direction (1 = x, 2 = y, 3 = z) Raises: IndexError: This often occurs if you set supports before the all the elements are modelled. First finish the model. Returns: np.ndarray: System displacement vector with the applied displacements on the nodes .. py:function:: process_conditions(system: anastruct.fem.system.SystemElements) -> None Process the conditions of the system Args: system (SystemElements): System to be processed .. py:function:: process_supports(system: anastruct.fem.system.SystemElements) -> None Process the supports of the system Args: system (SystemElements): System to be processed