Parameterization

Pydantic models used for parametrizing BCIM inputs.

class simdesign.rcmrf.bcim.parametrization.ArchetypeData(*, tag: str, num_bays_x: int, num_bays_y: int, stairs_grid_x: int, stairs_grid_y: int)

Model representing data for a specific building archetype.

In this case, archetype is specified by floor layout properties since at each floor, the standard frame has the same plan with uniform bay widths along the same axis. The only exception is bay width along x-axis for stairs.

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

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 id of stairs along the x-axis.

stairs_grid_y: int

Grid id of stairs along the y-axis.

tag: str

Unique identifier for the archetype (or floor layout).

class simdesign.rcmrf.bcim.parametrization.ConstructionQuality(*, quaility: List[int] = [1, 2, 3], probability: List[float])

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

quality

Construction quality identifiers, IDs.

Type:

List[int]

probability

Probability values for each quality ID.

Type:

List[float]

probability: List[float]

Probability values for each quality ID.

quaility: List[int]

Construction quality identifiers, IDs. 1: High quality 2: Moderate quality 3: Low quality

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

Parameters used to define ground storey heights.

Sampled typical storey heights are factored by the factor based on their probability to obtain ground storey heights. If the factored storey height is larger than maximum it will be set to maximum.

maximum

Maximum possible ground storey height.

Type:

float

factor

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

Type:

List[float]

probability

Corresponding probabilities of factors Sum should be equal to 1.0.

Type:

List[float]

factor: List[float]

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

maximum: float

Maximum possible ground storey height.

probability: List[float]

Corresponding probabilities of factors. Sum should be equal to 1.0.

class simdesign.rcmrf.bcim.parametrization.InputData(*, 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 = None, num_storeys: int, design_class: str, sample_size: int, seed: int)

Input parameters obtained from JSON files to generate BCIM data.

typical_storey_height

Parameters required for sampling typical storey heights.

Type:

TypicalStoreyHeight

staircase_bay_width

Parameters required for sampling staircase bay widths.

Type:

StaircaseBayWidth

standard_bay_width

Parameters required for sampling standard bay widths.

Type:

StandardBayWidth

steel

Parameters required for sampling steel grades.

Type:

Material

concrete

Parameters required for sampling concrete grades.

Type:

Material

ground_storey_height

Parameters required for ground storey height sampling or decision tree operations.

Type:

GroundStoreyHeight

construction_quality

Parameters required for sampling construction quality levels.

Type:

ConstructionQuality

slab_typology

Parameters required 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. It can be either “all” to include all layouts or a list of specific layouts.

Type:

Union[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 sample to be generated.

Type:

int

seed

Seed value for the random number generator to ensure reproducibility.

Type:

int

beta: float

Design lateral load factor.

beta_v: float | None

Vertical load factor.

concrete: Material

Parameters required for concrete grade sampling.

construction_quality: ConstructionQuality

Parameters required for sampling construction quality levels.

design_class: str

Building seismic design class.

ground_storey_height: GroundStoreyHeight

Parameters required for ground storey height sampling/decision tree.

layout: Literal['all'] | List[str]

Layout considered layout ids for the building generation process. It can be either “all” or a list of specific layout.

num_storeys: int

Number of storeys.

sample_size: int

Size of the generate sample.

seed: int

Seed used in random number generator.

slab_typology: SlabTypology

Parameters required for slab typology sampling/decision tree.

square_column_prob: float

Probability of having square columns.

staircase_bay_width: StaircaseBayWidth

Parameters required for staircase storey height sampling.

standard_bay_width: StandardBayWidth

Parameters required for standard bay width sampling.

steel: Material

Parameters required for steel grade sampling.

typical_storey_height: TypicalStoreyHeight

Parameters required for typical storey height sampling.

wb_prob_given_hs: float

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

class simdesign.rcmrf.bcim.parametrization.Material(*, grade: List[str], probability: List[float])

Material grades and their occurrence probabilities.

grade

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

Type:

List[str]

probability

Occurrence probabilities for each material.

Type:

List[float]

grade: List[str]

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

probability: List[float]

Occurrence probabilities for each material.

class simdesign.rcmrf.bcim.parametrization.SlabTypology(*, ss1_prob_given_ss1_or_hs: float, ss2_prob_given_ss2_or_hs: float, max_ss_short_span: float = 6.0, max_ss2_aspect_ratio: float = 2.0, staircase_slab_depth: float | None = None, floor_slab_thickness: float | None = None)

Parameters required for slab typology sampling or decision tree.

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

upper_lim_for_min_ss_span_length

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

Type:

float

upper_lim_for_max_ss2_span_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

Depth 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.

floor_slab_thickness: float | None

Thickness of the floor slabs, by default None.

max_ss2_aspect_ratio: float

Upper limit for the ratio of maximum to minimum span lengths (aspect ratio) in SS2 slabs, by default 2.0

max_ss_short_span: float

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

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.

staircase_slab_depth: float | None

Depth of the staircase slabs, by default None.

class simdesign.rcmrf.bcim.parametrization.StaircaseBayWidth(*, lower_bound: float, upper_bound: float)

Parameters for the uniform distribution representing the staircase bay width.

lower_bound

The lower bound value.

Type:

float

upper_bound

The upper bound value.

Type:

float

lower_bound: float

The lower bound value.

upper_bound: float

The upper bound value.

class simdesign.rcmrf.bcim.parametrization.StandardBayWidth(*, 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)

Parameters for the truncated lognormal distribution representing the standard bay width.

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

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).

lower_bound_y: float

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

sigma_x: float

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

sigma_y: float

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

theta_x: float

Median of log-normal distribution (-x).

theta_y: float

Median of log-normal distribution (-y).

upper_bound_x: float

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

upper_bound_y: float

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

class simdesign.rcmrf.bcim.parametrization.TypicalStoreyHeight(*, cv: float, mu: float, lower_bound: float, upper_bound: float)

Parameters for the typical storey heights which are represented with truncated log-normal distribution.

cv

Coefficient of variation, s/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

cv: float

Coefficient of variation, s/mu.

lower_bound: float

Lower bound value.

mu: float

Mean value for the typical storey heights.

upper_bound: float

Upper bound value.