Loads

anaStruct allows the following loads on a structure. There are loads on nodes and loads on elements. Element loads are implicitly placed on the loads and recalculated during post processing.

Node loads

Point loads

Point loads are defined in x- and/ or y-direction, or by defining a load with an angle.

SystemElements.point_load(node_id, Fx=0.0, Fy=0.0, rotation=0.0, Fz=None)[source]

Apply a point load to a node.

Return type:

None

Args:

node_id (Union[int, Sequence[int]]): The node ID to which to apply the load Fx (Union[float, Sequence[float]], optional): Force in the global X direction. Defaults to 0.0. Fy (Union[float, Sequence[float]], optional): Force in the global Y direction. Defaults to 0.0. rotation (Union[float, Sequence[float]], optional): Rotate the force clockwise by the given

angle in degrees. Defaults to 0.0.

Raises:

FEMException: Point loads may not be placed at the location of inclined roller supports

Example

ss.add_element(location=[0, 1])
ss.point_load(ss.id_last_node, Fx=10, rotation=45)
ss.show_structure()
_images/point.png

Bending moments

Moment loads apply a rotational force on the nodes.

SystemElements.moment_load(node_id, Tz=0.0, Ty=None)[source]

Apply a moment load to a node.

Return type:

None

Args:

node_id (Union[int, Sequence[int]]): The node ID to which to apply the load Tz (Union[float, Sequence[float]]): Moment load (about the global Y direction) to apply

Example

ss.add_element([5, 0])
ss.moment_load(node_id=ss.id_last_node, Ty=20)
ss.show_structure()
_images/moment1.png

Element loads

Q-loads are distributed loads. They can act perpendicular to the elements direction, parallel to the elements direction, and in global x and y directions.

q-loads

SystemElements.q_load(q, element_id, direction='element', rotation=None, q_perp=None)[source]

Apply a q-load (distributed load) to an element.

Return type:

None

Args:

q (Union[float, Sequence[float]]): Value of the q-load element_id (Union[int, Sequence[int]]): The element ID to which to apply the load direction (Union["LoadDirection", Sequence["LoadDirection"]], optional):

“element”, “x”, “y”, “parallel”, or “perpendicular”. Defaults to “element”.

rotation (Optional[Union[float, Sequence[float]]], optional): Rotate the force clockwise.

Rotation is in degrees. Defaults to None.

q_perp (Optional[Union[float, Sequence[float]]], optional): Value of any q-load perpendicular

to the indicated direction/rotatione. Defaults to None.

Raises:

FEMException: _description_

Example

ss.add_element([5, 0])
ss.q_load(q=-1, element_id=ss.id_last_element, direction='element')
ss.show_structure()
_images/q-load.png

Remove loads

SystemElements.remove_loads(dead_load=False)[source]

Remove all the applied loads from the structure.

Return type:

None

Args:

dead_load (bool, optional): Also remove the self-weights? Defaults to False.