anastruct.fem.system_components.assembly

Functions

set_force_vector(→ numpy.ndarray)

Set a force vector on a node within the system

prep_matrix_forces(→ None)

Prepare the system force vector for the matrix assembly

apply_moment_load(→ None)

Apply a moment load to the system

apply_point_load(→ None)

Apply a point load to the system

apply_perpendicular_q_load(→ None)

Apply a perpendicular q load to the system

apply_parallel_qn_load(→ None)

Apply a parallel qn load to the system

dead_load(→ None)

Apply a dead load self-weight to an element in the system

assemble_system_matrix(→ None)

Assemble the system matrix

set_displacement_vector(→ numpy.ndarray)

Set the displacement vector for the system

process_conditions(→ None)

Process the conditions of the system

process_supports(→ None)

Process the supports of the system

Module Contents

anastruct.fem.system_components.assembly.set_force_vector(system: anastruct.fem.system.SystemElements, force_list: List[Tuple[int, anastruct._types.AxisNumber, float]]) numpy.ndarray[source]

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

anastruct.fem.system_components.assembly.prep_matrix_forces(system: anastruct.fem.system.SystemElements) None[source]

Prepare the system force vector for the matrix assembly

Args:

system (SystemElements): System to which the force vector is applied

anastruct.fem.system_components.assembly.apply_moment_load(system: anastruct.fem.system.SystemElements) None[source]

Apply a moment load to the system

Args:

system (SystemElements): System to which the moment load is applied

anastruct.fem.system_components.assembly.apply_point_load(system: anastruct.fem.system.SystemElements) None[source]

Apply a point load to the system

Args:

system (SystemElements): System to which the point load is applied

anastruct.fem.system_components.assembly.apply_perpendicular_q_load(system: anastruct.fem.system.SystemElements) None[source]

Apply a perpendicular q load to the system

Args:

system (SystemElements): System to which the perpendicular q load is applied

anastruct.fem.system_components.assembly.apply_parallel_qn_load(system: anastruct.fem.system.SystemElements) None[source]

Apply a parallel qn load to the system

Args:

system (SystemElements): System to which the parallel qn load is applied

anastruct.fem.system_components.assembly.dead_load(system: anastruct.fem.system.SystemElements, g: float, element_id: int) None[source]

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

anastruct.fem.system_components.assembly.assemble_system_matrix(system: anastruct.fem.system.SystemElements, validate: bool = False, geometric_matrix: bool = False) None[source]

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.

anastruct.fem.system_components.assembly.set_displacement_vector(system: anastruct.fem.system.SystemElements, nodes_list: List[Tuple[int, anastruct._types.AxisNumber]]) numpy.ndarray[source]

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

anastruct.fem.system_components.assembly.process_conditions(system: anastruct.fem.system.SystemElements) None[source]

Process the conditions of the system

Args:

system (SystemElements): System to be processed

anastruct.fem.system_components.assembly.process_supports(system: anastruct.fem.system.SystemElements) None[source]

Process the supports of the system

Args:

system (SystemElements): System to be processed