simdesign.rcmrf.bnsm.baselib.infill

This module provides a base class for representing masonry infill walls within the BNSM layer.

class simdesign.rcmrf.bnsm.baselib.infill.InfillBase(design, strut1_nodes, strut2_nodes)[source]

Bases: ABC

Abstract Base Class for masonry infill wall implementations in the BNSM layer. It provides methods to define an infill in the OpenSees domain and to export equivalent Python and Tcl commands.

The implementation follows a macro-modeling approach, where infill walls are represented by two diagonal truss elements with a nonlinear uniaxial material model. Infill typology and strut modelling strategy are based on Hak et al. (2012).

Variables:
  • design (InfillBase) – Instance of infill design information model.

  • strut1_nodes (List[Node]) – Element nodes of 1st diagonal strut.

  • strut2_nodes (List[Node]) – Element nodes of 2nd diagonal strut.

Parameters:

References

Hak, S., Morandi, P., Magenes, G., & Sullivan, T. J. (2012). Damage control for clay masonry infills in the design of RC frame structures. Journal of Earthquake Engineering, 16(sup1), 1-35. https://doi.org/10.1080/13632469.2012.670575

design: InfillBase
strut1_nodes: List[Node]
strut2_nodes: List[Node]
add_to_ops()[source]

Adds infill components to the OpenSees domain (i.e, truss elements and uniaxialmaterial).

Return type:

None

to_py()[source]

Gets the Python commands to construct infill components in OpenSees domain (i.e, truss elements and uniaxialmaterial).

Returns:

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

Return type:

List[str]

to_tcl()[source]

Gets the Tcl commands to construct infill components in OpenSees domain (i.e, truss elements and uniaxialmaterial).

Returns:

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

Return type:

List[str]