simdesign.rcmrf.bnsm.baselib.joint
This module provides base classes for representing beam-column joints within the BNSM layer.
The module includes:
JointBase: abstract interface for joint objects, including access to design properties and common functionality.StairsJointBase: mid-storey (stairs) joint implementation that creates a central joint node used to connect offset beam and column elements.FloorJointBase: floor-level joint implementation that can optionally model joint flexibility (rigid, elastic, or inelastic).
- class simdesign.rcmrf.bnsm.baselib.joint.JointBase[source]
Bases:
ABCAbstract base class for beam-column joint implementations in the BNSM layer.
- design
Instance of joint design information model.
- Type:
JointDesign
- property bx: float
Joint width along global x-axis.
- Returns:
Joint width along global x-axis (based on columns’ section widths).
- Return type:
float
- property by: float
Joint width along global y-axis.
- Returns:
Joint width along global y-axis (based on columns’ section widths).
- Return type:
float
- property h: float
Joint height based on all beam section heights.
- Returns:
Joint height based on all beam section heights.
- Return type:
float
Notes
The largest of the beam heights is selected.
- property fcm: float
Mean concrete compressive strength.
- Returns:
Mean value of concrete compressive strength (in base units).
- Return type:
float
- abstractmethod add_to_ops()[source]
Adds joint model objects to the OpenSees domain.
- Return type:
None
- class simdesign.rcmrf.bnsm.baselib.joint.StairsJointBase(design, mass)[source]
Bases:
JointBaseBase class implementation used in the BNSM layer to represent beam-column joints at a mid-storey level (stairs joint). It provides methods to define a stairs joint in the OpenSees domain and to export equivalent Python and Tcl commands.
The mid-storey joint modelling approach follows macro-model formulations, where joint behaviour is represented through rotational springs based on O’Reilly 2016.
References
O’Reilly, G. J. (2016). Performance-based seismic assessment and retrofit of existing RC frame buildings in Italy (Doctoral dissertation, IUSS Pavia).
- Parameters:
design (JointBase)
mass (float)
See also
JointBaseBase class joint definition extended by this class.
- add_to_ops()[source]
Adds stairs joint model objects to the OpenSees domain (i.e., nodes).
- Return type:
None
- class simdesign.rcmrf.bnsm.baselib.joint.FloorJointBase(design, mass, model, load_factors)[source]
Bases:
StairsJointBaseBase class implementation used in the BNSM layer to represent beam-column joints at a floor level. It provides methods to define an floor-level joint in the OpenSees domain and to export equivalent Python and Tcl commands.
- Parameters:
design (JointBase)
mass (float)
model (Literal['inelastic', 'elastic', 'rigid'])
load_factors (Dict[Literal['G', 'Q'], float])
- floor_node
Beam-side joint node which is constrained by the floor diaphragm. Beams frame into this node while columns frame into the center node, so the joint flexibility element between them acts as a scissors spring (O’Reilly & Sullivan, 2019). Same as center node for rigid joints.
- Type:
- flexibility_model
Joint flexibility model.
- Type:
Literal[‘inelastic’, ‘elastic’, ‘rigid’]
- axial_force
Axial force acting on joint.
- Type:
float
See also
StairsJointBaseMid-storey (stairs) joint definition that this class extends.
- property mz_tag: int
Material tag for the joint hinge about global-z (Mz).
- Returns:
Material tag for the joint hinge about global-z (Mz).
- Return type:
int
- property my_tag: int
Material tag for the joint hinge about global-y (My).
- Returns:
Material tag for the joint hinge about global-y (My).
- Return type:
int
- property mz_base_tag: int
Tag of the material wrapped by the Mz
MinMaxmaterial.- Returns:
Tag of the material wrapped by the Mz
MinMaxmaterial.- Return type:
int
- property my_base_tag: int
Tag of the material wrapped by the My
MinMaxmaterial.- Returns:
Tag of the material wrapped by the My
MinMaxmaterial.- Return type:
int
- property axial_tag: int
Material tag for the joint axial spring.
- Returns:
Material tag for the joint axial spring.
- Return type:
int
- property sec_tag: int
Tag of aggregated beam-column joint element section.
- Returns:
Tag of aggregated beam-column joint element section.
- Return type:
int
- property ele_tag: int
Tag of beam-column joint element.
- Returns:
Tag of beam-column joint element.
- Return type:
int
- property fcm: float
Mean concrete compressive strength.
- Returns:
Mean value of concrete compressive strength (in base units).
- Return type:
float
- property hstorey: float
Internal storey height.
- Returns:
Internal storey height.
- Return type:
float
Notes
The equations were derived using constant storey height. If possible the average one is used.
- add_to_ops()[source]
Adds floor joint model objects to the OpenSees domain (i.e., joint nodes and flexibility element).
- Return type:
None