simdesign.rcmrf.bdim.baselib.infill

This module provides the base class for representing masonry infill walls within the BDIM layer.

simdesign.rcmrf.bdim.baselib.infill.INFILL_PROPERTIES = {'Medium': {'W': 6.87, 'tw': 240.0}, 'Strong': {'W': 7.36, 'tw': 300.0}, 'Weak': {'W': 6.87, 'tw': 80.0}}

The weak masonry infill consists of a 8.0 cm thick single-leaf masonry wall constructed of horizontally hollowed brick units (volumetric percentage of holes ≈60%) with a 1.0-cm thick plaster on each face, while the medium typology consists of two 12.0-cm thick leaves, each constructed of horizontally hollowed brick units (volumetric percentage of holes ≈60%), divided by an intermediate 5.0-cm cavity and covered with a 1.0-cm thick plaster placed at the external sides of the walls. The typology representing strong infill walls is constituted by a single 30-cm thick leaf built with vertically hollowed brick units (volumetric percentage of holes ≈50%).

TODO: Verify the weights if they make sense.

class simdesign.rcmrf.bdim.baselib.infill.InfillBase(rectangle, beams, columns, loc)[source]

Bases: ABC

Abstract base class for infills.

Must be inherited by design-class-specific infills.

Variables:
  • rectangle (Rectangle) – Geometric mesh representation of the infill (tag, points, lines).

  • beams (List[Optional[BeamBase]]) – List of beams corresponding to the rectangle lines with indices 1 and 3.

  • columns (List[ColumnBase | List[ColumnBase]]) – List of columns corresponding to the rectangle lines with indices 0 and 2.

  • loc (Literal['exterior', 'interior']) – Location of the infill wall : ‘exterior’ or ‘interior’.

Parameters:
rectangle: Rectangle
beams: List[BeamBase | None]
columns: List[ColumnBase | List[ColumnBase]]
loc: Literal['exterior', 'interior']
property typology: Literal['Weak', 'Medium', 'Strong']

Return the infill wall typology (strength) based on assignment.

Returns:

Type of the infill wall.

Return type:

Literal[‘Weak’, ‘Medium’, ‘Strong’]

Raises:

KeyError – If loc is not set to ‘interior’ or ‘exterior’ and strength is not defined.

property thickness: float

Return the infill wall thickness based on its typology.

Returns:

Thickness of the infill wall.

Return type:

float

property unit_weight: float

Return the infill wall unit weight based on its typology.

Returns:

Unit weight of the infill wall.

Return type:

float

property height: float

Compute the infill height from its rectangle points (z-extent).

Returns:

Height of infill wall.

Return type:

float

property length: float

Compute the infill length along its in-plane horizontal axis.

Returns:

Length of wall along y (if YZ plane) or along x (if XZ plane).

Return type:

float

Raises:

ValueError – If the rectangle is not axis-aligned in YZ or XZ planes.

property plane: Literal['XZ', 'YZ']

Detect whether the rectangle lies in the YZ or XZ plane and return the corresponding in-plane name.

Returns:

The plane name which is parallel to the infill.

Return type:

Literal[‘XZ’, ‘YZ’]

Raises:

ValueError – If the rectangle is not axis-aligned in YZ or XZ planes.

property weight: float

Compute the total weight of the infill panel.

Returns:

Total weight of infill wall.

Return type:

float

property wg: float

Return the distributed load (line load) on the supporting beam.

Returns:

Distributed weight of infill wall along its length.

Return type:

float

set_beam_infill_load()[source]

Assign the infill’s distributed load to the supporting beam.

Notes

If supporting beam exists (except ground floors), sets its infill_wg attribute to self.wg.

Return type:

None