simdesign.rcmrf.bdim.factory

BDIM factory module.

This module provides a factory interface for creating Building Design Information Model (BDIM) objects for a given design class.

The BDIM class dynamically maps a string-based design class identifier (e.g., "eu_cdh") to the corresponding design-class-specific BDIM implementation and directly instantiates and returns the appropriate BuildingBase subclass — not a BDIM instance itself.

All BDIM implementations inherit from BuildingBase and define design-class-specific rules and practices.

simdesign.rcmrf.bdim.factory.DCC = {'eu_cdh': <class 'simdesign.rcmrf.bdim.eu_cdh.building.Building'>, 'eu_cdl': <class 'simdesign.rcmrf.bdim.eu_cdl.building.Building'>, 'eu_cdm': <class 'simdesign.rcmrf.bdim.eu_cdm.building.Building'>, 'eu_cdn': <class 'simdesign.rcmrf.bdim.eu_cdn.building.Building'>, 'tr_0018_dch': <class 'simdesign.rcmrf.bdim.tr_0018_dch.building.Building'>, 'tr_0018_dcm': <class 'simdesign.rcmrf.bdim.tr_0018_dcm.building.Building'>, 'tr_7599': <class 'simdesign.rcmrf.bdim.tr_7599.building.Building'>, 'tr_post18_dch': <class 'simdesign.rcmrf.bdim.tr_post18_dch.building.Building'>, 'tr_post18_dcm': <class 'simdesign.rcmrf.bdim.tr_post18_dcm.building.Building'>}

Registry of available BDIM implementations or design class constructors.

class simdesign.rcmrf.bdim.factory.BDIM(taxonomy)[source]

Bases: object

BDIM factory to generate design-class-specific BDIM instances.

This class selects the appropriate BuildingBase subclass from the module-level DCC registry based on the design_class field of the input TaxonomyData, and returns an initialized instance of that subclass directly.

See also

EuCDN

Buildings designed without explicit seismic provisions. These typically represent structures constructed before the 1960s and designed only for gravity loads using allowable stress methods.

EuCDL

Buildings designed with early seismic provisions (approximately 1960s-1970s). Lateral loads are considered, but design is based on allowable stress methods and simplified seismic force distributions.

EuCDM

Buildings designed according to more modern seismic design codes (approximately 1970s-2000s) using limit-state design concepts and improved detailing rules to enhance structural ductility.

EuCDH

Buildings designed according to contemporary seismic design standards (early 2000s-present), implementing capacity design principles and reinforcement detailing rules aimed at achieving target ductility levels (e.g., Eurocode 8-based design for moderate ductility level, DCM).

Tr7599

Buildings constructed between 1975 and 1999, designed according to TBEC-1975 and reinforced concrete design provisions in TS500-1984. This class represents early seismic design practices in Türkiye, often associated with relatively low ductility capacity and variable construction quality.

Tr0018DCM

Buildings constructed between 2000 and 2018 with moderate ductility level (DCM). Designs follow provisions from TBEC-1998 (largely retained in TBEC-2007) together with TS500-2000 reinforced concrete design rules. Capacity design principles are generally not enforced.

Tr0018DCH

Buildings constructed between 2000 and 2018 with high ductility level (DCH). Designs follow TBEC-1998 / TBEC-2007 seismic provisions and TS500-2000, including capacity design principles such as the strong-column-weak-beam concept.

TrPost18DCM

Buildings constructed after 2018 with moderate ductility level (DCM), designed according to the TBEC-2018 seismic code and TS500-2000. These buildings incorporate updated seismic hazard definitions and improved detailing rules introduced in the modern code framework.

TrPost18DCH

Buildings constructed after 2018 with high ductility level (DCH), designed according to TBEC-2018 with full implementation of modern capacity design principles and stricter detailing requirements to ensure enhanced seismic performance.

Parameters:

taxonomy (TaxonomyData)

Return type:

BuildingBase