simdesign.rcmrf.bnsm.cp03.building
This module provides the Building Nonlinear Structural Model (BNSM)
implementation for the CP03 modelling configuration.
- class simdesign.rcmrf.bnsm.cp03.building.Building(design, load_factors={'G': 1.0, 'Q': 0.3}, mass_factors={'G': 1.0, 'Q': 0.3}, scheme='EQL', max_drift=0.05, dincr=0.001, include_infills=True, cyclic_model=False, cracked_beam=False, cracked_column=False, infill_column_connection='parallel')[source]
Bases:
BuildingBaseBNSM implementation for the
CP03model.This class aggregates CP03-specific structural components (e.g. beams, columns, joints, infills) and extends the base implementation in
BuildingBaseby introducing auxiliary plastic hinge nodes, rigid-like offset elements, and configurable series or parallel infill-column shear interaction.- Variables:
foundations (List[Foundation]) – List of foundation instances.
floors (List[FloorDiaphragm]) – List of floor instances.
floor_joints (List[FloorJoint]) – List of floor joints instances.
stairs_joints (List[StairsJoint]) – List of stairs joints instances.
beams (List[Beam]) – List of beam instances.
columns (List[Column]) – List of column instances.
infills (List[Infill]) – List of infill instances.
infill_column_connection ({'series', 'parallel'}) – Defines the modelling assumption governing the interaction between masonry infill struts and column lateral response. - ‘series’: the column lateral response acts in series with the horizontal component of the infill strut response. In this configuration, the effective lateral strength of the frame is governed solely by the column. - ‘parallel’: the infill strut acts in parallel with the column lateral response, allowing the direct contribution of the infills to the global lateral strength.
- Parameters:
design (BuildingBase)
load_factors (Dict[Literal['G', 'Q'], float])
mass_factors (Dict[Literal['G', 'Q'], float])
scheme (Literal['FMP', 'EQL', 'MPP', 'TRI', 'UNI'])
max_drift (float)
dincr (float)
include_infills (bool)
cyclic_model (bool)
cracked_beam (bool)
cracked_column (bool)
infill_column_connection (Literal['series', 'parallel'])
See also
BuildingBaseBase class defining the core behaviour and configuration.
- FoundationClass
alias of
Foundation
- FloorDiaphragmClass
alias of
FloorDiaphragm
- FloorJointClass
alias of
FloorJoint
- StairsJointClass
alias of
StairsJoint
- infill_column_connection: Literal['series', 'parallel']
- foundations: List[Foundation]
- floors: List[FloorDiaphragm]
- floor_joints: List[FloorJoint]
- stairs_joints: List[StairsJoint]
- plot_model(show_nodes='yes', line_width=3, directory=None, show=True)[source]
Plots the structural model, showing nodes and elements grouped by type (rigid elements, beams, and columns).
- Parameters:
show_nodes (Literal['no', 'yes'], optional) – A flag to control whether to display the nodes in the plot. ‘yes’ to show the nodes, ‘no’ to hide them. By default ‘yes’.
line_width (float, optional) – Specifies the line width used to draw the elements in the plot. By default 3.
directory (str | Path | None, optional) – Directory to save an image of the model. If None, the image will not be saved. By default None.
show (bool, optional) – Flag for showing the figure in an interactive window, by default True.
- Return type:
None