simdesign.rcmrf.bnsm.cp03.joint

This module provides the joint class implementations for the CP03 model in the BNSM layer.

class simdesign.rcmrf.bnsm.cp03.joint.StairsJoint(design, mass)[source]

Bases: StairsJointBase

Stairs joint implementation for the CP03 model.

Represents a beam-column joint located at an intermediate (mid-storey) level associated with staircase framing.

This class extends StairsJointBase by creating rigid offset nodes around the joint center and connecting them to the center joint node using rigid-like elasticBeamColumn elements.

Offset directions: - left/right nodes: along global X (beam offsets) - bottom/top nodes: along global Z (column offsets)

Variables:
  • left_node (Node | None) – The left offset joint node along global X (created only if the corresponding left beam exists).

  • right_node (Node | None) – The right offset joint node along global X (created only if the corresponding right beam exists).

  • bottom_node (Node | None) – The bottom offset joint node along global Z (created only if the corresponding vottom beam exists).

  • top_node (Node | None) – The top offset joint node along global Z (created only if the corresponding top beam exists).

  • rigid_ele (list[int]) – Element tags of the rigid-like offset links.

Parameters:

See also

StairsJointBase

Base stairs joint definition extended by this class.

rigid_ele: List[int]
bottom_node: Node | None
right_node: Node | None
left_node: Node | None
top_node: Node | None
add_to_ops()[source]

Adds stairs joint model objects to the OpenSees domain (i.e, rigid joint offsets elements and nodes).

Return type:

None

to_py()[source]

Gets the Python commands to define stairs joint model objects in the OpenSees domain (i.e, rigid joint offsets elements and nodes).

Returns:

List of Python commands for constructing the components of stairs joint in OpenSees.

Return type:

list[str]

to_tcl()[source]

Gets the Tcl commands to define stairs joint model objects in the OpenSees domain (i.e, rigid joint offsets elements and nodes).

Returns:

List of Tcl commands for constructing the components of stairs joint in OpenSees.

Return type:

list[str]

class simdesign.rcmrf.bnsm.cp03.joint.FloorJoint(design, mass, model, load_factors)[source]

Bases: FloorJointBase, StairsJoint

Floor joint implementation for the CP03 model.

Represents a beam-column joint located at a floor level.

This class combines:

  • rigid offset modelling (center node + rigid-like offset links), and

  • an optional joint-flexibility element (rigid/elastic/inelastic) between the joint center node and the floor diaphragm-constrained node.

In addition to the X- and Z-direction offsets, this class also creates front/rear offset nodes along global Y (if the corresponding beams exist) and connects them to the joint center node using rigid-like elasticBeamColumn elements.

Variables:
  • rear_node (Node | None) – The rear offset joint node along global Y-axis (created only if the corresponding rear beam exists).

  • front_node (Node | None) – The front offset joint node along global Y-axis (created only if the corresponding front beam exists).

Parameters:
  • design (JointBase)

  • mass (float)

  • model (Literal['inelastic', 'elastic', 'rigid'])

  • load_factors (Dict[Literal['G', 'Q'], float])

See also

FloorJointBase

Base floor joint class from which beam-column joint model is inherited.

StairsJoint

Stairs joint class extended by this class to define rigid offsets.

front_node: Node | None
rear_node: Node | None
add_to_ops()[source]

Adds floor joint model objects to the OpenSees domain (i.e, rigid joint offsets elements, nodes and joint flexibility element).

Return type:

None

to_py()[source]

Gets the Python commands to define floor joint model objects in the OpenSees domain (i.e, rigid joint offsets elements, nodes and joint flexibility element).

Returns:

List of Python commands for constructing the components of floor joint in OpenSees.

Return type:

list[str]

to_tcl()[source]

Gets the Tcl commands to define floor joint model objects in the OpenSees domain (i.e, rigid joint offsets elements, nodes and joint flexibility element).

Returns:

List of Tcl commands for constructing the components of floor joint in OpenSees.

Return type:

list[str]