simdesign 1.0.0b0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- simdesign/__init__.py +9 -0
- simdesign/rcmrf/__init__.py +214 -0
- simdesign/rcmrf/bcim/__init__.py +27 -0
- simdesign/rcmrf/bcim/data/eu_cdh.json +59 -0
- simdesign/rcmrf/bcim/data/eu_cdl.json +59 -0
- simdesign/rcmrf/bcim/data/eu_cdm.json +59 -0
- simdesign/rcmrf/bcim/data/eu_cdn.json +59 -0
- simdesign/rcmrf/bcim/data/layouts.csv +12 -0
- simdesign/rcmrf/bcim/data/tr_0018_dch.json +73 -0
- simdesign/rcmrf/bcim/data/tr_0018_dcm.json +72 -0
- simdesign/rcmrf/bcim/data/tr_7599.json +72 -0
- simdesign/rcmrf/bcim/data/tr_post18_dch.json +74 -0
- simdesign/rcmrf/bcim/data/tr_post18_dcm.json +73 -0
- simdesign/rcmrf/bcim/data/tr_pre75.json +73 -0
- simdesign/rcmrf/bcim/factory.py +694 -0
- simdesign/rcmrf/bcim/parametrization.py +291 -0
- simdesign/rcmrf/bcim/randomization.py +649 -0
- simdesign/rcmrf/bdim/__init__.py +18 -0
- simdesign/rcmrf/bdim/baselib/__init__.py +61 -0
- simdesign/rcmrf/bdim/baselib/analysis.py +806 -0
- simdesign/rcmrf/bdim/baselib/beam.py +1442 -0
- simdesign/rcmrf/bdim/baselib/building.py +2813 -0
- simdesign/rcmrf/bdim/baselib/column.py +1095 -0
- simdesign/rcmrf/bdim/baselib/infill.py +252 -0
- simdesign/rcmrf/bdim/baselib/joint.py +114 -0
- simdesign/rcmrf/bdim/baselib/loads.py +286 -0
- simdesign/rcmrf/bdim/baselib/materials.py +412 -0
- simdesign/rcmrf/bdim/baselib/quality.py +306 -0
- simdesign/rcmrf/bdim/baselib/rebars.py +1007 -0
- simdesign/rcmrf/bdim/baselib/slab.py +435 -0
- simdesign/rcmrf/bdim/baselib/stairs.py +184 -0
- simdesign/rcmrf/bdim/eu_cdh/__init__.py +35 -0
- simdesign/rcmrf/bdim/eu_cdh/analysis.py +33 -0
- simdesign/rcmrf/bdim/eu_cdh/beam.py +285 -0
- simdesign/rcmrf/bdim/eu_cdh/building.py +192 -0
- simdesign/rcmrf/bdim/eu_cdh/column.py +399 -0
- simdesign/rcmrf/bdim/eu_cdh/data/loads.json +102 -0
- simdesign/rcmrf/bdim/eu_cdh/data/materials.json +17 -0
- simdesign/rcmrf/bdim/eu_cdh/data/quality.json +29 -0
- simdesign/rcmrf/bdim/eu_cdh/data/rebars.json +9 -0
- simdesign/rcmrf/bdim/eu_cdh/infill.py +35 -0
- simdesign/rcmrf/bdim/eu_cdh/joint.py +52 -0
- simdesign/rcmrf/bdim/eu_cdh/loads.py +98 -0
- simdesign/rcmrf/bdim/eu_cdh/materials.py +176 -0
- simdesign/rcmrf/bdim/eu_cdh/quality.py +27 -0
- simdesign/rcmrf/bdim/eu_cdh/rebars.py +132 -0
- simdesign/rcmrf/bdim/eu_cdh/slab.py +17 -0
- simdesign/rcmrf/bdim/eu_cdh/stairs.py +17 -0
- simdesign/rcmrf/bdim/eu_cdl/__init__.py +33 -0
- simdesign/rcmrf/bdim/eu_cdl/analysis.py +33 -0
- simdesign/rcmrf/bdim/eu_cdl/beam.py +332 -0
- simdesign/rcmrf/bdim/eu_cdl/building.py +190 -0
- simdesign/rcmrf/bdim/eu_cdl/column.py +411 -0
- simdesign/rcmrf/bdim/eu_cdl/data/loads.json +78 -0
- simdesign/rcmrf/bdim/eu_cdl/data/materials.json +17 -0
- simdesign/rcmrf/bdim/eu_cdl/data/quality.json +29 -0
- simdesign/rcmrf/bdim/eu_cdl/data/rebars.json +9 -0
- simdesign/rcmrf/bdim/eu_cdl/infill.py +35 -0
- simdesign/rcmrf/bdim/eu_cdl/joint.py +52 -0
- simdesign/rcmrf/bdim/eu_cdl/loads.py +140 -0
- simdesign/rcmrf/bdim/eu_cdl/materials.py +180 -0
- simdesign/rcmrf/bdim/eu_cdl/quality.py +27 -0
- simdesign/rcmrf/bdim/eu_cdl/rebars.py +58 -0
- simdesign/rcmrf/bdim/eu_cdl/slab.py +17 -0
- simdesign/rcmrf/bdim/eu_cdl/stairs.py +17 -0
- simdesign/rcmrf/bdim/eu_cdm/__init__.py +42 -0
- simdesign/rcmrf/bdim/eu_cdm/analysis.py +33 -0
- simdesign/rcmrf/bdim/eu_cdm/beam.py +240 -0
- simdesign/rcmrf/bdim/eu_cdm/building.py +175 -0
- simdesign/rcmrf/bdim/eu_cdm/column.py +298 -0
- simdesign/rcmrf/bdim/eu_cdm/data/loads.json +63 -0
- simdesign/rcmrf/bdim/eu_cdm/data/materials.json +20 -0
- simdesign/rcmrf/bdim/eu_cdm/data/quality.json +29 -0
- simdesign/rcmrf/bdim/eu_cdm/data/rebars.json +9 -0
- simdesign/rcmrf/bdim/eu_cdm/infill.py +35 -0
- simdesign/rcmrf/bdim/eu_cdm/joint.py +52 -0
- simdesign/rcmrf/bdim/eu_cdm/loads.py +98 -0
- simdesign/rcmrf/bdim/eu_cdm/materials.py +176 -0
- simdesign/rcmrf/bdim/eu_cdm/quality.py +27 -0
- simdesign/rcmrf/bdim/eu_cdm/rebars.py +102 -0
- simdesign/rcmrf/bdim/eu_cdm/slab.py +17 -0
- simdesign/rcmrf/bdim/eu_cdm/stairs.py +17 -0
- simdesign/rcmrf/bdim/eu_cdn/__init__.py +27 -0
- simdesign/rcmrf/bdim/eu_cdn/analysis.py +33 -0
- simdesign/rcmrf/bdim/eu_cdn/beam.py +273 -0
- simdesign/rcmrf/bdim/eu_cdn/building.py +153 -0
- simdesign/rcmrf/bdim/eu_cdn/column.py +188 -0
- simdesign/rcmrf/bdim/eu_cdn/data/loads.json +23 -0
- simdesign/rcmrf/bdim/eu_cdn/data/materials.json +13 -0
- simdesign/rcmrf/bdim/eu_cdn/data/quality.json +29 -0
- simdesign/rcmrf/bdim/eu_cdn/data/rebars.json +9 -0
- simdesign/rcmrf/bdim/eu_cdn/infill.py +35 -0
- simdesign/rcmrf/bdim/eu_cdn/joint.py +52 -0
- simdesign/rcmrf/bdim/eu_cdn/loads.py +98 -0
- simdesign/rcmrf/bdim/eu_cdn/materials.py +167 -0
- simdesign/rcmrf/bdim/eu_cdn/quality.py +27 -0
- simdesign/rcmrf/bdim/eu_cdn/rebars.py +85 -0
- simdesign/rcmrf/bdim/eu_cdn/slab.py +17 -0
- simdesign/rcmrf/bdim/eu_cdn/stairs.py +17 -0
- simdesign/rcmrf/bdim/factory.py +148 -0
- simdesign/rcmrf/bdim/tr_0018_dch/__init__.py +32 -0
- simdesign/rcmrf/bdim/tr_0018_dch/analysis.py +33 -0
- simdesign/rcmrf/bdim/tr_0018_dch/beam.py +479 -0
- simdesign/rcmrf/bdim/tr_0018_dch/building.py +433 -0
- simdesign/rcmrf/bdim/tr_0018_dch/column.py +330 -0
- simdesign/rcmrf/bdim/tr_0018_dch/data/loads.json +124 -0
- simdesign/rcmrf/bdim/tr_0018_dch/data/materials.json +13 -0
- simdesign/rcmrf/bdim/tr_0018_dch/data/quality.json +29 -0
- simdesign/rcmrf/bdim/tr_0018_dch/data/rebars.json +9 -0
- simdesign/rcmrf/bdim/tr_0018_dch/infill.py +35 -0
- simdesign/rcmrf/bdim/tr_0018_dch/joint.py +52 -0
- simdesign/rcmrf/bdim/tr_0018_dch/loads.py +101 -0
- simdesign/rcmrf/bdim/tr_0018_dch/materials.py +164 -0
- simdesign/rcmrf/bdim/tr_0018_dch/quality.py +28 -0
- simdesign/rcmrf/bdim/tr_0018_dch/rebars.py +267 -0
- simdesign/rcmrf/bdim/tr_0018_dch/slab.py +17 -0
- simdesign/rcmrf/bdim/tr_0018_dch/stairs.py +17 -0
- simdesign/rcmrf/bdim/tr_0018_dcm/__init__.py +33 -0
- simdesign/rcmrf/bdim/tr_0018_dcm/analysis.py +33 -0
- simdesign/rcmrf/bdim/tr_0018_dcm/beam.py +461 -0
- simdesign/rcmrf/bdim/tr_0018_dcm/building.py +160 -0
- simdesign/rcmrf/bdim/tr_0018_dcm/column.py +307 -0
- simdesign/rcmrf/bdim/tr_0018_dcm/data/loads.json +123 -0
- simdesign/rcmrf/bdim/tr_0018_dcm/data/materials.json +13 -0
- simdesign/rcmrf/bdim/tr_0018_dcm/data/quality.json +29 -0
- simdesign/rcmrf/bdim/tr_0018_dcm/data/rebars.json +9 -0
- simdesign/rcmrf/bdim/tr_0018_dcm/infill.py +35 -0
- simdesign/rcmrf/bdim/tr_0018_dcm/joint.py +52 -0
- simdesign/rcmrf/bdim/tr_0018_dcm/loads.py +101 -0
- simdesign/rcmrf/bdim/tr_0018_dcm/materials.py +164 -0
- simdesign/rcmrf/bdim/tr_0018_dcm/quality.py +28 -0
- simdesign/rcmrf/bdim/tr_0018_dcm/rebars.py +267 -0
- simdesign/rcmrf/bdim/tr_0018_dcm/slab.py +17 -0
- simdesign/rcmrf/bdim/tr_0018_dcm/stairs.py +17 -0
- simdesign/rcmrf/bdim/tr_7599/__init__.py +36 -0
- simdesign/rcmrf/bdim/tr_7599/analysis.py +33 -0
- simdesign/rcmrf/bdim/tr_7599/beam.py +292 -0
- simdesign/rcmrf/bdim/tr_7599/building.py +160 -0
- simdesign/rcmrf/bdim/tr_7599/column.py +493 -0
- simdesign/rcmrf/bdim/tr_7599/data/design_tables.json +22066 -0
- simdesign/rcmrf/bdim/tr_7599/data/loads.json +78 -0
- simdesign/rcmrf/bdim/tr_7599/data/materials.json +15 -0
- simdesign/rcmrf/bdim/tr_7599/data/quality.json +71 -0
- simdesign/rcmrf/bdim/tr_7599/data/rebars.json +9 -0
- simdesign/rcmrf/bdim/tr_7599/infill.py +35 -0
- simdesign/rcmrf/bdim/tr_7599/joint.py +52 -0
- simdesign/rcmrf/bdim/tr_7599/loads.py +99 -0
- simdesign/rcmrf/bdim/tr_7599/materials.py +164 -0
- simdesign/rcmrf/bdim/tr_7599/quality.py +595 -0
- simdesign/rcmrf/bdim/tr_7599/rebars.py +250 -0
- simdesign/rcmrf/bdim/tr_7599/slab.py +17 -0
- simdesign/rcmrf/bdim/tr_7599/stairs.py +17 -0
- simdesign/rcmrf/bdim/tr_post18_dch/__init__.py +31 -0
- simdesign/rcmrf/bdim/tr_post18_dch/analysis.py +219 -0
- simdesign/rcmrf/bdim/tr_post18_dch/beam.py +539 -0
- simdesign/rcmrf/bdim/tr_post18_dch/building.py +451 -0
- simdesign/rcmrf/bdim/tr_post18_dch/column.py +403 -0
- simdesign/rcmrf/bdim/tr_post18_dch/data/loads.json +231 -0
- simdesign/rcmrf/bdim/tr_post18_dch/data/materials.json +13 -0
- simdesign/rcmrf/bdim/tr_post18_dch/data/quality.json +29 -0
- simdesign/rcmrf/bdim/tr_post18_dch/data/rebars.json +9 -0
- simdesign/rcmrf/bdim/tr_post18_dch/infill.py +35 -0
- simdesign/rcmrf/bdim/tr_post18_dch/joint.py +52 -0
- simdesign/rcmrf/bdim/tr_post18_dch/loads.py +119 -0
- simdesign/rcmrf/bdim/tr_post18_dch/materials.py +164 -0
- simdesign/rcmrf/bdim/tr_post18_dch/quality.py +28 -0
- simdesign/rcmrf/bdim/tr_post18_dch/rebars.py +260 -0
- simdesign/rcmrf/bdim/tr_post18_dch/slab.py +17 -0
- simdesign/rcmrf/bdim/tr_post18_dch/stairs.py +17 -0
- simdesign/rcmrf/bdim/tr_post18_dcm/__init__.py +31 -0
- simdesign/rcmrf/bdim/tr_post18_dcm/analysis.py +219 -0
- simdesign/rcmrf/bdim/tr_post18_dcm/beam.py +527 -0
- simdesign/rcmrf/bdim/tr_post18_dcm/building.py +163 -0
- simdesign/rcmrf/bdim/tr_post18_dcm/column.py +379 -0
- simdesign/rcmrf/bdim/tr_post18_dcm/data/loads.json +231 -0
- simdesign/rcmrf/bdim/tr_post18_dcm/data/materials.json +13 -0
- simdesign/rcmrf/bdim/tr_post18_dcm/data/quality.json +29 -0
- simdesign/rcmrf/bdim/tr_post18_dcm/data/rebars.json +9 -0
- simdesign/rcmrf/bdim/tr_post18_dcm/infill.py +35 -0
- simdesign/rcmrf/bdim/tr_post18_dcm/joint.py +52 -0
- simdesign/rcmrf/bdim/tr_post18_dcm/loads.py +119 -0
- simdesign/rcmrf/bdim/tr_post18_dcm/materials.py +164 -0
- simdesign/rcmrf/bdim/tr_post18_dcm/quality.py +28 -0
- simdesign/rcmrf/bdim/tr_post18_dcm/rebars.py +260 -0
- simdesign/rcmrf/bdim/tr_post18_dcm/slab.py +17 -0
- simdesign/rcmrf/bdim/tr_post18_dcm/stairs.py +17 -0
- simdesign/rcmrf/bnsm/__init__.py +17 -0
- simdesign/rcmrf/bnsm/baselib/__init__.py +49 -0
- simdesign/rcmrf/bnsm/baselib/beam.py +1175 -0
- simdesign/rcmrf/bnsm/baselib/building.py +2500 -0
- simdesign/rcmrf/bnsm/baselib/column.py +1425 -0
- simdesign/rcmrf/bnsm/baselib/constants.py +35 -0
- simdesign/rcmrf/bnsm/baselib/floor.py +144 -0
- simdesign/rcmrf/bnsm/baselib/foundation.py +105 -0
- simdesign/rcmrf/bnsm/baselib/infill.py +329 -0
- simdesign/rcmrf/bnsm/baselib/joint.py +759 -0
- simdesign/rcmrf/bnsm/baselib/node.py +99 -0
- simdesign/rcmrf/bnsm/cp01/__init__.py +68 -0
- simdesign/rcmrf/bnsm/cp01/beam.py +104 -0
- simdesign/rcmrf/bnsm/cp01/building.py +95 -0
- simdesign/rcmrf/bnsm/cp01/column.py +509 -0
- simdesign/rcmrf/bnsm/cp01/floor.py +17 -0
- simdesign/rcmrf/bnsm/cp01/foundation.py +17 -0
- simdesign/rcmrf/bnsm/cp01/infill.py +60 -0
- simdesign/rcmrf/bnsm/cp01/joint.py +34 -0
- simdesign/rcmrf/bnsm/cp02/__init__.py +54 -0
- simdesign/rcmrf/bnsm/cp02/beam.py +197 -0
- simdesign/rcmrf/bnsm/cp02/building.py +286 -0
- simdesign/rcmrf/bnsm/cp02/column.py +177 -0
- simdesign/rcmrf/bnsm/cp02/floor.py +17 -0
- simdesign/rcmrf/bnsm/cp02/foundation.py +17 -0
- simdesign/rcmrf/bnsm/cp02/infill.py +17 -0
- simdesign/rcmrf/bnsm/cp02/joint.py +34 -0
- simdesign/rcmrf/bnsm/cp03/__init__.py +63 -0
- simdesign/rcmrf/bnsm/cp03/beam.py +352 -0
- simdesign/rcmrf/bnsm/cp03/building.py +505 -0
- simdesign/rcmrf/bnsm/cp03/column.py +389 -0
- simdesign/rcmrf/bnsm/cp03/floor.py +17 -0
- simdesign/rcmrf/bnsm/cp03/foundation.py +17 -0
- simdesign/rcmrf/bnsm/cp03/infill.py +17 -0
- simdesign/rcmrf/bnsm/cp03/joint.py +488 -0
- simdesign/rcmrf/bnsm/dp01/__init__.py +54 -0
- simdesign/rcmrf/bnsm/dp01/beam.py +17 -0
- simdesign/rcmrf/bnsm/dp01/building.py +95 -0
- simdesign/rcmrf/bnsm/dp01/column.py +17 -0
- simdesign/rcmrf/bnsm/dp01/floor.py +17 -0
- simdesign/rcmrf/bnsm/dp01/foundation.py +17 -0
- simdesign/rcmrf/bnsm/dp01/infill.py +17 -0
- simdesign/rcmrf/bnsm/dp01/joint.py +34 -0
- simdesign/rcmrf/bnsm/dp02/__init__.py +56 -0
- simdesign/rcmrf/bnsm/dp02/beam.py +466 -0
- simdesign/rcmrf/bnsm/dp02/building.py +95 -0
- simdesign/rcmrf/bnsm/dp02/column.py +513 -0
- simdesign/rcmrf/bnsm/dp02/floor.py +17 -0
- simdesign/rcmrf/bnsm/dp02/foundation.py +17 -0
- simdesign/rcmrf/bnsm/dp02/infill.py +115 -0
- simdesign/rcmrf/bnsm/dp02/joint.py +34 -0
- simdesign/rcmrf/bnsm/dp03/__init__.py +63 -0
- simdesign/rcmrf/bnsm/dp03/beam.py +707 -0
- simdesign/rcmrf/bnsm/dp03/building.py +95 -0
- simdesign/rcmrf/bnsm/dp03/column.py +620 -0
- simdesign/rcmrf/bnsm/dp03/floor.py +17 -0
- simdesign/rcmrf/bnsm/dp03/foundation.py +17 -0
- simdesign/rcmrf/bnsm/dp03/infill.py +17 -0
- simdesign/rcmrf/bnsm/dp03/joint.py +34 -0
- simdesign/rcmrf/bnsm/dp04/__init__.py +59 -0
- simdesign/rcmrf/bnsm/dp04/beam.py +17 -0
- simdesign/rcmrf/bnsm/dp04/building.py +95 -0
- simdesign/rcmrf/bnsm/dp04/column.py +29 -0
- simdesign/rcmrf/bnsm/dp04/floor.py +17 -0
- simdesign/rcmrf/bnsm/dp04/foundation.py +17 -0
- simdesign/rcmrf/bnsm/dp04/infill.py +17 -0
- simdesign/rcmrf/bnsm/dp04/joint.py +34 -0
- simdesign/rcmrf/bnsm/factory.py +113 -0
- simdesign/rcmrf/geometry/__init__.py +24 -0
- simdesign/rcmrf/geometry/base.py +2173 -0
- simdesign/rcmrf/geometry/custom.py +145 -0
- simdesign/rcmrf/geometry/standard.py +664 -0
- simdesign/utils/__init__.py +2 -0
- simdesign/utils/mesh.py +686 -0
- simdesign/utils/misc.py +357 -0
- simdesign/utils/plotter.py +855 -0
- simdesign/utils/rcsection.py +1076 -0
- simdesign/utils/stats.py +326 -0
- simdesign/utils/units.py +33 -0
- simdesign-1.0.0b0.dist-info/LICENSE +661 -0
- simdesign-1.0.0b0.dist-info/METADATA +151 -0
- simdesign-1.0.0b0.dist-info/RECORD +269 -0
- simdesign-1.0.0b0.dist-info/WHEEL +4 -0
simdesign/__init__.py
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"""A modular computational framework for the generation and nonlinear
|
|
2
|
+
modelling of reinforced concrete (RC) moment-resisting frames (MRFs).
|
|
3
|
+
It orchestrates the BCIM → BDIM → BNSM pipeline, generating portfolio-level
|
|
4
|
+
building class and design information data (exported CSV files), alongside
|
|
5
|
+
OpenSees-compatible nonlinear numerical models (in Python or Tcl).
|
|
6
|
+
:meth:`~simdesign.rcmrf.generate` serves as the entry point for running the
|
|
7
|
+
pipeline.
|
|
8
|
+
|
|
9
|
+
Pipeline::
|
|
10
|
+
|
|
11
|
+
BCIM (Realisation Layer)
|
|
12
|
+
↓
|
|
13
|
+
BDIM (Design Layer)
|
|
14
|
+
↓
|
|
15
|
+
BNSM (Modelling Layer)
|
|
16
|
+
↓
|
|
17
|
+
OpenSees (Analysis Layer)
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
from typing import Dict, Literal, Tuple, List
|
|
21
|
+
from pathlib import Path
|
|
22
|
+
|
|
23
|
+
from .bcim import BCIM
|
|
24
|
+
from .bdim import BDIM, TaxonomyData
|
|
25
|
+
from .bdim.factory import BuildingBase as BuildingDesign
|
|
26
|
+
from .bnsm import BNSM
|
|
27
|
+
from .bnsm.factory import BuildingBase as BuildingModel
|
|
28
|
+
from .geometry import StandardGeometry, CustomGeometry
|
|
29
|
+
|
|
30
|
+
from ..utils.misc import make_dir
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
__all__ = ["BCIM", "BDIM", "BNSM",
|
|
34
|
+
"TaxonomyData", "StandardGeometry", "CustomGeometry"]
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def generate(
|
|
38
|
+
inputs: Dict[Literal['bcim', 'bnsm'], Dict], outdir: str | Path = None
|
|
39
|
+
) -> Tuple[BCIM, List[BuildingDesign | None], List[BuildingModel | None]]:
|
|
40
|
+
"""Generates BCIM, BDIM and BNSM data by following complete workflow
|
|
41
|
+
in Built Data Environment (BED) SimDesign framework for RC-MRF systems.
|
|
42
|
+
|
|
43
|
+
Parameters
|
|
44
|
+
----------
|
|
45
|
+
inputs : Dict[Literal['bcim', 'bnsm'], Dict]
|
|
46
|
+
Contains input parameters required for data generation.
|
|
47
|
+
These will replace the defaults obtained for the specified
|
|
48
|
+
`design_class`.
|
|
49
|
+
outdir : str | Path, optional
|
|
50
|
+
Path to the user-defined output directory.
|
|
51
|
+
If None, set to `Path.cwd() / 'Outputs'`. by default None.
|
|
52
|
+
|
|
53
|
+
Returns
|
|
54
|
+
-------
|
|
55
|
+
bcim : BCIM
|
|
56
|
+
Building Class Information Model.
|
|
57
|
+
bdim : List[BuildingDesign | None]
|
|
58
|
+
List of Building Design Information Models (None if design failed).
|
|
59
|
+
bnsm : List[BuildingModel | None]
|
|
60
|
+
List of Building Nonlinear Structural Models (None if design failed).
|
|
61
|
+
|
|
62
|
+
Raises
|
|
63
|
+
------
|
|
64
|
+
KeyError
|
|
65
|
+
`inputs['bcim']['design_class']` is not specified.
|
|
66
|
+
|
|
67
|
+
Examples
|
|
68
|
+
--------
|
|
69
|
+
Example dictionary to pass as ``inputs``:
|
|
70
|
+
|
|
71
|
+
.. code-block:: python
|
|
72
|
+
|
|
73
|
+
inputs = {
|
|
74
|
+
"bcim": {
|
|
75
|
+
"design_class": "eu_cdh",
|
|
76
|
+
"beta": 0.1,
|
|
77
|
+
"sample_size": 150,
|
|
78
|
+
"num_storeys": 5,
|
|
79
|
+
# Distribution parameters
|
|
80
|
+
"typical_storey_height": {
|
|
81
|
+
"cv": 0.07,
|
|
82
|
+
"mu": 2.90,
|
|
83
|
+
"lower_bound": 2.3,
|
|
84
|
+
"upper_bound": 3.8,
|
|
85
|
+
},
|
|
86
|
+
"staircase_bay_width": {
|
|
87
|
+
"lower_bound": 2.8,
|
|
88
|
+
"upper_bound": 3.2,
|
|
89
|
+
},
|
|
90
|
+
"standard_bay_width": {
|
|
91
|
+
"corr_coeff_xy": -0.92,
|
|
92
|
+
"lower_bound_x": 3.5,
|
|
93
|
+
"upper_bound_x": 7.5,
|
|
94
|
+
"theta_x": 4.5,
|
|
95
|
+
"sigma_x": 0.35,
|
|
96
|
+
"lower_bound_y": 3.5,
|
|
97
|
+
"upper_bound_y": 7.5,
|
|
98
|
+
"theta_y": 4.5,
|
|
99
|
+
"sigma_y": 0.35,
|
|
100
|
+
},
|
|
101
|
+
"steel": {
|
|
102
|
+
"tag": ["S400", "S500"],
|
|
103
|
+
"probability": [0.10, 0.90],
|
|
104
|
+
},
|
|
105
|
+
"concrete": {
|
|
106
|
+
"tag": ["C20/25", "C25/30", "C30/37", "C35/45"],
|
|
107
|
+
"probability": [0.30, 0.45, 0.20, 0.05],
|
|
108
|
+
},
|
|
109
|
+
"ground_storey_height": {
|
|
110
|
+
"maximum": 4.20,
|
|
111
|
+
"factor": [1.0, 1.1, 1.2, 1.3, 1.4],
|
|
112
|
+
"probability": [0.55, 0.10, 0.20, 0.10, 0.05],
|
|
113
|
+
},
|
|
114
|
+
"construction_quality": {"probability": [0.6, 0.3, 0.1]},
|
|
115
|
+
"slab_typology": {
|
|
116
|
+
"ss1_prob_given_ss1_or_hs": 0.50,
|
|
117
|
+
"ss2_prob_given_ss2_or_hs": 0.65,
|
|
118
|
+
"upper_lim_for_min_ss_span_length": 6.0,
|
|
119
|
+
"upper_lim_for_max_ss2_span_ratio": 2.0,
|
|
120
|
+
"staircase_slab_depth": 0.15,
|
|
121
|
+
"floor_slab_thickness": 0.15,
|
|
122
|
+
},
|
|
123
|
+
"wb_prob_given_hs": 0.50,
|
|
124
|
+
"square_column_prob": 0.50,
|
|
125
|
+
"layout": "all",
|
|
126
|
+
"seed": 1993,
|
|
127
|
+
},
|
|
128
|
+
"bnsm": {
|
|
129
|
+
"model": "CP03",
|
|
130
|
+
"load_factors": {"G": 1.0, "Q": 0.3},
|
|
131
|
+
"mass_factors": {"G": 1.0, "Q": 0.3},
|
|
132
|
+
"scheme": "EQL",
|
|
133
|
+
"max_drift": 0.05,
|
|
134
|
+
"dincr": 0.001,
|
|
135
|
+
"opensees": "py",
|
|
136
|
+
},
|
|
137
|
+
}
|
|
138
|
+
"""
|
|
139
|
+
|
|
140
|
+
# Get bcim generation settings
|
|
141
|
+
bcim_inputs = inputs.get('bcim')
|
|
142
|
+
if not bcim_inputs or not bcim_inputs.get('design_class'):
|
|
143
|
+
raise KeyError('design_class in bcim is not specified!')
|
|
144
|
+
|
|
145
|
+
# Get bnsm settings
|
|
146
|
+
bnsm_inputs = inputs.get('bnsm')
|
|
147
|
+
lang = 'py'
|
|
148
|
+
if bnsm_inputs is None:
|
|
149
|
+
bnsm_inputs = {}
|
|
150
|
+
elif bnsm_inputs.get('opensees'):
|
|
151
|
+
lang = bnsm_inputs.pop('opensees')
|
|
152
|
+
|
|
153
|
+
# Create output directory
|
|
154
|
+
if outdir is None:
|
|
155
|
+
outdir = Path.cwd() / 'Outputs'
|
|
156
|
+
else:
|
|
157
|
+
outdir = Path(outdir)
|
|
158
|
+
bcim_path = outdir / "BCIM.csv"
|
|
159
|
+
bdim_path = outdir / 'BDIM'
|
|
160
|
+
bnsm_path = outdir / 'BNSM'
|
|
161
|
+
make_dir(outdir)
|
|
162
|
+
make_dir(bdim_path)
|
|
163
|
+
make_dir(bnsm_path)
|
|
164
|
+
|
|
165
|
+
# Initialize BCIM
|
|
166
|
+
bcim = BCIM()
|
|
167
|
+
# Generate a building portfolio
|
|
168
|
+
bcim.generate(**bcim_inputs)
|
|
169
|
+
# BDIM database
|
|
170
|
+
bdim = []
|
|
171
|
+
# BNSM database
|
|
172
|
+
bnsm = []
|
|
173
|
+
# Loop through each building in portfolio
|
|
174
|
+
for i, taxonomy in enumerate(bcim.taxonomy):
|
|
175
|
+
print("----------------------------------------------------")
|
|
176
|
+
print(f"Designing {taxonomy.design_class} building",
|
|
177
|
+
f"{i + 1}/{len(bcim.taxonomy)} for beta={taxonomy.beta}g")
|
|
178
|
+
# Initialize BDIM
|
|
179
|
+
bdim_ = BDIM(taxonomy)
|
|
180
|
+
# To ensure the reproducibility of BDIM set the seed
|
|
181
|
+
bdim_.set_seed_for_quality_adjustments(bcim.inputs.seed)
|
|
182
|
+
# Make simumlated design
|
|
183
|
+
bdim_.run_iterative_design_algorithm()
|
|
184
|
+
# Update BCIM in case some properties changed during design
|
|
185
|
+
if bdim_.ok: # If the design is ok, continue with the model
|
|
186
|
+
bcim.column_section[i] = bdim_.column_section
|
|
187
|
+
bcim.beam_type[i] = bdim_.beam_type
|
|
188
|
+
bcim.concrete_grade[i] = bdim_.concrete_grade
|
|
189
|
+
bcim.steel_grade[i] = bdim_.steel_grade
|
|
190
|
+
# Export to csv
|
|
191
|
+
bdim_.to_csv(bdim_path / f'Building_{i + 1}')
|
|
192
|
+
# Initialize BNSM
|
|
193
|
+
kwargs = bnsm_inputs.copy()
|
|
194
|
+
kwargs['design'] = bdim_
|
|
195
|
+
bnsm_ = BNSM(**kwargs)
|
|
196
|
+
if lang == 'py':
|
|
197
|
+
# Export numerical models for OpenSeesPy
|
|
198
|
+
bnsm_.to_py(bnsm_path / f'Building_{i + 1}')
|
|
199
|
+
elif lang == 'tcl':
|
|
200
|
+
# Export numerical models for OpenSeesTcl
|
|
201
|
+
bnsm_.to_tcl(bnsm_path / f'Building_{i + 1}')
|
|
202
|
+
# Plot the model and save
|
|
203
|
+
bnsm_.plot_model(directory=bnsm_path / f'Building_{i + 1}',
|
|
204
|
+
show=False)
|
|
205
|
+
# Add to the BDIM and BNSM databases
|
|
206
|
+
bdim.append(bdim_)
|
|
207
|
+
bnsm.append(bnsm_)
|
|
208
|
+
else:
|
|
209
|
+
bdim.append(None)
|
|
210
|
+
bnsm.append(None)
|
|
211
|
+
# Save bcim information
|
|
212
|
+
bcim.to_csv(bcim_path)
|
|
213
|
+
|
|
214
|
+
return bcim, bdim, bnsm
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Building Class Information Model (BCIM) package.
|
|
3
|
+
|
|
4
|
+
This package generates the information dataset representing the general
|
|
5
|
+
characteristics of a building portfolio. It constitutes the first step of
|
|
6
|
+
the BED framework pipeline (BCIM → BDIM → BNSM), producing realisations
|
|
7
|
+
by sampling secondary building attributes from class-specific probability
|
|
8
|
+
distributions and decision trees, conditioned on primary attributes (e.g.,
|
|
9
|
+
design class, number of storeys, lateral load factor).
|
|
10
|
+
|
|
11
|
+
Sampled attributes include geometry variables (storey heights, bay widths,
|
|
12
|
+
floor layout), taxonomy (slab type, beam type, column section, material
|
|
13
|
+
grades, construction quality), and masonry infill configuration. The main
|
|
14
|
+
entry point is the :class:`~simdesign.rcmrf.bcim.factory.BCIM` class.
|
|
15
|
+
|
|
16
|
+
Example
|
|
17
|
+
-------
|
|
18
|
+
>>> from bcim import BCIM
|
|
19
|
+
>>> model = BCIM()
|
|
20
|
+
>>> model.generate(design_class="eu_cdh", beta=0.1
|
|
21
|
+
num_storeys=4, sample_size=150)
|
|
22
|
+
>>> model.to_csv("path/to/output.csv")
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
from .factory import BCIM
|
|
26
|
+
|
|
27
|
+
__all__ = ["BCIM"]
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"typical_storey_height":
|
|
3
|
+
{
|
|
4
|
+
"cv": 0.07,
|
|
5
|
+
"mu": 2.90,
|
|
6
|
+
"lower_bound": 2.3,
|
|
7
|
+
"upper_bound": 3.8
|
|
8
|
+
},
|
|
9
|
+
"staircase_bay_width":
|
|
10
|
+
{
|
|
11
|
+
"lower_bound": 2.8,
|
|
12
|
+
"upper_bound": 3.2
|
|
13
|
+
},
|
|
14
|
+
"standard_bay_width":
|
|
15
|
+
{
|
|
16
|
+
"corr_coeff_xy": -0.92,
|
|
17
|
+
"lower_bound_x": 3.5,
|
|
18
|
+
"upper_bound_x": 7.5,
|
|
19
|
+
"theta_x": 4.5,
|
|
20
|
+
"sigma_x": 0.35,
|
|
21
|
+
"lower_bound_y": 3.5,
|
|
22
|
+
"upper_bound_y": 7.5,
|
|
23
|
+
"theta_y": 4.5,
|
|
24
|
+
"sigma_y": 0.35
|
|
25
|
+
},
|
|
26
|
+
"steel":
|
|
27
|
+
{
|
|
28
|
+
"grade": ["S400", "S500"],
|
|
29
|
+
"probability": [0.10, 0.90]
|
|
30
|
+
},
|
|
31
|
+
"concrete":
|
|
32
|
+
{
|
|
33
|
+
"grade": ["C20/25", "C25/30", "C30/37", "C35/45"],
|
|
34
|
+
"probability": [0.30, 0.45, 0.20, 0.05]
|
|
35
|
+
},
|
|
36
|
+
"ground_storey_height":
|
|
37
|
+
{
|
|
38
|
+
"maximum": 4.20,
|
|
39
|
+
"factor": [1.0, 1.1, 1.2, 1.3, 1.4],
|
|
40
|
+
"probability": [0.55, 0.10, 0.20, 0.10, 0.05]
|
|
41
|
+
},
|
|
42
|
+
"construction_quality":
|
|
43
|
+
{
|
|
44
|
+
"probability": [0.6, 0.3, 0.1]
|
|
45
|
+
},
|
|
46
|
+
"slab_typology":
|
|
47
|
+
{
|
|
48
|
+
"ss1_prob_given_ss1_or_hs": 0.50,
|
|
49
|
+
"ss2_prob_given_ss2_or_hs": 0.65
|
|
50
|
+
},
|
|
51
|
+
"wb_prob_given_hs": 0.50,
|
|
52
|
+
"square_column_prob": 0.50,
|
|
53
|
+
"layout": "all",
|
|
54
|
+
"beta": 0.1,
|
|
55
|
+
"num_storeys": 5,
|
|
56
|
+
"design_class": "eu_cdh",
|
|
57
|
+
"seed": 1993,
|
|
58
|
+
"sample_size": 150
|
|
59
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"typical_storey_height":
|
|
3
|
+
{
|
|
4
|
+
"cv": 0.07,
|
|
5
|
+
"mu": 2.90,
|
|
6
|
+
"lower_bound": 2.3,
|
|
7
|
+
"upper_bound": 3.8
|
|
8
|
+
},
|
|
9
|
+
"staircase_bay_width":
|
|
10
|
+
{
|
|
11
|
+
"lower_bound": 2.8,
|
|
12
|
+
"upper_bound": 3.2
|
|
13
|
+
},
|
|
14
|
+
"standard_bay_width":
|
|
15
|
+
{
|
|
16
|
+
"corr_coeff_xy": -0.92,
|
|
17
|
+
"lower_bound_x": 3.5,
|
|
18
|
+
"upper_bound_x": 7.5,
|
|
19
|
+
"theta_x": 4.5,
|
|
20
|
+
"sigma_x": 0.35,
|
|
21
|
+
"lower_bound_y": 3.5,
|
|
22
|
+
"upper_bound_y": 6.0,
|
|
23
|
+
"theta_y": 4.5,
|
|
24
|
+
"sigma_y": 0.35
|
|
25
|
+
},
|
|
26
|
+
"steel":
|
|
27
|
+
{
|
|
28
|
+
"grade": ["A24", "A40", "A50"],
|
|
29
|
+
"probability": [0.20, 0.70, 0.10]
|
|
30
|
+
},
|
|
31
|
+
"concrete":
|
|
32
|
+
{
|
|
33
|
+
"grade": ["B180", "B225", "B300"],
|
|
34
|
+
"probability": [0.40, 0.40, 0.20]
|
|
35
|
+
},
|
|
36
|
+
"ground_storey_height":
|
|
37
|
+
{
|
|
38
|
+
"maximum": 4.20,
|
|
39
|
+
"factor": [1.0, 1.1, 1.2, 1.3, 1.4],
|
|
40
|
+
"probability": [0.55, 0.10, 0.20, 0.10, 0.05]
|
|
41
|
+
},
|
|
42
|
+
"construction_quality":
|
|
43
|
+
{
|
|
44
|
+
"probability": [0.6, 0.3, 0.1]
|
|
45
|
+
},
|
|
46
|
+
"slab_typology":
|
|
47
|
+
{
|
|
48
|
+
"ss1_prob_given_ss1_or_hs": 0.50,
|
|
49
|
+
"ss2_prob_given_ss2_or_hs": 0.65
|
|
50
|
+
},
|
|
51
|
+
"wb_prob_given_hs": 0.50,
|
|
52
|
+
"square_column_prob": 0.50,
|
|
53
|
+
"layout": "all",
|
|
54
|
+
"beta": 0.1,
|
|
55
|
+
"num_storeys": 5,
|
|
56
|
+
"design_class": "eu_cdl",
|
|
57
|
+
"seed": 1993,
|
|
58
|
+
"sample_size": 150
|
|
59
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"typical_storey_height":
|
|
3
|
+
{
|
|
4
|
+
"cv": 0.07,
|
|
5
|
+
"mu": 2.90,
|
|
6
|
+
"lower_bound": 2.3,
|
|
7
|
+
"upper_bound": 3.8
|
|
8
|
+
},
|
|
9
|
+
"staircase_bay_width":
|
|
10
|
+
{
|
|
11
|
+
"lower_bound": 2.8,
|
|
12
|
+
"upper_bound": 3.2
|
|
13
|
+
},
|
|
14
|
+
"standard_bay_width":
|
|
15
|
+
{
|
|
16
|
+
"corr_coeff_xy": -0.92,
|
|
17
|
+
"lower_bound_x": 3.5,
|
|
18
|
+
"upper_bound_x": 7.5,
|
|
19
|
+
"theta_x": 4.5,
|
|
20
|
+
"sigma_x": 0.35,
|
|
21
|
+
"lower_bound_y": 3.5,
|
|
22
|
+
"upper_bound_y": 7.5,
|
|
23
|
+
"theta_y": 4.5,
|
|
24
|
+
"sigma_y": 0.35
|
|
25
|
+
},
|
|
26
|
+
"steel":
|
|
27
|
+
{
|
|
28
|
+
"grade": ["A400", "A500"],
|
|
29
|
+
"probability": [0.50, 0.50]
|
|
30
|
+
},
|
|
31
|
+
"concrete":
|
|
32
|
+
{
|
|
33
|
+
"grade": ["B20", "B25", "B30"],
|
|
34
|
+
"probability": [0.30, 0.30, 0.40]
|
|
35
|
+
},
|
|
36
|
+
"ground_storey_height":
|
|
37
|
+
{
|
|
38
|
+
"maximum": 4.20,
|
|
39
|
+
"factor": [1.0, 1.1, 1.2, 1.3, 1.4],
|
|
40
|
+
"probability": [0.55, 0.10, 0.20, 0.10, 0.05]
|
|
41
|
+
},
|
|
42
|
+
"construction_quality":
|
|
43
|
+
{
|
|
44
|
+
"probability": [0.6, 0.3, 0.1]
|
|
45
|
+
},
|
|
46
|
+
"slab_typology":
|
|
47
|
+
{
|
|
48
|
+
"ss1_prob_given_ss1_or_hs": 0.50,
|
|
49
|
+
"ss2_prob_given_ss2_or_hs": 0.65
|
|
50
|
+
},
|
|
51
|
+
"wb_prob_given_hs": 0.50,
|
|
52
|
+
"square_column_prob": 0.50,
|
|
53
|
+
"layout": "all",
|
|
54
|
+
"beta": 0.1,
|
|
55
|
+
"num_storeys": 5,
|
|
56
|
+
"design_class": "eu_cdm",
|
|
57
|
+
"seed": 1993,
|
|
58
|
+
"sample_size": 150
|
|
59
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"typical_storey_height":
|
|
3
|
+
{
|
|
4
|
+
"cv": 0.07,
|
|
5
|
+
"mu": 2.90,
|
|
6
|
+
"lower_bound": 2.3,
|
|
7
|
+
"upper_bound": 3.8
|
|
8
|
+
},
|
|
9
|
+
"staircase_bay_width":
|
|
10
|
+
{
|
|
11
|
+
"lower_bound": 2.8,
|
|
12
|
+
"upper_bound": 3.2
|
|
13
|
+
},
|
|
14
|
+
"standard_bay_width":
|
|
15
|
+
{
|
|
16
|
+
"corr_coeff_xy": -0.92,
|
|
17
|
+
"lower_bound_x": 3.5,
|
|
18
|
+
"upper_bound_x": 7.5,
|
|
19
|
+
"theta_x": 4.5,
|
|
20
|
+
"sigma_x": 0.35,
|
|
21
|
+
"lower_bound_y": 3.5,
|
|
22
|
+
"upper_bound_y": 6.0,
|
|
23
|
+
"theta_y": 4.5,
|
|
24
|
+
"sigma_y": 0.35
|
|
25
|
+
},
|
|
26
|
+
"steel":
|
|
27
|
+
{
|
|
28
|
+
"grade": ["A24", "A40"],
|
|
29
|
+
"probability": [0.60, 0.40]
|
|
30
|
+
},
|
|
31
|
+
"concrete":
|
|
32
|
+
{
|
|
33
|
+
"grade": ["B160", "B180", "B225"],
|
|
34
|
+
"probability": [0.40, 0.40, 0.20]
|
|
35
|
+
},
|
|
36
|
+
"ground_storey_height":
|
|
37
|
+
{
|
|
38
|
+
"maximum": 4.20,
|
|
39
|
+
"factor": [1.0, 1.1, 1.2, 1.3, 1.4],
|
|
40
|
+
"probability": [0.55, 0.10, 0.20, 0.10, 0.05]
|
|
41
|
+
},
|
|
42
|
+
"construction_quality":
|
|
43
|
+
{
|
|
44
|
+
"probability": [0.6, 0.3, 0.1]
|
|
45
|
+
},
|
|
46
|
+
"slab_typology":
|
|
47
|
+
{
|
|
48
|
+
"ss1_prob_given_ss1_or_hs": 0.50,
|
|
49
|
+
"ss2_prob_given_ss2_or_hs": 0.65
|
|
50
|
+
},
|
|
51
|
+
"wb_prob_given_hs": 0.50,
|
|
52
|
+
"square_column_prob": 0.50,
|
|
53
|
+
"layout": "all",
|
|
54
|
+
"beta": 0.1,
|
|
55
|
+
"num_storeys": 5,
|
|
56
|
+
"design_class": "eu_cdn",
|
|
57
|
+
"seed": 1993,
|
|
58
|
+
"sample_size": 150
|
|
59
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"typical_storey_height":
|
|
3
|
+
{
|
|
4
|
+
"cv": 0.08,
|
|
5
|
+
"mu": 2.84,
|
|
6
|
+
"lower_bound": 2.5,
|
|
7
|
+
"upper_bound": 3.3
|
|
8
|
+
},
|
|
9
|
+
"staircase_bay_width":
|
|
10
|
+
{
|
|
11
|
+
"lower_bound": 2.8,
|
|
12
|
+
"upper_bound": 3.2
|
|
13
|
+
},
|
|
14
|
+
"standard_bay_width":
|
|
15
|
+
{
|
|
16
|
+
"corr_coeff_xy": -0.92,
|
|
17
|
+
"lower_bound_x": 3.5,
|
|
18
|
+
"upper_bound_x": 7.5,
|
|
19
|
+
"theta_x": 4.5,
|
|
20
|
+
"sigma_x": 0.35,
|
|
21
|
+
"lower_bound_y": 3.5,
|
|
22
|
+
"upper_bound_y": 7.5,
|
|
23
|
+
"theta_y": 4.5,
|
|
24
|
+
"sigma_y": 0.35
|
|
25
|
+
},
|
|
26
|
+
"steel":
|
|
27
|
+
{
|
|
28
|
+
"grade": ["S420"],
|
|
29
|
+
"probability": [1.0]
|
|
30
|
+
},
|
|
31
|
+
"concrete":
|
|
32
|
+
{
|
|
33
|
+
"grade": ["C20", "C25", "C30", "C35"],
|
|
34
|
+
"probability": [0.40, 0.40, 0.15, 0.05]
|
|
35
|
+
},
|
|
36
|
+
"ground_storey_height":
|
|
37
|
+
{
|
|
38
|
+
"maximum": 4.20,
|
|
39
|
+
"factor": [1.0, 1.1, 1.2, 1.3],
|
|
40
|
+
"probability": [0.88, 0.05, 0.05, 0.02]
|
|
41
|
+
},
|
|
42
|
+
"construction_quality":
|
|
43
|
+
{
|
|
44
|
+
"probability": [0.60, 0.30, 0.10]
|
|
45
|
+
},
|
|
46
|
+
"slab_typology":
|
|
47
|
+
{
|
|
48
|
+
"ss1_prob_given_ss1_or_hs": 1.0,
|
|
49
|
+
"ss2_prob_given_ss2_or_hs": 1.0,
|
|
50
|
+
"max_ss_short_span": 7.5
|
|
51
|
+
},
|
|
52
|
+
"infill_configuration":
|
|
53
|
+
{
|
|
54
|
+
"configuration": [1, 2],
|
|
55
|
+
"probability": [1.0, 0.0]
|
|
56
|
+
},
|
|
57
|
+
"exterior_infill_type":
|
|
58
|
+
{
|
|
59
|
+
"probability": [1.0, 0.0, 0.0]
|
|
60
|
+
},
|
|
61
|
+
"interior_infill_type":
|
|
62
|
+
{
|
|
63
|
+
"probability": [1.0, 0.0, 0.0]
|
|
64
|
+
},
|
|
65
|
+
"wb_prob_given_hs": 1.0,
|
|
66
|
+
"square_column_prob": 0.05,
|
|
67
|
+
"layout": "all",
|
|
68
|
+
"beta": 0.086,
|
|
69
|
+
"num_storeys": 4,
|
|
70
|
+
"design_class": "tr_0018_dch",
|
|
71
|
+
"seed": 1994,
|
|
72
|
+
"sample_size": 150
|
|
73
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"typical_storey_height":
|
|
3
|
+
{
|
|
4
|
+
"cv": 0.08,
|
|
5
|
+
"mu": 2.84,
|
|
6
|
+
"lower_bound": 2.5,
|
|
7
|
+
"upper_bound": 3.3
|
|
8
|
+
},
|
|
9
|
+
"staircase_bay_width":
|
|
10
|
+
{
|
|
11
|
+
"lower_bound": 2.8,
|
|
12
|
+
"upper_bound": 3.2
|
|
13
|
+
},
|
|
14
|
+
"standard_bay_width":
|
|
15
|
+
{
|
|
16
|
+
"corr_coeff_xy": -0.92,
|
|
17
|
+
"lower_bound_x": 3.5,
|
|
18
|
+
"upper_bound_x": 7.5,
|
|
19
|
+
"theta_x": 4.5,
|
|
20
|
+
"sigma_x": 0.35,
|
|
21
|
+
"lower_bound_y": 3.5,
|
|
22
|
+
"upper_bound_y": 7.5,
|
|
23
|
+
"theta_y": 4.5,
|
|
24
|
+
"sigma_y": 0.35
|
|
25
|
+
},
|
|
26
|
+
"steel":
|
|
27
|
+
{
|
|
28
|
+
"grade": ["S420"],
|
|
29
|
+
"probability": [1.0]
|
|
30
|
+
},
|
|
31
|
+
"concrete":
|
|
32
|
+
{
|
|
33
|
+
"grade": ["C20", "C25", "C30", "C35"],
|
|
34
|
+
"probability": [0.40, 0.40, 0.15, 0.05]
|
|
35
|
+
},
|
|
36
|
+
"ground_storey_height":
|
|
37
|
+
{
|
|
38
|
+
"maximum": 4.20,
|
|
39
|
+
"factor": [1.0, 1.1, 1.2, 1.3],
|
|
40
|
+
"probability": [0.70, 0.20, 0.08, 0.02]
|
|
41
|
+
},
|
|
42
|
+
"construction_quality":
|
|
43
|
+
{
|
|
44
|
+
"probability": [0.60, 0.30, 0.10]
|
|
45
|
+
},
|
|
46
|
+
"slab_typology":
|
|
47
|
+
{
|
|
48
|
+
"ss1_prob_given_ss1_or_hs": 0.6,
|
|
49
|
+
"ss2_prob_given_ss2_or_hs": 0.8
|
|
50
|
+
},
|
|
51
|
+
"infill_configuration":
|
|
52
|
+
{
|
|
53
|
+
"configuration": [1, 2],
|
|
54
|
+
"probability": [1.0, 0.0]
|
|
55
|
+
},
|
|
56
|
+
"exterior_infill_type":
|
|
57
|
+
{
|
|
58
|
+
"probability": [1.0, 0.0, 0.0]
|
|
59
|
+
},
|
|
60
|
+
"interior_infill_type":
|
|
61
|
+
{
|
|
62
|
+
"probability": [1.0, 0.0, 0.0]
|
|
63
|
+
},
|
|
64
|
+
"wb_prob_given_hs": 1.0,
|
|
65
|
+
"square_column_prob": 0.05,
|
|
66
|
+
"layout": "all",
|
|
67
|
+
"beta": 0.086,
|
|
68
|
+
"num_storeys": 4,
|
|
69
|
+
"design_class": "tr_0018_dcm",
|
|
70
|
+
"seed": 1994,
|
|
71
|
+
"sample_size": 150
|
|
72
|
+
}
|