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: BuildingBase

BNSM implementation for the CP03 model.

This class aggregates CP03-specific structural components (e.g. beams, columns, joints, infills) and extends the base implementation in BuildingBase by 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

BuildingBase

Base class defining the core behaviour and configuration.

FoundationClass

alias of Foundation

FloorDiaphragmClass

alias of FloorDiaphragm

FloorJointClass

alias of FloorJoint

StairsJointClass

alias of StairsJoint

BeamClass

alias of Beam

ColumnClass

alias of Column

InfillClass

alias of Infill

infill_column_connection: Literal['series', 'parallel']
foundations: List[Foundation]
floors: List[FloorDiaphragm]
floor_joints: List[FloorJoint]
stairs_joints: List[StairsJoint]
beams: List[Beam]
columns: List[Column]
infills: List[Infill]
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