simdesign.rcmrf.bnsm.factory

BNSM factory module.

This module provides a factory interface for creating Building Nonlinear Structural Model (BNSM) instances corresponding to predefined modelling configurations.

The BNSM class dynamically maps a string-based model identifier (e.g., “CP01”, “DP03”) to its corresponding implementation class and returns an initialized instance.

All model implementations inherit from BuildingBase and define specific modelling strategies.

simdesign.rcmrf.bnsm.factory.MODELLERS = {'CP01': <class 'simdesign.rcmrf.bnsm.cp01.building.Building'>, 'CP02': <class 'simdesign.rcmrf.bnsm.cp02.building.Building'>, 'CP03': <class 'simdesign.rcmrf.bnsm.cp03.building.Building'>, 'DP01': <class 'simdesign.rcmrf.bnsm.dp01.building.Building'>, 'DP02': <class 'simdesign.rcmrf.bnsm.dp02.building.Building'>, 'DP03': <class 'simdesign.rcmrf.bnsm.dp03.building.Building'>, 'DP04': <class 'simdesign.rcmrf.bnsm.dp04.building.Building'>}

Registry of available BNSM implementations or numerical model constructors.

class simdesign.rcmrf.bnsm.factory.BNSM(**kwargs)[source]

Bases: object

Factory class to dynamically create a BNSM instance of the corresponding selected model.

The model type is selected using the model keyword argument (e.g., model="CP03"). The returned object is an instance of the corresponding implementation class inheriting from BuildingBase.

See also

CP01

Concentrated plasticity model variant 01.

CP02

Concentrated plasticity model variant 02.

CP03

Concentrated plasticity model variant 03.

DP01

Distributed plasticity model variant 01.

DP02

Distributed plasticity model variant 02.

DP03

Distributed plasticity model variant 03.

DP04

Distributed plasticity model variant 04.

Return type:

BuildingBase