simdesign.rcmrf.bdim.eu_cdl.loads

This module provides the class implementations representing loads for the eu_cdl design class in the BDIM layer.

class simdesign.rcmrf.bdim.eu_cdl.loads.Variable(*, floor, roof, staircase)[source]

Bases: VariableBase

Variable load (Q) model implementation for the eu_cdl design class.

This class directly uses the behaviour defined in VariableBase.

See also

VariableBase

Base class defining the core behaviour and configuration.

Parameters:
  • floor (float)

  • roof (float)

  • staircase (float)

class simdesign.rcmrf.bdim.eu_cdl.loads.Permanent(*, floor, roof, staircase, gamma_rc)[source]

Bases: PermanentBase

Permanent load (G) model implementation for the eu_cdl design class.

This class directly uses the behaviour defined in PermanentBase.

See also

PermanentBase

Base class defining the core behaviour and configuration.

Parameters:
  • floor (float)

  • roof (float)

  • staircase (float)

  • gamma_rc (float)

class simdesign.rcmrf.bdim.eu_cdl.loads.Combination(*, tag, loads, masses=None)[source]

Bases: CombinationBase

Load combination model implementation for the eu_cdl design class.

This class directly uses the behaviour defined in CombinationBase.

See also

CombinationBase

Base class defining the core behaviour and configuration.

Parameters:
  • tag (str)

  • loads (Dict[Literal['G', 'Q', 'E+X', 'E-X', 'E+Y', 'E-Y'], float])

  • masses (Dict[Literal['G', 'Q'], float] | None)

class simdesign.rcmrf.bdim.eu_cdl.loads.LoadsData(*, variable, permanent, combinations, eccentricity=0.0)[source]

Bases: LoadsDataBase

Loads data model implementation for the eu_cdl design class.

This class extends LoadsDataBase by narrowing the attribute types.

Parameters:
variable

Object representing variable (live) loads.

Type:

Variable

permanent

Object representing permanent (dead) loads.

Type:

Permanent

combinations

List of load combination objects.

Type:

List[Combination]

See also

LoadsDataBase

Base class defining the core behaviour and configuration.

class simdesign.rcmrf.bdim.eu_cdl.loads.Loads[source]

Bases: LoadsBase

Loads implementation for the eu_cdl design class.

This class extends LoadsBase by narrowing the attribute types and overriding get_seismic_loads() to use uniform weight distribution.

variable

Object representing variable (live) loads.

Type:

Variable

permanent

Object representing permanent (dead) loads.

Type:

Permanent

combinations

List of load combinations.

Type:

List[Combination]

_data_path

Path to the file containing loads data.

Type:

Path

See also

LoadsBase

Base class defining the core behaviour and configuration.

get_seismic_loads(**kwargs)[source]

Calculate and return seismic loads.

Unlike get_seismic_loads(), this implementation distributes forces proportionally to storey weight alone, without height weighting. The heights are only used to leave out the weights lumped at the base (heights <= 0), which receive no force and do not contribute to the base shear.

Parameters:

**kwargs (dict[float | np.ndarray]) –

Keyword arguments consumed by this method:

betafloat

Design lateral load factor expressed as a fraction of building weight.

weightsnp.ndarray

Array of storey weights in kN.

heightsnp.ndarray, optional

Array of heights measured from the base, with the same shape as weights. If not given, all weights are used.

Returns:

Total base shear force (kN) and seismic forces acting at each storey (kN), distributed proportionally to storey weight. The forces array has the same shape as weights.

Return type:

Tuple[np.float64, np.ndarray]

Notes

**kwargs are used instead of explicit keyword arguments in order to satisfy the interface expected by run_seismic_load_cases().