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:
objectFactory class to dynamically create a BNSM instance of the corresponding selected model.
The model type is selected using the
modelkeyword argument (e.g.,model="CP03"). The returned object is an instance of the corresponding implementation class inheriting fromBuildingBase.See also
CP01Concentrated plasticity model variant 01.
CP02Concentrated plasticity model variant 02.
CP03Concentrated plasticity model variant 03.
DP01Distributed plasticity model variant 01.
DP02Distributed plasticity model variant 02.
DP03Distributed plasticity model variant 03.
DP04Distributed plasticity model variant 04.
- Return type: