simdesign.rcmrf.bnsm.baselib.floor

This module provides a base class for representing floor diaphragms within the BNSM layer and for building and exporting their OpenSees representations.

class simdesign.rcmrf.bnsm.baselib.floor.FloorDiaphragmBase(cnodes, floor, masses)[source]

Bases: ABC

Abstract Base Class for floor diaphragm implementations in BNSM layer. It provides methods to define a floor diaphragm in the OpenSees domain and to export equivalent Python and Tcl commands.

The diaphragm is represented through a retained node (placed at the floor center of mass) and rigid diaphragm multi-point constraints that connect the retained node to the constrained floor nodes. In the case of flexible diaphragms, the base class needs to be extended.

Variables:
  • cnodes (List[Node]) – Constrained floor nodes.

  • rnode (Node) – Retained floor node.

  • floor (int) – Floor id (e.g., storey no).

  • masses (List[float]) – Total joint masses used for defining retained node location.

Parameters:
  • cnodes (List[Node])

  • floor (int)

  • masses (List[float])

rnode: Node
NodeClass

alias of Node

cnodes: List[Node]
floor: int
masses: List[float]
add_to_ops()[source]

Adds all of the floor diaphragm objects into the OpenSees domain (i.e, retained floor node at center of mass and floor diaphragm).

Return type:

None

to_py()[source]

Gets the Python commands to define floor diaphragm objects in the OpenSees domain (i.e, retained floor node at center of mass and floor diaphragm).

Returns:

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

Return type:

List[str]

to_tcl()[source]

Gets the Tcl commands to define floor diaphragm objects in the OpenSees domain (i.e, retained floor node at center of mass and floor diaphragm).

Returns:

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

Return type:

List[str]