Materials according to ACI codes¶
ACI materials¶
Reinforced concrete materials according to ACI 318. VERIFICATION TESTS REQUIRED!!!.

class
materials.aci.ACI_materials.
ACIConcrete
(concreteName, fck, gammaC, Lambda=1.0)¶ Bases:
materials.concrete_base.Concrete
Concrete model according to ACI 318
Variables: Lambda – modification factor to reflect the reduced mechanical properties of lightweight concrete relative to normalweight concrete of the same compressive strength. 
getEcm
()¶ Longitudinal secant modulus of deformation at 28 days expressed in [Pa] [+] according to expression 19.2.2.1.b of ACI 31814.

getEpsc2
()¶ return strain (<0) at peak stress at parabolarectangle diagram (figure 68 of Portland Cement Association PCA notes on ACI 31899)

getEpscu2
()¶ return nominal ultimate strain [] at parabolarectangle diagram according to clause 22.2.2.1 of ACI 31814

getFctm
()¶ Fctm: mean tensile strength [Pa][+] (according to ACI 31814 R14.3.2.1 )

getLambdaSqrtFck
()¶ return the product: Lambda*math.sqrd(fck).

getSqrtFck
()¶ return the product: Lambda*math.sqrd(fck).


materials.aci.ACI_materials.
findNumberByArea
(area)¶

materials.aci.ACI_materials.
getPsi_sFromBarNumber
(barNumber)¶ Return factor used to modify development length based on reinforcement size according to table 25.4.2.4 of ACI 31814.

materials.aci.ACI_materials.
getPsi_sFromDiameter
(phi)¶ Return factor used to modify development length based on reinforcement size according to table 25.4.2.4 of ACI 31814.
Parameters: phi – bar diameter.
ACI limit state checking¶

class
materials.aci.ACI_limit_state_checking.
ACIDoubleRebarFamily
(f1, f2)¶ Bases:
materials.sections.rebar_family.DoubleRebarFamily
Two reinforcement bars families.

getCopy
(barController)¶

getVR
(concrete, Nd, Md, b, thickness)¶ Return the shear resistance of the ‘b x thickness’ rectangular section.
Parameters:  concrete – concrete material.
 Nd – design axial force.
 Md – design bending moment.
 b – width of the rectangular section.
 thickness – height of the rectangular section.

writeRebars
(outputFile, concrete, AsMin)¶ Write rebar family data.


class
materials.aci.ACI_limit_state_checking.
ACIFamNBars
(steel, n, barNumber, spacing, concreteCover)¶ Bases:
materials.aci.ACI_limit_state_checking.ACIRebarFamily

n
= 2¶

writeDef
(outputFile, concrete)¶


class
materials.aci.ACI_limit_state_checking.
ACIRebarFamily
(steel, barNumber, spacing, concreteCover)¶ Bases:
materials.sections.rebar_family.RebarFamily
Family or reinforcement bars with checking according to ACI 31814.
Variables:  barNumber – bar number in ACI 318 code.
 psi_t – reinforcement location factor; “concrete below” is taken as the depth from the rebar center to the bottom of the concrete section. * 1.3 for concrete below ≥ 12 inches * 1.0 for concrete below < 12 inches
 psi_e –
coating factor * 1.5 for epoxy coated bars with cover (to center of bar)
less than 3db (spacing is not calculated) 1.2 for all other epoxy coated bars
 1.0 for uncoated bars

getBasicAnchorageLength
(concrete)¶ Return the basic anchorage length of the bars.

getCopy
(barController)¶

getMinReinfAreaUnderFlexion
(thickness, b=1.0, type='slab', concrete=None)¶  Return the minimun amount of bonded reinforcement to control cracking
 for reinforced concrete sections under flexion per unit length according to clauses 7.6.1.1, 8.6.1.1, 9.6.1.2, 10.6.1.1, 11.6.1, 12.6.1
Parameters:  thickness – gross thickness of concrete section (doesn’t include the area of the voids).
 b – width of concrete section.
 type – member type; slab, wall, beam or column.
 concrete – concrete material

getMinReinfAreaUnderTension
(thickness, type='slab', concrete=None)¶  Return the minimun amount of bonded reinforcement to control cracking
 for reinforced concrete sections under tension.
Parameters:  thickness – gross thickness of concrete section (doesn’t include the area of the voids).
 type – member type; slab, wall, beam or column.
 concrete – concrete material

getRebarController
()¶

getVR
(concrete, Nd, Md, b, thickness)¶ Return the shear resistance carried by the concrete on a (b x thickness) rectangular section according to clause 22.5.5.1 of ACI 31814.
Parameters:  concrete – concrete material.
 Nd – design axial force.
 Md – design bending moment.
 b – width of the rectangular section.
 thickness – height of the rectangular section.

writeRebars
(outputFile, concrete, AsMin)¶ Write rebar family data.

class
materials.aci.ACI_limit_state_checking.
AnchorBolt
(ca1, ca2, ha, concrete, steel, diam, hef, cast_in=False)¶ Bases:
object
Anchor bolt design according to ACI 34997
Variables:  ca1 – distance from the center of an anchor shaft to the edge of concrete in one direction. If shear is applied to anchor, ca1 is taken in the direction of the applied shear. If the tension isapplied to the anchor, ca1 is the minimum edge distance.
 ca2 – distance from center of an anchor shaft to the edge of concrete in the direction orthogonal to ca1.
 ha – thickness of member in which an anchor is located, measured parallel to anchor axis.
 concrete – concrete material.
 steel – anchor steel.
 diam – anchor diameter.
 hef – effective embedment depth of anchor.
 cast_in – true if castin anchor false for postinstalled anchors.

getANc
()¶ Return the projected concrete failure area of a single anchor that shall be approximated as the base of the rectilinear geometrical figure that results from projecting the failure surface outward 1.5hef from the centerlines of the anchor, or in the case of a group of anchors, from a line through a row of adjacent anchors. Note: For now, only single stud away from edge case is considered

getANco
()¶ he projected concrete failure area of a single anchor with an edge distance equal to or greater than 1.5hef

getAnchorArea
()¶ Return the anchor area.

getAvc
()¶ Return the projected area the projected area of the failure surface on the side of the concrete member at its edge for a single anchor. It is evaluated as the base of a truncated halfpyramid projected on the side face of the member where the top of the halfpyramid is given by the axis of the anchor row selected as critical. Only case when edges are supposed far enough away in considered (see article D.6.2.1 for other cases).

getAvco
()¶ Return the projected area for a single anchor in a deep member with a distance from edges equal or greater than 1.5ca1 the direction perpendicular to the shear force. It is evaluated as the base of a halfpyramid with a side length parallel to the edge of 3ca1 and a depth of 1.5ca1

getBasicConcreteBreakoutStrengthTension
()¶ Return the asic concrete breakout strength of a single anchor in tension in cracked concrete.

getBasicConrBreakoutStrengthShear
()¶ Return the basic concrete breakout strength in shear of a single anchor in cracked concrete.

getConcrBreakoutStrengthShear
(ShForcPerp=True, cracking=True, reinfBarDiam=0)¶  Return the nominal concrete breakout strength in shear of a single
anchor (art. D.6.2. ACI349.2R)
param ShForcPerp: True for shear force perpendicular to the edge, False for shear force parallel to the edge
Parameters:  cracking – True for anchors located in a region of a concrete member where analysis indicates cracking. (Defaults to True)
 reinfBarDiam – Diameter of the inforcement bars (Defaults to 0 == no reinforcement)

getConcrBreakoutStrengthTension
(cracking=True)¶ Return the nominal concrete breakout strength of a single anchor in tension
Parameters: cracking – True for anchors located in a region of a concrete member where analysis indicates cracking. (Defaults to True)

getDesignSteelStrength
()¶ Return the design steel strength of the anchor according to section D.3.6.1.

getDesignStrengthShear
(ductility, loadCombAlt=False, sleeveTrhShearPlane=True, ShForcPerp=True, cracking=True, reinfBarDiam=0)¶ Return the design strength of a single anchor in shear. It must be greater than the factored applied load. Strength reduction factors are based on art. D.4.5.
Parameters:  ductility –
True if ductile steel element, False if brittle steel element :param loadCombAlt: True if load combinations of Appendix C of ACI31 are used,
False if load combinations of art. 9.2. of ACI31 are used (defaults to False)  sleeveTrhShearPlane –
 True if sleeves extend through the shear
 plane (defaults to True)
param ShForcPerp: True for shear force perpendicular to the edge, False for shear force parallel to the edge  cracking – True for anchors located in a region of a concrete member where analysis indicates cracking. (Defaults to True)
 reinfBarDiam – Diameter of the inforcement bars (Defaults to 0 == no reinforcement)
 ductility –

getDesignStrengthTension
(Abearing, ductility, loadCombAlt=False, cracking=True, reinfBarDiam=0)¶ Return the design strength of a single anchor in tension. It must be greater than the factored applied load. Strength reduction factors are based on art. D.4.5.
Parameters:  Abearing – bearing area (see tables 4, 5, 6 Appendix A)
 ductility – True if ductile steel element, False if brittle steel element
 loadCombAlt – True if load combinations of Appendix C of ACI31 are used, False if load combinations of art. 9.2. of ACI31 are used (defaults to False)
 cracking – True for anchors located in a region of a concrete member where analysis indicates cracking. (Defaults to True)
 reinfBarDiam – Diameter of the inforcement bars (Defaults to 0 == no reinforcement)

getFactorCrackingN
(cracking=True)¶ Return a modification factor depending on the cracking in concrete
Parameters: cracking – True for anchors located in a region of a concrete member where analysis indicates cracking. (Defaults to True)

getFactorCrackingV
(cracking=True, reinfBarDiam=0)¶ Return a modification factor depending on the cracking in concrete and the reinforcement.
Parameters:  cracking – True for anchors located in a region of a concrete member where analysis indicates cracking. (Defaults to True)
 reinfBarDiam – Diameter of the inforcement bars (Defaults to 0 == no reinforcement)

getFactorEdgeN
()¶ Return the modification factor for edge effect for a single anchor or group of anchors loaded in tension

getFactorEdgeV
()¶ Return the modification factor for edge effect for a single anchor or group of anchors loaded in shear

getFactorModifN
(cracking=True)¶

getFuta
()¶ Return the the tensile strength of an anchor that meets the tensile strength requirement futa <= min(1.9fya,125 ksi)

getNominalSteelStrengthTension
()¶ Return the nominal steel strength of the anchor according to section D.3.6.1.

getPryoutStrengthShear
(cracking=True)¶ Return the nominal pryout strength, for a single anchor in shear (article D.6.3. ACI349.2R) :param cracking: True for anchors located in a region of a concrete
member where analysis indicates cracking. (Defaults to True)

getPulloutStrengthTension
(Abearing, cracking=True)¶ Return the nominal pullout strength of a single anchor in tension to check head of the stud (article D.5.3 ACI349.2R)
Parameters:  Abearing – bearing area (see tables 4, 5, 6 Appendix A)
 cracking – True for anchors located in a region of a concrete member where analysis indicates cracking. (Defaults to True)

getSteelStrengthShear
(sleeveTrhShearPlane=True)¶ Return the nominal strength of an anchor in shear as governed by steel (art. D.6.1. ACI349.2R)
Parameters: sleeveTrhShearPlane – True if sleeves extend through the shear plane (defaults to True)

getStrengthDuctilityShear
(ShForcPerp=True, cracking=True, reinfBarDiam=0)¶ Return the design strength of a single anchor in shear to check ductility (if greater than the factored applied load > ductility OK.
Parameters:  ShForcPerp – True for shear force perpendicular to the edge, False for shear force parallel to the edge
 cracking – True for anchors located in a region of a concrete member where analysis indicates cracking. (Defaults to True)
 reinfBarDiam – Diameter of the inforcement bars (Defaults to 0 == no reinforcement)

getStrengthDuctilityTension
(Abearing, cracking=True)¶ Return the design strength of a single anchor in tension to check ductility (if greater than the factored applied load > ductility OK.
Parameters:  Abearing – bearing area (see tables 4, 5, 6 Appendix A)
 cracking – True for anchors located in a region of a concrete member where analysis indicates cracking. (Defaults to True)

class
materials.aci.ACI_limit_state_checking.
BiaxialBendingNormalStressController
(limitStateLabel)¶ Bases:
materials.limit_state_checking_base.BiaxialBendingNormalStressControllerBase
Object that controls normal stresses limit state.

class
materials.aci.ACI_limit_state_checking.
Corbel
(concrete, steel, width, thickness, depth, Asc, Ah, alpha=1.5707963267948966, lambda_c=1.0, monolithic=True, contact_condition='a')¶ Bases:
materials.aci.ACI_limit_state_checking.ShearPlane
Reinforcing concrete corbel design to ACI 318
Variables:  width – width of corbel.
 thickness – total thickness of corbel.
 depth – depth to main reinforcement.

getAn
(Nd)¶ Return the area or the required reinforcement according to section 16.5.4.3 of ACI 31814.
Parameters: Nd – design value of axial load.

getBendingMoment
(Vd, Nd, av)¶ Return the bending moment on the corbel.
Parameters:  Vd – design value of vertical load.
 Nd – design value of axial load.
 av – eccentricity of the vertical load with respect to the corbel shear plane.

getMinimumPrimaryReinforcement
(Vd, Nd, av)¶  Return the minimum area of the primary reinforcement
 according to section 16.5.5.1 of ACI 31814.
Parameters:  Vd – design value of vertical load.
 Nd – design value of axial load.
 av – eccentricity of the vertical load with respect to the corbel shear plane.

getMinimumShearReinforcement
(Vd, Nd, av)¶  Return the minimum area of shear reinforcement
 according to section 16.5.5.2 of ACI 31814.
Parameters:  Vd – design value of vertical load.
 Nd – design value of axial load.
 av – eccentricity of the vertical load with respect to the corbel shear plane.

getNominalVerticalLoadCapacity
()¶ Return the nominal vertical load capacity of the corbel according to section 16.5.2.4 of ACI 31814.

getRequiredPrimaryReinforcement
(Vd, Nd, av)¶  Return the area or the required reinforcement
 according to sections 16.5.4.3 and 16.5.4.5 of ACI 31814.
Parameters:  Vd – design value of vertical load.
 Nd – design value of axial load.
 av – eccentricity of the vertical load with respect to the corbel shear plane.

class
materials.aci.ACI_limit_state_checking.
RebarController
(psi_t=1.3, psi_e=1.0, concreteCover=0.035, spacing=0.15)¶ Bases:
object
Control of some parameters as development length minimum reinforcement and so on.
Variables:  psi_t – reinforcement location factor; “concrete below” is taken as the depth from the rebar center to the bottom of the concrete section. * 1.3 for concrete below ≥ 12 inches * 1.0 for concrete below < 12 inches
 psi_e –
coating factor * 1.5 for epoxy coated bars with cover (to center of bar)
less than 3db (spacing is not calculated) 1.2 for all other epoxy coated bars
 1.0 for uncoated bars
 Ktr – transverse reinforcement index. Factor that represents the contribution of confining reinforcement across potential splitting planes; is conservatively assumed to be zero.
 concreteCover – the distance from center of a bar or wire to nearest concrete surface.
 spacing – centertocenter spacing of bars or wires being developed, in.

getBasicAnchorageLength
(concrete, phi, steel)¶ Returns anchorage length in tension according to ACI318 25.4.2.3.
Parameters:  concrete – concrete material.
 phi – nominal diameter of bar, wire, or prestressing strand.
 steel – reinforcement steel.

getConfinementTerm
(phi, n=1, Atr=0.0)¶  Return the confinement term as defined in clause 25.4.2.3
 of ACI 31814.
Parameters:  phi – nominal diameter of bar, wire, or prestressing strand.
 n – number of bars or wires being developed or lap spliced along the plane of splitting.
 Atr – total crosssectional area of all transverse reinforcement within spacing s that crosses the potential plane of splitting through the reinforcement being developed.

getKtr
(n=1, Atr=0.0)¶  Return the transverse reinforcing index according to
 clause 25.4.2.3 of ACI 31814.
Parameters:  n – number of bars or wires being developed or lap spliced along the plane of splitting.
 Atr – total crosssectional area of all transverse reinforcement within spacing s that crosses the potential plane of splitting through the reinforcement being developed.

class
materials.aci.ACI_limit_state_checking.
ShearController
(limitStateLabel)¶ Bases:
materials.limit_state_checking_base.ShearControllerBase
Object that controls shear limit state according to ACI 318.

calcVc
(Nd)¶  Computes the shear strength of the section without
 shear reinforcement.
Parameters:  concrete – concrete material.
 Nd – design axial force.

calcVu
(Nd)¶  Return the ultimate shear resistance carried by the concrete on
 a (b x thickness) rectangular section according to clause 22.5.1.2 of ACI 31814.
Parameters: Nd – design axial force.

check
(elements, nmbComb)¶  Check the shear strength of the RC section.
 Transverse reinforcement is not taken into account yet.

getV_max
(Nd)¶  Return the maximum shear resistance that can be carried by
 the concrete of the section according to clause 22.5.1.2 of ACI 31814.
Parameters: Nd – design axial force.

getVcNoShearRebars
(Nd)¶  Return the shear resistance carried by the concrete on a (b x thickness)
 rectangular section according to clause 22.5.5.1 of ACI 31814.
Parameters: Nd – design axial force.

getVu
(Nd)¶  Return the shear strength of the concrete section
 according to clause 16.5.2.3 of ACI 31814.
Parameters: Nd – design axial force.

setSection
(rcSection)¶


class
materials.aci.ACI_limit_state_checking.
ShearPlane
(concrete, steel, avf, alpha=1.5707963267948966, lambda_c=1.0, monolithic=True, contact_condition='a')¶ Bases:
object
Shear plane according to seciont 22.9 of ACI 31814
Variables:  phi – strength reduction factor
 concrete – concrete material.
 reinfSteel – reinforcement steel material.
 Avf – area of reinforcement crossing the shear plane.
 alpha – angle between the reinforcement and the shear plane.
 lambda_c – 1.0 for normal weight concrete
 monolithic – true if no construction joint in the shear plane.
 contact_condition – contact condition as in table 22.9.4.2

getCoefficientOfFriction
()¶ Return the coefficient of friction according to table 22.9.4.2 for ACI 31814.

getMaximumShearTransferStrength
(Ac)¶ Return the maximum sheartransfer strength permitted across a shear plane monolithically according to table 22.9.4.4 of ACI31814
Parameters: Ac – area of the shear plane.

getNominalShearStrength
()¶ Return the nominal shear strength according to section 22.9.4.3 of ACI 31814.

getShearCapacityFactor
(Vd)¶ Return the capacity factor for shear according to section 16.5.4.4 of ACI 31814.
Parameters: Vd – design shear force.

phi
= 0.75¶

class
materials.aci.ACI_limit_state_checking.
UniaxialBendingNormalStressController
(limitStateLabel)¶ Bases:
materials.limit_state_checking_base.UniaxialBendingNormalStressControllerBase
Object that controls normal stresses limit state (uniaxial bending).

materials.aci.ACI_limit_state_checking.
V_max
(concrete, Nd, b, d)¶  Return the ultimate shear strength of the section
 a (b x thickness) rectangular section according to clause 22.5.1.2 of ACI 31814.
Parameters:  concrete – concrete material.
 Nd – design axial force.
 b – width of the rectangular section.
 d – effective thickness of the RC section.

materials.aci.ACI_limit_state_checking.
VcNoShearRebars
(concrete, Nd, b, d)¶  Return concrete shear capacity on a (b x thickness)
 rectangular section according to clause 22.5.5.1 of ACI 31814.
Parameters:  concrete – concrete material.
 Nd – design axial force.
 b – width of the rectangular section.
 d – effective thickness of the RC section.