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.

Parameters:
  • cnodes (List[Node])

  • floor (int)

  • masses (List[float])

cnodes

Constrained floor nodes.

Type:

List[Node]

rnode

Retained floor node.

Type:

Node

floor

Floor id (e.g., storey no).

Type:

int

masses

Total joint masses used for defining retained node location.

Type:

List[float]

NodeClass

alias of Node

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]