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:

None

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()
_images/hinged.png

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:

None

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()
_images/roll.png

add_support_fixed

SystemElements.add_support_fixed(node_id)[source]

Add a fixed support at a given node.

Return type:

None

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()
_images/fixed.png

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()
_images/spring.png
SystemElements.add_support_spring(node_id, translation, k, roll=False)[source]

Add a spring support at a given node.

Return type:

None

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.