simdesign.rcmrf.bdim.baselib.column

This module provides the base class for representing columns within the BDIM layer.

class simdesign.rcmrf.bdim.baselib.column.ColumnForces(N1, Mx1, Vy1, My1, Vx1, N9, Mx9, Vy9, My9, Vx9, case=None)[source]

Bases: object

Data class for storing element forces.

Variables:
  • N1 (float) – Axial force at 1st gauss point (start-section).

  • Mx1 (float) – Moment around local-x at 1st gauss point (start-section).

  • Vy1 (float) – Shear in local-y at 1st gauss point (start-section).

  • My1 (float) – Moment around local-y at 1st gauss point (start-section).

  • Vx1 (float) – Shear in local-x at 1st gauss point (start-section).

  • N9 (float) – Axial force at 9th gauss point (end-section).

  • Mx9 (float) – Moment around local-x at 9th gauss point (end-section).

  • Vy9 (float) – Shear in local-y at 9th gauss point (end-section).

  • My9 (float) – Moment around local-y at 9th gauss point (end-section).

  • Vx9 (float) – Shear in local-x at 9th gauss point (end-section).

  • case (Literal['gravity', 'seismic', None], optional) – Type of load combination if forces are computed for a combo, otherwise None. By default None.

Parameters:
  • N1 (float)

  • Mx1 (float)

  • Vy1 (float)

  • My1 (float)

  • Vx1 (float)

  • N9 (float)

  • Mx9 (float)

  • Vy9 (float)

  • My9 (float)

  • Vx9 (float)

  • case (Literal['gravity', 'seismic', None])

N1: float
Mx1: float
Vy1: float
My1: float
Vx1: float
N9: float
Mx9: float
Vy9: float
My9: float
Vx9: float
case: Literal['gravity', 'seismic', None] = None
class simdesign.rcmrf.bdim.baselib.column.ColumnEnvelopeForces(N1_neg, N1_pos, Mx1_neg, Mx1_pos, Vy1, My1_neg, My1_pos, Vx1, N9_neg, N9_pos, Mx9_neg, Mx9_pos, Vy9, My9_neg, My9_pos, Vx9)[source]

Bases: object

Data class for storing element envelope forces.

Variables:
  • N1_neg (float) – Negative axial force envelope (maximum compression force) at 1st gauss point (start-section).

  • N1_pos (float) – Positive axial force envelope (maximum tension force) at 1st gauss point (start-section).

  • Mx1_neg (float) – Negative moment envelope around local-x at 1st gauss point (start-section).

  • Mx1_pos (float) – Positive moment envelope around local-x at 1st gauss point (start-section).

  • Vy1 (float) – Shear force envelope in local-y at 1st gauss point (start-section).

  • My1_neg (float) – Negative moment envelope around local-y at 1st gauss point (start-section).

  • My1_pos (float) – Positive moment envelope around local-y at 1st gauss point (start-section).

  • Vx1 (float) – Shear force envelope in local-x at 1st gauss point (start-section).

  • N9_neg (float) – Negative axial force envelope (maximum compression force) at 9th gauss point (end-section).

  • N9_pos (float) – Positive axial force envelope (maximum tension force) at 9th gauss point (end-section).

  • Mx9_neg (float) – Negative moment envelope around local-x at 9th gauss point (end-section).

  • Mx9_pos (float) – Positive moment envelope around local-x at 9th gauss point (end-section).

  • Vy9 (float) – Shear force envelope in local-y at 9th gauss point (end-section).

  • My9_neg (float) – Negative moment envelope around local-y at 9th gauss point (end-section).

  • My9_pos (float) – Positive moment envelope around local-y at 9th gauss point (end-section).

  • Vx9 (float) – Shear force envelope in local-x at 9th gauss point (end-section).

Parameters:
  • N1_neg (float)

  • N1_pos (float)

  • Mx1_neg (float)

  • Mx1_pos (float)

  • Vy1 (float)

  • My1_neg (float)

  • My1_pos (float)

  • Vx1 (float)

  • N9_neg (float)

  • N9_pos (float)

  • Mx9_neg (float)

  • Mx9_pos (float)

  • Vy9 (float)

  • My9_neg (float)

  • My9_pos (float)

  • Vx9 (float)

N1_neg: float
N1_pos: float
Mx1_neg: float
Mx1_pos: float
Vy1: float
My1_neg: float
My1_pos: float
Vx1: float
N9_neg: float
N9_pos: float
Mx9_neg: float
Mx9_pos: float
Vy9: float
My9_neg: float
My9_pos: float
Vx9: float
class simdesign.rcmrf.bdim.baselib.column.ColumnBase(line, section, gamma_rc)[source]

Bases: ABC

Abstract base class for columns.

Must be inherited by design-class-specific columns.

Variables:
  • steel (SteelBase) – Steel material.

  • concrete (ConcreteBase) – Concrete material.

  • bx (float) – Breadth (width) along global X.

  • by (float) – Breadth (width) along global Y.

  • section (Literal[1, 2]) – Column cross-section type: 1: square solid section. 2: rectangular solid section.

  • line (Line) – Line representation of column (tag and points).

  • gamma_rc (float) – Reinforced concrete unit weight.

  • pre_Nq_pos (float) – Expected axial force due to variable loads (factored for position).

  • pre_Ng_pos (float) – Expected axial force due to permanent loads (factored for position).

  • pre_Nq (float) – Expected axial force due to variable loads (unfactored).

  • pre_Ng (float) – Expected axial force due to permanent loads (unfactored).

  • pre_Nd (float) – Expected preliminary design axial force.

  • orient (Literal['x', 'y', None]) – Direction of greater dimension in global axis.

  • ok_x (bool) – Flag to check section adequacy in x direction.

  • ok_y (bool) – Flag to check section adequacy in y direction.

  • pre_bx (float) – Preliminary design breadth (width) along global X.

  • pre_by (float) – Preliminary design breadth (width) along global Y.

  • cover (float) – Concrete cover.

  • Aslx_req (float) – Required longitudinal reinforcement area at bottom or top side of the section. In other words, required area of bars distributed along -x on one side.

  • Asly_req (float) – Required longitudinal reinforcement area at left or right side of the section. In other words, required area of bars distributed along -y on one side.

  • Ashx_sbh_req (float) – Required ratio of transverse reinforcement area along -x axis (i.e., parallel to -x axis) to the bar spacing.

  • Ashy_sbh_req (float) – Required ratio of transverse reinforcement area along -y axis (i.e., parallel to -y axis) to the bar spacing.

  • dbl_cor (float) – Diameter of corner longitudinal bars (reinforcement).

  • dbl_int (float) – Diameter of internal longitudinal bars (reinforcement).

  • nblx_int (int) – Number of internal longitudinal bars at bottom or top side of the section. In other words, half of the total number of internal bars distributed along X (on one side).

  • nbly_int (int) – Number of internal longitudinal bars at left or right side of the section. In other words, half of the total number of internal bars distributed along Y (on one side).

  • dbh (float) – Diameter of horizontal bars (transverse reinforcement).

  • sbh (float) – Spacing of horizontal bars (transverse reinforcement).

  • nbh_x (float) – Number of horizontal bars (stirrup legs) along -x axis.

  • nbh_y (float) – Number of horizontal bars (stirrup legs) along -y axis.

  • MAX_B_SQUARE (float) – The default maximum square column dimension.

  • MAX_B_RECTANGLE (float) – The default maximum rectangular column dimension.

  • MIN_B_SQUARE (float) – The default minimum square column dimension.

  • MIN_B_RECTANGLE (float) – The default minimum rectangular column dimension.

  • BX_INCR (float) – Controls amount of bx increase in design iterations.

  • BY_INCR (float) – Controls amount of by increase in design iterations.

  • forces (Dict[str, ColumnForces]) – Dictionary containing forces obtained from unique load cases (in load combos), e.g., ‘G’, ‘Q’, ‘E+X’, ‘E-X’, ‘E+Y’, ‘E-Y’.

  • design_forces (List[ColumnForces]) – List of forces obtained each load combination (design forces).

  • fc_q (float) – In-situ (quality adjusted) concrete compressive strength.

  • fsyl_q (float) – In-situ (quality adjusted) longitudinal reinforcement yield strength.

  • fsyh_q (float) – In-situ (quality adjusted) transverse reinforcement yield strength.

  • sbh_q (float) – In-situ (quality adjusted) spacing of transverse bars.

  • dbh_q (float) – In-situ (quality adjusted) diameter of transverse bars.

  • nbh_x_q (float) – In-situ (quality adjusted) number of horizontal bars (stirrup legs) along -x axis.

  • nbh_y_q (float) – In-situ (quality adjusted) number of horizontal bars (stirrup legs) along -y axis.

  • cover_q (float) – In-situ (quality adjusted) concrete cover.

  • dbl_cor_q (float) – In-situ (quality adjusted) diameter of corner longitudinal bars.

  • dbl_int_q (float) – In-situ (quality adjusted) diameter of internal longitudinal bars.

  • nblx_int_q (int) – In-situ (quality adjusted) number of internal longitudinal bars at bottom or top side of the section.

  • nbly_int_q (int) – In-situ (quality adjusted) number of internal longitudinal bars at left or right side of the section.

  • position_factor (float) – Position factor considered to account for the column axial force increase during seismic loading.

  • hinge_Nq (float) – Expected axial force due to variable loads in nonlinear model (used in hinge calculations).

  • hinge_Ng (float) – Expected axial force due to permanent loads in nonlinear model (used in hinge calculations).

Parameters:
  • line (Line)

  • section (Literal[1, 2])

  • gamma_rc (float)

Notes

Section view:

Y (2)
|__X (1)
    --------------    ----
    |     y      |    |
    |     |      |    |
    |     +--x   |    by
    |            |    |
    |            |    |
    --------------    ----
    |---- bx ----|
steel: SteelBase
concrete: ConcreteBase
pre_Nq_pos: float
pre_Ng_pos: float
pre_Nq: float
pre_Ng: float
pre_Nd: float
pre_bx: float
pre_by: float
cover: float
Aslx_req: float
Asly_req: float
Ashx_sbh_req: float
Ashy_sbh_req: float
dbl_cor: float
dbl_int: float
nblx_int: int
nbly_int: int
dbh: float
sbh: float
nbh_x: float
nbh_y: float
MAX_B_SQUARE: float = 0.8
MAX_B_RECTANGLE: float = 1.3
MIN_B_SQUARE: float = 0.25
MIN_B_RECTANGLE: float = 0.25
BX_INCR: float = 0.05
BY_INCR: float = 0.05
design_forces: List[ColumnForces]
fc_q: float
fsyl_q: float
fsyh_q: float
sbh_q: float
dbh_q: float
nbh_x_q: float
nbh_y_q: float
cover_q: float
dbl_cor_q: float
dbl_int_q: float
nblx_int_q: int
nbly_int_q: int
position_factor: float
hinge_Nq: float
hinge_Ng: float
line: Line
section: Literal[1, 2]
gamma_rc: float
bx: float
by: float
ok_x: bool
ok_y: bool
orient: Literal['x', 'y', None]
forces: Dict[str, ColumnForces]
property fck: float

Characteristic concrete compressive strength (in base units).

Returns:

Characteristic concrete compressive strength (in base units).

Return type:

float

property fsyk: float

Characteristic steel yield strength (in base units).

Returns:

Characteristic steel yield strength (in base units).

Return type:

float

property fsym: float

Mean steel yield strength (in base units).

Returns:

Mean steel yield strength (in base units).

Return type:

float

property fcd: float

Design value of concrete compressive strength (in base units).

Returns:

Design value of concrete compressive strength (in base units).

Return type:

float

property fcm: float

Mean value of concrete compressive strength (in base units).

Returns:

Mean value of concrete compressive strength (in base units).

Return type:

float

property fsyd: float

Design value of steel yield strength (in base units).

Returns:

Design value of steel yield strength (in base units).

Return type:

float

property Ecm: float

Mean elastic Young’s modulus of concrete (in base units).

Returns:

Mean elastic Young’s modulus of concrete (in base units).

Return type:

float

property Ecd: float

Design elastic Young’s modulus of concrete (in base units).

Returns:

Design elastic Young’s modulus of concrete (in base units).

Return type:

float

property Gcm: float

Mean value of elastic shear modulus of concrete (in base units).

Returns:

Mean value of elastic shear modulus of concrete (in base units).

Return type:

float

property Gcd: float

Design value of elastic shear modulus of concrete (in base units).

Returns:

Design value of elastic shear modulus of concrete (in base units).

Return type:

float

property Es: float

Elastic Young’s modulus of steel (in base units).

Returns:

Elastic Young’s modulus of steel (in base units).

Return type:

float

property Ag: float

Gross area of the column cross-section.

Returns:

Gross area of the column cross-section.

Return type:

float

property Ix: float

Column moment of inertia around x-axis.

Returns:

Column moment of inertia around x-axis.

Return type:

float

property Iy: float

Column moment of inertia around y-axis.

Returns:

Column moment of inertia around y-axis.

Return type:

float

property Ix_eff: float

Effective (cracked) column moment of inertia around x-axis.

Returns:

Effective (cracked) column moment of inertia around x-axis.

Return type:

float

property Iy_eff: float

Effective (cracked) column moment of inertia around y-axis.

Returns:

Effective (cracked) column moment of inertia around y-axis.

Return type:

float

property H: float

Column height.

Returns:

Column height.

Return type:

float

property J: float

Column second polar moment of area.

Returns:

Column second polar moment of area.

Return type:

float

property self_wg: float

Column unit weight per length.

Returns:

Column unit weight per length.

Return type:

float

property elastic_nodes: List[Point]

Column element nodes (points) in elastic model.

Returns:

Column element nodes (points) in elastic model.

Return type:

List[Point]

property max_b: float

Computed maximum allowed column dimension.

Returns:

Computed maximum allowed column dimension.

Return type:

float

property min_b: float

Computed minimum allowed column dimension.

Returns:

Computed minimum allowed column dimension.

Return type:

float

property rhol_max: float

Maximum allowed longitudinal reinforcement ratio.

Returns:

Maximum allowed longitudinal reinforcement ratio.

Return type:

float

property rhol_min: float

Minimum longitudinal reinforcement ratio.

Returns:

Minimum longitudinal reinforcement ratio.

Return type:

float

property rhol: float

Longitudinal reinforcement area ratio.

Returns:

Longitudinal reinforcement area ratio.

Return type:

float

property rhoh_x: float

Transverse reinforcement area (in x) ratio.

Returns:

Transverse reinforcement area (in x) ratio.

Return type:

float

property rhoh_y: float

Transverse reinforcement area (in y) ratio.

Returns:

Transverse reinforcement area (in y) ratio.

Return type:

float

property envelope_forces: ColumnEnvelopeForces

Envelope forces computed from design_forces.

Returns:

Envelope forces computed from design_forces.

Return type:

ColumnEnvelopeForces

restore_dimensions()[source]

Restore column dimension attributes.

bx, by

Return type:

None

set_restore_point()[source]

Set the restore point for specific column attributes.

bx, by, steel, concrete

Return type:

None

increase_dimensions()[source]

Method used for increasing dimensions of inadequate sections.

Used in design iterations. Can be overwritten for each design class.

Return type:

None

apply_section_compatibility()[source]

Modifies the section dimensions for compatibility with section type. i.e., square (1), rectangle (2).

Used in design iterations. Can be overwritten for each design class.

Return type:

None

predesign_section_dimensions()[source]

Make an initial guess for column section dimensions.

Notes

It can be overwritten for specific design classes.

Return type:

None

validate_section_dimensions()[source]

Method for validating section dimensions against maximum.

Return type:

None

validate_longitudinal_reinforcement()[source]

Method for validating longitudinal reinforcement against maximum.

This method is intended to run after determining column rebars.

Return type:

None

validate_transverse_reinforcement()[source]

Method for validating transverse reinforcement.

This method is intended to run after determining column rebars.

Return type:

None

get_mrdx(**kwargs)[source]

Computes the design value of moment of resistance around local x.

This method can be overwritten for specific design class.

Parameters:

Ned (float) – Mean axial force on column.

Returns:

Design value of moment of resistance around local x.

Return type:

float

get_mrdy(**kwargs)[source]

Computes the design value of moment of resistance around local y.

This method can be overwritten for specific design class.

Parameters:

Ned (float) – Mean axial force on column.

Returns:

Design value of moment of resistance around local y.

Return type:

float

abstractmethod verify_section_adequacy()[source]

Abstract method for verifying adequacy of section dimensions.

Return type:

None

abstractmethod compute_required_longitudinal_reinforcement()[source]

Abstract method for computing required longitudinal reinforcement.

Final solution is determined after finding rebar solution to meet the detailing requirements.

Return type:

None

abstractmethod compute_required_transverse_reinforcement()[source]

Abstract method for computing required transverse reinforcement.

Final solution is determined after finding rebar solution to meet the detailing requirements.

Return type:

None