simdesign.rcmrf.bnsm.cp03.column

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

class simdesign.rcmrf.bnsm.cp03.column.Column(design, bondslip_factor, capacity_design, load_factors, cyclic_model=False, cracked_section=False)[source]

Bases: Column

Column implementation for the CP03 model.

The column 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 zeroLengthSection element between the original column-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 column 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) – Extra node considered for hinge definition at the start of column.

  • hinge_node_j (Node) – Extra node considered for hinge definition at the end of column.

Parameters:
  • design (ColumnBase)

  • bondslip_factor (float)

  • capacity_design (bool)

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

  • cyclic_model (bool)

  • cracked_section (bool)

See also

ColumnCP01

Base column definition extended by this class.

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

Tag of hinge element at the start of the column.

Return type:

int

property hinge_j_tag: int
Returns:

Tag of hinge element at the end of the column.

Return type:

int

set_ele_node_i()[source]

Initialize and set ele_node_i based on hinge_node_i.

Return type:

None

set_ele_node_j()[source]

Initialize and set ele_node_j based on hinge_node_j.

Return type:

None

add_to_ops()[source]

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

Notes

Same hinge materials are used at both ends.

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]