Supports
The following kinds of support conditions are possible.
hinged (the node is able to rotate, but cannot translate)
roll (the node is able to rotate and translation is allowed in one direction)
fixed (the node cannot translate and not rotate)
spring (translation and rotation are allowed but only with a linearly increasing resistance)
add_support_hinged
- SystemElements.add_support_hinged(node_id)[source]
Model a hinged support at a given node.
- Return type:
- Args:
node_id (Union[int, Sequence[int]]): Represents the nodes ID
Example
ss.add_element(location=[5, 1])
ss.add_support_hinged(node_id=[1, 2])
ss.show_structure()
add_support_roll
- SystemElements.add_support_roll(node_id, direction='x', angle=None, rotate=True)[source]
Add a rolling support at a given node.
- Return type:
- Args:
node_id (Union[Sequence[int], int]): Represents the nodes ID direction (Union[Sequence[SupportDirection], SupportDirection], optional): Represents the direction
that is free (“x”, “y”, “1”, or “2”). Defaults to “x”.
- angle (Union[Sequence[Optional[float]], Optional[float]], optional): Angle in degrees relative to
global x-axis. If angle is given, the support will be inclined. Defaults to None.
- rotate (Union[Sequence[bool], bool], optional): If set to False, rotation at the roller will also
be restrianed. Defaults to True.
- Raises:
FEMException: Invalid direction, if the direction parameter is invalid
Example
ss.add_element(location=[5, 5])
ss.add_support_roll(node_id=2, direction=1)
ss.add_support_roll(node_id=1, direction=2)
ss.show_structure()
add_support_fixed
- SystemElements.add_support_fixed(node_id)[source]
Add a fixed support at a given node.
- Return type:
- Args:
node_id (Union[Sequence[int], int]): Represents the nodes ID
Example
ss.add_element(location=[0, 2.5])
ss.add_support_fixed(node_id=1)
ss.show_structure()
add_support_spring
Example
ss.add_element(location=[5, 5])
ss.add_support_spring(node_id=1, translation=3, k=1000)
ss.add_support_spring(node_id=-1, translation=2, k=1000)
ss.show_structure()
- SystemElements.add_support_spring(node_id, translation, k, roll=False)[source]
Add a spring support at a given node.
- Return type:
- Args:
node_id (Union[Sequence[int], int]): Represents the nodes ID translation (Union[Sequence[AxisNumber], AxisNumber]): Represents the prevented translation or rotation.
1 = translation in x, 2 = translation in y, 3 = rotation about z
k (Union[Sequence[float], float]): Stiffness of the spring roll (Union[Sequence[bool], bool], optional): If set to True, only the translation of the
spring is controlled. Defaults to False.