simdesign.rcmrf.bnsm.cp03.beam

This module provides the beam class implementation for the CP03 model in the BNSM layer.

class simdesign.rcmrf.bnsm.cp03.beam.Beam(design, bondslip_factor, load_factors, cyclic_model=False, cracked_section=False)[source]

Bases: BeamBase

Beam implementation for the CP03 model.

The beam is modeled based on a concentrated plasticity approach. An elastic interior member (elasticBeamColumn) is connected to nonlinear rotational hinges at both ends. Each hinge is implemented as a zeroLength element between the original beam-end node and an auxiliary element node.

The hinge response is defined by a uniaxial Hysteretic material assigned to the rotational degree of freedom about the local z-axis. All other translational and rotational degrees of freedom across the hinge are constrained to behave rigidly using rigid materials, so the hinge represents concentrated flexural nonlinearity.

Since the hinge and elastic beam elements act in series, the elastic stiffness of the interior member is modified following the recommendations by Ibarra & Krawinkler (2005) and Zareian & Medina (2010).

References

Ibarra, L. F. and Krawinkler, H. (2005). Global collapse of frame structures under seismic excitations. Technical Report 152, Stanford University.

Zareian, F. and Medina R. A. (2010). A practical method for proper modeling of structural damping in inelastic plane structural systems. Computers and Structures, 88(1-2), 45-53. https://doi.org/10.1016/j.compstruc.2009.08.001

Variables:
  • hinge_node_i (Node) – Auxiliary node at the start of the beam used to define the plastic hinge.

  • hinge_node_j (Node) – Auxiliary node at the end of the beam used to define the plastic hinge.

Parameters:
  • design (BeamBase)

  • bondslip_factor (float)

  • load_factors (Dict[Literal['G', 'Q'], float])

  • cyclic_model (bool)

  • cracked_section (bool)

See also

BeamBase

Base beam definition extended by this class.

hinge_node_i: Node
hinge_node_j: Node
property hinge_i_tag: int
Returns:

Node tag used as the identifier for the i-end hinge material/element.

Return type:

int

property hinge_j_tag: int
Returns:

Node tag used as the identifier for the j-end hinge material/element.

Return type:

int

set_ele_node_i()[source]

Initialize the i-end elastic element node.

Return type:

None

set_ele_node_j()[source]

Initialize the j-end elastic element node.

Return type:

None

add_to_ops()[source]

Adds beam components to the OpenSees domain (i.e, plastic hinges, elastic beam element and nodes).

Return type:

None

to_py()[source]

Gets the Python commands to construct beam components in OpenSees domain (i.e, plastic hinges, elastic beam element and nodes).

Returns:

List of Python commands for constructing the components of beam object in OpenSees.

Return type:

List[str]

to_tcl()[source]

Gets the Tcl commands to construct beam components in OpenSees domain (i.e, plastic hinges, elastic beam element and nodes).

Returns:

List of Tcl commands for constructing the components of beam object in OpenSees.

Return type:

List[str]