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.

Parameters

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]

Adds a rolling support at a given node.

Parameters
  • node_id (Union[Sequence[int], int]) – Represents the nodes ID

  • direction (Union[Sequence[Union[str, int]], str, int]) – Represents the direction that is free: ‘x’, ‘y’

  • angle (Union[Sequence[Optional[float]], float, None]) – Angle in degrees relative to global x-axis. If angle is given, the support will be inclined.

  • rotate (Union[Sequence[bool], bool]) – If set to False, rotation at the roller will also be restrained.

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.

Parameters

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 translational support at a given node.

Parameters
  • translation (Union[Sequence[int], int]) –

    Represents the prevented translation.

    Note

    1 = translation in x
    2 = translation in z
    3 = rotation in y

  • node_id (Union[Sequence[int], int]) – Integer representing the nodes ID.

  • k (Union[Sequence[float], float]) – Stiffness of the spring

  • roll (Union[Sequence[bool], bool]) – If set to True, only the translation of the spring is controlled.