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.

Parameters:
  • typology (List[int])

  • probability (List[float])

typology

Infill typology identifiers (IDs).

Type:

List[int]

probability

Probability values for each typology ID.

Type:

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.

Parameters:
  • configuration (List[int])

  • probability (List[float])

configuration

Infill configuration identifiers (IDs).

Type:

List[int]

probability

Probability values for each configuration ID.

Type:

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.

Parameters:
  • maximum (float)

  • factor (List[float])

  • probability (List[float])

maximum

Maximum possible ground storey height.

Type:

float

factor

Factors applied to typical storey heights to obtain ground storey heights.

Type:

List[float]

probability

Corresponding probabilities of factors. The sum should be equal to 1.0.

Type:

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.

Parameters:
  • quality (List[int])

  • probability (List[float])

quality

Construction quality identifiers (IDs).

Type:

List[int]

probability

Probability values for each quality ID.

Type:

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.

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)

ss1_prob_given_ss1_or_hs

Probability of having SS1 type slab given that the slab type is either SS1 or HS.

Type:

float

ss2_prob_given_ss2_or_hs

Probability of having SS2 type slab given that the slab type is either SS2 or HS.

Type:

float

max_ss_short_span

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

Type:

float

max_ss2_aspect_ratio

Upper limit for the ratio of maximum to minimum span lengths in SS2 slabs.

Type:

float

staircase_slab_depth

Depth of the staircase slabs, by default None.

Type:

float | None

floor_slab_thickness

Thickness of the floor slabs, by default None.

Type:

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.

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.

Parameters:
  • cv (float)

  • mu (float)

  • lower_bound (float)

  • upper_bound (float)

cv

Coefficient of variation (sigma/mu).

Type:

float

mu

Mean value for the typical storey heights.

Type:

float

lower_bound

Lower bound value.

Type:

float

upper_bound

Upper bound value.

Type:

float

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

Bases: BaseModel

Parameters of the uniform distribution representing the staircase bay width.

Parameters:
  • lower_bound (float)

  • upper_bound (float)

lower_bound

Lower bound value.

Type:

float

upper_bound

Upper bound value.

Type:

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.

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

Correlation coefficient between bay widths in two principal horizontal directions (-X and -Y).

Type:

float

lower_bound_x

Lower bound of truncated log-normal distribution (-X).

Type:

float

upper_bound_x

Upper bound of truncated log-normal distribution (-X).

Type:

float

theta_x

Median of log-normal distribution (-X).

Type:

float

sigma_x

Logarithmic standard deviation of the lognormal distribution (-X).

Type:

float

lower_bound_y

Lower bound of truncated log-normal distribution (-Y).

Type:

float

upper_bound_y

Upper bound of truncated log-normal distribution (-Y).

Type:

float

theta_y

Median of log-normal distribution (-Y).

Type:

float

sigma_y

Logarithmic standard deviation of the lognormal distribution (-Y).

Type:

float

class simdesign.rcmrf.bcim.parametrization.Material(*, grade, probability)[source]

Bases: BaseModel

Material grades and their occurrence probabilities.

Parameters:
  • grade (List[str])

  • probability (List[float])

grade

Material tags, i.e., concrete strength classes or steel grades.

Type:

List[str]

probability

Occurrence probabilities for each material.

Type:

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.

Parameters:
exterior_infill_type

Parameters for sampling exterior infill typologies.

Type:

InfillType

interior_infill_type

Parameters for sampling interior infill typologies.

Type:

InfillType

infill_configuration

Parameters for sampling infill location configurations.

Type:

InfillConfiguration

typical_storey_height

Parameters for sampling typical storey heights.

Type:

TypicalStoreyHeight

staircase_bay_width

Parameters for sampling staircase bay widths.

Type:

StaircaseBayWidth

standard_bay_width

Parameters for sampling standard bay widths.

Type:

StandardBayWidth

steel

Parameters for sampling steel grades.

Type:

Material

concrete

Parameters for sampling concrete grades.

Type:

Material

ground_storey_height

Parameters for ground storey height sampling or decision tree operations.

Type:

GroundStoreyHeight

construction_quality

Parameters for sampling construction quality levels.

Type:

ConstructionQuality

slab_typology

Parameters for slab typology sampling or decision tree operations.

Type:

SlabTypology

wb_prob_given_hs

Probability of having wide beams (WB) given the slab type is HS.

Type:

float

square_column_prob

Probability of having square columns.

Type:

float

layout

Layout IDs considered for the building generation process. Can be “all” to include all layouts or a list of specific layouts.

Type:

Literal[“all”] | List[str]

beta

Design lateral load factor.

Type:

float

beta_v

Vertical load factor.

Type:

float | None

num_storeys

Number of storeys in the building.

Type:

int

design_class

Building seismic design class.

Type:

str

sample_size

Size of the generated sample.

Type:

int

seed

Seed value for the random number generator.

Type:

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.

Parameters:
  • tag (str)

  • num_bays_x (int)

  • num_bays_y (int)

  • stairs_grid_x (int)

  • stairs_grid_y (int)

tag

Unique identifier for the archetype.

Type:

str

num_bays_x

Number of bays along the X-axis.

Type:

int

num_bays_y

Number of bays along the Y-axis.

Type:

int

stairs_grid_x

Grid position of stairs along the X-axis.

Type:

int

stairs_grid_y

Grid position of stairs along the Y-axis.

Type:

int