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:
objectData 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:
objectData 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:
ABCAbstract 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
bxincrease in design iterations.BY_INCR (float) – Controls amount of
byincrease 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 ----|- 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
- 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:
- 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