import os from misc_utils import log_messages as lmsg __author__ = "Luis Claudio Pérez Tato (LCPT" __copyright__ = "Copyright 2019, LCPT" __license__ = "GPL" __version__ = "3.0" __email__ = "*****@*****.**" #Example in R26.4.2.3 of ACI 318-14 rebar = '#7' rebarDiam = ACI_materials.standard_bars_diameters[rebar] clearCover = 2.0 * rebarDiam cCover = clearCover + rebarDiam / 2.0 rebarController = ACI_limit_state_checking.RebarController( psi_t=1.0, concreteCover=cCover) confinementTerm = rebarController.getConfinementTerm(rebarDiam) ratio1 = (confinementTerm - 2.5) / 2.5 # Example in R26.4.2.2 of ACI 318-14 but using # expression (25.4.2.3a). concrete = ACI_materials.c4000 reinfSteel = ACI_materials.A615G60 ld = rebarController.getBasicAnchorageLength(concrete, rebarDiam, reinfSteel) ldRef = 28.5509262607 * rebarDiam ratio2 = (ld - ldRef) / ldRef ''' print('confinementTerm= ', confinementTerm) print('ld= ', ld/rebarDiam,'d_b')
#of a beam element reinfSteel= ACI_materials.A615G60 reinfSteel.gammaS= 1.0/0.75 beamRCsect= element_section_map.RCSlabBeamSection(name='beamRCsect',sectionDescr='beam section',concrType=concr, reinfSteelType=reinfSteel,width= sectionGeometry.b,depth= sectionGeometry.h) beamRCsect.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([reinfLayer]) beamRCsect.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([reinfLayer]) beamRCsect.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([reinfLayer]) beamRCsect.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([reinfLayer]) sections.append(beamRCsect) # Spatial distribution of reinforced concrete # sections (assign RC sections to elements). reinfConcreteSectionDistribution.assign(elemSet=totalSet.getElements,setRCSects=beamRCsect) #Checking shear. lsd.shearResistance.controller= ACI_limit_state_checking.ShearController(limitStateLabel= lsd.shearResistance.label) lsd.shearResistance.controller.analysisToPerform= predefined_solutions.plain_newton_raphson lsd.normalStressesResistance.outputDataBaseFileName= 'resVerif' outCfg= lsd.VerifOutVars(listFile='N',calcMeanCF='Y') (FEcheckedModel,meanFCs)= reinfConcreteSectionDistribution.runChecking(lsd.shearResistance, matDiagType="d",threeDim= True,outputCfg=outCfg) #print("mean FCs: ", meanFCs) meanFC0Teor= 0.932218036004 ratio1= abs(meanFCs[0]-meanFC0Teor)/meanFC0Teor meanFC1Teor= 0.932218036004 ratio2= abs(meanFCs[1]-meanFC1Teor)/meanFC1Teor '''
from misc_utils import log_messages as lmsg __author__ = "Luis Claudio Pérez Tato (LCPT" __copyright__ = "Copyright 2019, LCPT" __license__ = "GPL" __version__ = "3.0" __email__ = "*****@*****.**" concrete = ACI_materials.ACIConcrete(concreteName="C35", fck=-35e6, gammaC=1.0) reinfSteel = ACI_materials.A615G60 reinfSteel.gammaS = 1.0 corbel = lsc.Corbel(concrete, reinfSteel, width=0.3, thickness=0.5, depth=0.45, Asc=1e-4, Ah=849e-6) Vd = 370e3 Nd = 75e3 av = 0.1 Vn_cap = corbel.getNominalVerticalLoadCapacity() ratio1 = abs(Vn_cap - 824780.2536) / 824780.2536 CF_v = corbel.getShearCapacityFactor(Vd) ratio2 = abs(CF_v - 1.00330812893) / 1.00330812893 Asc = corbel.getRequiredPrimaryReinforcement(Vd, Nd, av) ratio3 = abs(Asc - 583.248024779e-6) / 583.248024779e-6 Asc_min = corbel.getMinimumPrimaryReinforcement(Vd, Nd, av)
lSqrtFck = concrete.getLambdaSqrtFck() lSqrtFckRef = 63.246 * ACI_materials.toPascal ratio1 = abs(lSqrtFck - lSqrtFckRef) / lSqrtFckRef bw = 12 * 0.0254 # 12 in d = 15 * 0.0254 # 15 in section = defSimpleRCSection.RecordRCSimpleSection(name='test', concrType=concrete, reinfSteelType=reinfSteel, width=bw, depth=d / 0.9) section.shReinfY = defSimpleRCSection.RecordShearReinforcement( nShReinfBranches=1.0, areaShReinfBranch=0.592 * 0.0254**2, shReinfSpacing=1.0 * 0.3048) shearController = lsc.ShearController(lsd.shearResistance.label) shearController.setSection(section) Vc = shearController.getVcNoShearRebars(Nd=0.0) VcRef = 17.076 * 4.4482216e3 / 0.75 # kip->N ratio2 = abs(Vc - VcRef) / VcRef Vmax = shearController.getV_max(Nd=0.0) VmaxRef = 85.381 * 4.4482216e3 ratio3 = abs(Vmax - VmaxRef) / VmaxRef ratio4 = abs(0.0004774184 - section.shReinfY.getAs() * shearController.effectiveDepth) / 0.0004774184 Vu = shearController.getVu(Nd=0.0) VuRef = 50.4 * 4.4482216e3
__email__= "*****@*****.**" #units in2m= 0.0254 m2in=1/in2m feet2meter= 0.3048 kip2N= 4.4482216e3 ksi2MPa= 6.89476 lb2N=4.4482216 N2lb=1/lb2N # Data ## Applied factored external load Vua=6*kip2N ## Stud definition stud= ACI_limit_state_checking.AnchorBolt(ca1= 10*in2m,ca2= 18*in2m,ha= 18*in2m, concrete= ACI_materials.c4000, steel= ACI_materials.A108, diam= 0.5*in2m, hef= 3.06*in2m, cast_in= True) ### where: #### 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 is applied 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. # End data #Calculate the nominal strength of the anchor in shear (art. D.6.1.) Vsa=stud.getSteelStrengthShear() Vsa_kips=Vsa/kip2N
m2in = 1 / in2m ft2m = 0.3048 kip2N = 4.4482216e3 ksi2MPa = 6.89476 lb2N = 4.4482216 N2lb = 1 / lb2N N2kip = 1 / kip2N # Data Nua = 8 * kip2N #applied factored external tension load using load factors from Appendix C of the Code. Vua = 6 * kip2N #applied factored external shear load using load factors from Appendix C of the Code. ## Stud definition stud = ACI_limit_state_checking.AnchorBolt(ca1=12 * in2m, ca2=20 * in2m, ha=18 * in2m, concrete=ACI_materials.c4000, steel=ACI_materials.A108, diam=5 / 8 * in2m, hef=6.63 * in2m, cast_in=True) ### where: #### 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 is applied 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. # End data #TENSION