simdesign.rcmrf.bcim.parametrization

This module provides pydantic models used for parametrizing BCIM inputs.

class simdesign.rcmrf.bcim.parametrization.InfillType(*, typology=<factory>, probability=<factory>)[source]

Bases: BaseModel

Infill typology IDs and their occurrence probability in the generated building portfolio.

Variables:
  • typology (List[int]) – Infill typology identifiers (IDs).

  • probability (List[float]) – Probability values for each typology ID.

Parameters:
  • typology (List[int])

  • probability (List[float])

typology: List[int]
probability: List[float]
class simdesign.rcmrf.bcim.parametrization.InfillConfiguration(*, configuration=<factory>, probability=[0.7, 0.3])[source]

Bases: BaseModel

Infill configuration IDs and their occurrence probability in the generated building portfolio.

Variables:
  • configuration (List[int]) – Infill configuration identifiers (IDs).

  • probability (List[float]) – Probability values for each configuration ID.

Parameters:
  • configuration (List[int])

  • probability (List[float])

configuration: List[int]
probability: List[float]
class simdesign.rcmrf.bcim.parametrization.GroundStoreyHeight(*, maximum, factor, probability)[source]

Bases: BaseModel

Parameters used to define ground storey heights.

Sampled typical storey heights are factored by the factor values based on their probability to obtain ground storey heights. If the factored storey height exceeds maximum, it will be capped at maximum.

Variables:
  • maximum (float) – Maximum possible ground storey height.

  • factor (List[float]) – Factors applied to typical storey heights to obtain ground storey heights.

  • probability (List[float]) – Corresponding probabilities of factors. The sum should be equal to 1.0.

Parameters:
  • maximum (float)

  • factor (List[float])

  • probability (List[float])

maximum: float
factor: List[float]
probability: List[float]
class simdesign.rcmrf.bcim.parametrization.ConstructionQuality(*, quality=[1, 2, 3], probability)[source]

Bases: BaseModel

Construction quality IDs and their occurrence probability in the generated building portfolio.

Variables:
  • quality (List[int]) – Construction quality identifiers (IDs).

  • probability (List[float]) – Probability values for each quality ID.

Parameters:
  • quality (List[int])

  • probability (List[float])

quality: List[int]
probability: List[float]
class simdesign.rcmrf.bcim.parametrization.SlabTypology(*, ss1_prob_given_ss1_or_hs, ss2_prob_given_ss2_or_hs, max_ss_short_span=6.0, max_ss2_aspect_ratio=2.0, staircase_slab_depth=None, floor_slab_thickness=None)[source]

Bases: BaseModel

Parameters required for slab typology sampling or decision tree.

Variables:
  • ss1_prob_given_ss1_or_hs (float) – Probability of having SS1 type slab given that the slab type is either SS1 or HS.

  • ss2_prob_given_ss2_or_hs (float) – Probability of having SS2 type slab given that the slab type is either SS2 or HS.

  • max_ss_short_span (float) – Upper limit for the short span length in solid slabs (SS1, SS2).

  • max_ss2_aspect_ratio (float) – Upper limit for the ratio of maximum to minimum span lengths in SS2 slabs.

  • staircase_slab_depth (float | None) – Depth of the staircase slabs, by default None.

  • floor_slab_thickness (float | None) – Thickness of the floor slabs, by default None.

Parameters:
  • ss1_prob_given_ss1_or_hs (float)

  • ss2_prob_given_ss2_or_hs (float)

  • max_ss_short_span (float)

  • max_ss2_aspect_ratio (float)

  • staircase_slab_depth (float | None)

  • floor_slab_thickness (float | None)

Notes

  1. SS2 refers to solid two-way cast-in-situ slabs.

  2. SS1 refers to solid one-way cast-in-situ slabs.

  3. HS refers to composite slabs with pre-fabricated joists and ceramic blocks.

ss1_prob_given_ss1_or_hs: float
ss2_prob_given_ss2_or_hs: float
max_ss_short_span: float
max_ss2_aspect_ratio: float
staircase_slab_depth: float | None
floor_slab_thickness: float | None
class simdesign.rcmrf.bcim.parametrization.TypicalStoreyHeight(*, cv, mu, lower_bound, upper_bound)[source]

Bases: BaseModel

Parameters for typical storey heights represented by a truncated log-normal distribution.

Variables:
  • cv (float) – Coefficient of variation (sigma/mu).

  • mu (float) – Mean value for the typical storey heights.

  • lower_bound (float) – Lower bound value.

  • upper_bound (float) – Upper bound value.

Parameters:
  • cv (float)

  • mu (float)

  • lower_bound (float)

  • upper_bound (float)

cv: float
mu: float
lower_bound: float
upper_bound: float
class simdesign.rcmrf.bcim.parametrization.StaircaseBayWidth(*, lower_bound, upper_bound)[source]

Bases: BaseModel

Parameters of the uniform distribution representing the staircase bay width.

Variables:
  • lower_bound (float) – Lower bound value.

  • upper_bound (float) – Upper bound value.

Parameters:
  • lower_bound (float)

  • upper_bound (float)

lower_bound: float
upper_bound: float
class simdesign.rcmrf.bcim.parametrization.StandardBayWidth(*, corr_coeff_xy, lower_bound_x, upper_bound_x, theta_x, sigma_x, lower_bound_y, upper_bound_y, theta_y, sigma_y)[source]

Bases: BaseModel

Parameters of the truncated log-normal distribution representing the standard bay width.

Variables:
  • corr_coeff_xy (float) – Correlation coefficient between bay widths in two principal horizontal directions (-X and -Y).

  • lower_bound_x (float) – Lower bound of truncated log-normal distribution (-X).

  • upper_bound_x (float) – Upper bound of truncated log-normal distribution (-X).

  • theta_x (float) – Median of log-normal distribution (-X).

  • sigma_x (float) – Logarithmic standard deviation of the lognormal distribution (-X).

  • lower_bound_y (float) – Lower bound of truncated log-normal distribution (-Y).

  • upper_bound_y (float) – Upper bound of truncated log-normal distribution (-Y).

  • theta_y (float) – Median of log-normal distribution (-Y).

  • sigma_y (float) – Logarithmic standard deviation of the lognormal distribution (-Y).

Parameters:
  • corr_coeff_xy (float)

  • lower_bound_x (float)

  • upper_bound_x (float)

  • theta_x (float)

  • sigma_x (float)

  • lower_bound_y (float)

  • upper_bound_y (float)

  • theta_y (float)

  • sigma_y (float)

corr_coeff_xy: float
lower_bound_x: float
upper_bound_x: float
theta_x: float
sigma_x: float
lower_bound_y: float
upper_bound_y: float
theta_y: float
sigma_y: float
class simdesign.rcmrf.bcim.parametrization.Material(*, grade, probability)[source]

Bases: BaseModel

Material grades and their occurrence probabilities.

Variables:
  • grade (List[str]) – Material tags, i.e., concrete strength classes or steel grades.

  • probability (List[float]) – Occurrence probabilities for each material.

Parameters:
  • grade (List[str])

  • probability (List[float])

grade: List[str]
probability: List[float]
class simdesign.rcmrf.bcim.parametrization.InputData(*, exterior_infill_type=<factory>, interior_infill_type=<factory>, infill_configuration=<factory>, typical_storey_height, staircase_bay_width, standard_bay_width, steel, concrete, ground_storey_height, construction_quality, slab_typology, wb_prob_given_hs, square_column_prob, layout, beta, beta_v=None, num_storeys, design_class, sample_size, seed)[source]

Bases: BaseModel

Input parameters obtained from JSON files to generate BCIM data.

Variables:
  • exterior_infill_type (InfillType) – Parameters for sampling exterior infill typologies.

  • interior_infill_type (InfillType) – Parameters for sampling interior infill typologies.

  • infill_configuration (InfillConfiguration) – Parameters for sampling infill location configurations.

  • typical_storey_height (TypicalStoreyHeight) – Parameters for sampling typical storey heights.

  • staircase_bay_width (StaircaseBayWidth) – Parameters for sampling staircase bay widths.

  • standard_bay_width (StandardBayWidth) – Parameters for sampling standard bay widths.

  • steel (Material) – Parameters for sampling steel grades.

  • concrete (Material) – Parameters for sampling concrete grades.

  • ground_storey_height (GroundStoreyHeight) – Parameters for ground storey height sampling or decision tree operations.

  • construction_quality (ConstructionQuality) – Parameters for sampling construction quality levels.

  • slab_typology (SlabTypology) – Parameters for slab typology sampling or decision tree operations.

  • wb_prob_given_hs (float) – Probability of having wide beams (WB) given the slab type is HS.

  • square_column_prob (float) – Probability of having square columns.

  • layout (Union[Literal["all"], List[str]]) – Layout IDs considered for the building generation process. Can be “all” to include all layouts or a list of specific layouts.

  • beta (float) – Design lateral load factor.

  • beta_v (float | None) – Vertical load factor.

  • num_storeys (int) – Number of storeys in the building.

  • design_class (str) – Building seismic design class.

  • sample_size (int) – Size of the generated sample.

  • seed (int) – Seed value for the random number generator.

Parameters:
exterior_infill_type: InfillType
interior_infill_type: InfillType
infill_configuration: InfillConfiguration
typical_storey_height: TypicalStoreyHeight
staircase_bay_width: StaircaseBayWidth
standard_bay_width: StandardBayWidth
steel: Material
concrete: Material
ground_storey_height: GroundStoreyHeight
construction_quality: ConstructionQuality
slab_typology: SlabTypology
wb_prob_given_hs: float
square_column_prob: float
layout: Literal['all'] | List[str]
beta: float
beta_v: float | None
num_storeys: int
design_class: str
sample_size: int
seed: int
class simdesign.rcmrf.bcim.parametrization.ArchetypeData(*, tag, num_bays_x, num_bays_y, stairs_grid_x, stairs_grid_y)[source]

Bases: BaseModel

Model representing data for a specific building archetype.

Variables:
  • tag (str) – Unique identifier for the archetype.

  • num_bays_x (int) – Number of bays along the X-axis.

  • num_bays_y (int) – Number of bays along the Y-axis.

  • stairs_grid_x (int) – Grid position of stairs along the X-axis.

  • stairs_grid_y (int) – Grid position of stairs along the Y-axis.

Parameters:
  • tag (str)

  • num_bays_x (int)

  • num_bays_y (int)

  • stairs_grid_x (int)

  • stairs_grid_y (int)

tag: str
num_bays_x: int
num_bays_y: int
stairs_grid_x: int
stairs_grid_y: int