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 318-14.

getEpsc2()

return strain (<0) at peak stress at parabola-rectangle diagram (figure 6-8 of Portland Cement Association PCA notes on ACI 318-99)

getEpscu2()

return nominal ultimate strain [-] at parabola-rectangle diagram according to clause 22.2.2.1 of ACI 318-14

getFctm()

Fctm: mean tensile strength [Pa][+] (according to ACI 318-14 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 318-14.

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 318-14.

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 318-14.

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 318-14.

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 349-97

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 direc-tion 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 cast-in anchor false for post-installed 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 half-pyramid projected on the side face of the member where the top of the half-pyramid 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 half-pyramid 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. ACI-349.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 ACI-31 are used,

    False if load combinations of art. 9.2. of ACI-31 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)
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 ACI-31 are used, False if load combinations of art. 9.2. of ACI-31 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. ACI-349.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 ACI-349.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. ACI-349.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 318-14.

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 318-14.
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 318-14.
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 318-14.

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 318-14.
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 – center-to-center spacing of bars or wires being developed, in.
getBasicAnchorageLength(concrete, phi, steel)

Returns anchorage length in tension according to ACI-318 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 318-14.
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 cross-sectional 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 318-14.
Parameters:
  • n – number of bars or wires being developed or lap spliced along the plane of splitting.
  • Atr – total cross-sectional 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 318-14.
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 318-14.
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 318-14.
Parameters:Nd – design axial force.
getVu(Nd)
Return the shear strength of the concrete section
according to clause 16.5.2.3 of ACI 318-14.
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 318-14

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 318-14.

getMaximumShearTransferStrength(Ac)

Return the maximum shear-transfer strength permitted across a shear plane monolithically according to table 22.9.4.4 of ACI-318-14

Parameters:Ac – area of the shear plane.
getNominalShearStrength()

Return the nominal shear strength according to section 22.9.4.3 of ACI 318-14.

getShearCapacityFactor(Vd)

Return the capacity factor for shear according to section 16.5.4.4 of ACI 318-14.

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 318-14.
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 318-14.
Parameters:
  • concrete – concrete material.
  • Nd – design axial force.
  • b – width of the rectangular section.
  • d – effective thickness of the RC section.