def armaduraZonas(nZona, recNom, losaRC, cartIntRC, cartExtRC, volIntRC, volExtRC, arm1, arm2, arm4, arm5, arm6a, arm6b, arm7, arm8, arm9a, arm9b, arm10, arm1P, arm2P, arm3P, arm4P, cercos): '''armaduras definidas para una zona de armado. Diámetros armadura y separación en mm. nZona: nº zona armado recNom: recubrimiento arm1: losa, trasv inf. [diam,sep] arm2: cartabón, trasv inf. [diam,sep] arm4: voladizo, trasv inf. [diam,sep] arm5: losa, trasv sup. [diam,sep] arm6a: losa, long.inf. [diam,sep] arm6b: losa, long.inf.(2ª capa) [diam,sep]. Si=None, no aplica arm7: cartabón, long. inf. [diam,sep] arm8: voladizo, long. inf. [diam,sep] arm9a: losa, long. sup. [diam,sep] arm9b: losa, long. sup.(2ª capa) [diam,sep]. Si=None, no aplica arm10: voladizo, long. sup. [diam,sep] arm1P: refuerzo transversal inferior en riostra pila. Si=None, no aplica arm2P: refuerzo transversal superior en riostra pila. Si=None, no aplica arm3P: refuerzo transversal medio canto en riostra pila. Si=None, no aplica arm4P: cercos refuerzo cortante en riostra pila. Si=None, no aplica cercos: armadura de cortante en losa ''' #armaduras losa RCSet = losaRC[nZona - 1] armaduraLosa(RCSet, recNom, arm1, arm2, arm4, arm5, arm6a, arm6b, arm7, arm8, arm9a, arm9b, arm10, arm1P, arm2P, arm3P, arm4P, cercos) #armaduras cartabón RCSets = [cartIntRC[nZona - 1], cartExtRC[nZona - 1]] for RCSet in RCSets: RCSet.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(arm5[0], arm5[1], rnom)]) #transv. sup. RCSet.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(arm2[0], arm2[1], rnom)]) #transv. inf. RCSet.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(arm9a[0], arm9a[1], rnom + arm5[0])]) #long. sup. RCSet.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(arm7[0], arm7[1], rnom + arm2[0])]) #long. inf. if arm9b: RCSet.dir2PositvRebarRows.append( rcs.rebLayer_mm(arm9b[0], arm9b[1], rnom + arm5[0] + arm9a[0])) #long. sup. 2a. capa #armaduras voladizo RCSets = [volIntRC[nZona - 1], volExtRC[nZona - 1]] for RCSet in RCSets: RCSet.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(arm5[0], arm5[1], rnom)]) #transv. sup. RCSet.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(arm4[0], arm4[1], rnom)]) #transv. inf. RCSet.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(arm10[0], arm10[1], rnom + arm5[0])]) #long. sup. RCSet.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(arm8[0], arm8[1], rnom + arm4[0])]) #long. inf.
#reinforcement directions of a slab or the front and back ending sections #of a beam element losSupV2RCSects = element_section_map.RCSlabBeamSection( name='losSupV2RCSects', sectionDescr='losa aligerada, cara superior.', concrType=concrete, reinfSteelType=reinfSteel, depth=espLosAlig, elemSet=losSupV2) #D1: transversal rebars #D2: longitudinal rebars #positiv: top face #negativ: bottom face losSupV2RCSects.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(25, 400, rnom)]) losSupV2RCSects.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(20, 400, rnom + espLosAlig / 2.)]) losSupV2RCSects.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(16, 200, rnom + 20)]) losSupV2RCSects.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(12, 200, rnom + espLosAlig / 2.)]) losInfV2RCSects = element_section_map.RCSlabBeamSection( name='losInfV2RCSects', sectionDescr='losa aligerada, cara superior', concrType=concrete, reinfSteelType=reinfSteel, depth=espLosAlig, elemSet=losInfV2) #D1: transversal rebars
lRectEqPila=round(math.pi**0.5*diamPilas/2.,3) concrete=EHE_materials.HA30 reinfSteel= EHE_materials.B500S rnom=35 #recubrimiento nominal # ***Armadura pilas*** #Armadura longitudinal en cada cara de la pila lnPil=[16,50] #armadura longitudinal en cada cara de la pila # Cercos nramas_m=3 #nº de ramas en cada dirección diam_cercos=12 sep_long=250 cercosPil=[diam_cercos,nramas_m,sep_long] pilasRCSects=rcs.RecordRCSlabBeamSection(name='pilasRCSects',sectionDescr='pilas',concrType=concrete, reinfSteelType=reinfSteel,width=lRectEqPila,depth=lRectEqPila,elemSetName='pilas') pilasRCSects.dir1PositvRebarRows=[rcs.rebLayer_mm(lnPil[0],lnPil[1],rnom)] pilasRCSects.dir1NegatvRebarRows=[rcs.rebLayer_mm(lnPil[0],lnPil[1],rnom)] pilasRCSects.dir2PositvRebarRows=[rcs.rebLayer_mm(lnPil[0],lnPil[1],rnom)] pilasRCSects.dir2NegatvRebarRows=[rcs.rebLayer_mm(lnPil[0],lnPil[1],rnom)] pilasRCSects.dir1ShReinfZ=rcs.RecordShearReinforcement(familyName= "sh",nShReinfBranches=cercosPil[1],areaShReinfBranch= math.pi*(cercosPil[0]*1e-3)**2/4.,shReinfSpacing=cercosPil[2]*1e-3,angAlphaShReinf= math.pi/2.0,angThetaConcrStruts= math.pi/4.0) pilasRCSects.dir2ShReinfZ=rcs.RecordShearReinforcement(familyName= "sh",nShReinfBranches=cercosPil[1],areaShReinfBranch= math.pi*(cercosPil[0]*1e-3)**2/4.,shReinfSpacing=cercosPil[2]*1e-3,angAlphaShReinf= math.pi/2.0,angThetaConcrStruts= math.pi/4.0) pilasRCSects.dir1ShReinfY=rcs.RecordShearReinforcement(familyName= "sh",nShReinfBranches=cercosPil[1],areaShReinfBranch= math.pi*(cercosPil[0]*1e-3)**2/4.,shReinfSpacing=cercosPil[2]*1e-3,angAlphaShReinf= math.pi/2.0,angThetaConcrStruts= math.pi/4.0) pilasRCSects.dir2ShReinfY=rcs.RecordShearReinforcement(familyName= "sh",nShReinfBranches=cercosPil[1],areaShReinfBranch= math.pi*(cercosPil[0]*1e-3)**2/4.,shReinfSpacing=cercosPil[2]*1e-3,angAlphaShReinf= math.pi/2.0,angThetaConcrStruts= math.pi/4.0) # All this is made only to allow the # creation of the RCMaterialDistribution feProblem= xc.FEProblem() preprocessor= feProblem.getPreprocessor nodeHandler= preprocessor.getNodeHandler
def armaduraLosa(RCSet, recNom, arm1, arm2, arm4, arm5, arm6a, arm6b, arm7, arm8, arm9a, arm9b, arm10, ref1Inf, ref2Sup, ref3Mid, cercosRef, cercos): '''armaduras losa o riostra estribo. Diámetros armadura y separación en mm. arm1: losa, trasv inf. [diam,sep] arm2: cartabón, trasv inf. [diam,sep] arm4: voladizo, trasv inf. [diam,sep] arm5: losa, trasv sup. [diam,sep] arm6a: losa, long.inf. [diam,sep] arm6b: losa, long.inf.(2ª capa) [diam,sep]. Si=None, no aplica arm7: cartabón, long. inf. [diam,sep] arm8: voladizo, long. inf. [diam,sep] arm9a: losa, long. sup. [diam,sep] arm9b: losa, long. sup.(2ª capa) [diam,sep]. Si=None, no aplica arm10: voladizo, long. sup. [diam,sep] ref1Inf: refuerzo transversal inferior. Si=None, no aplica ref2Sup: refuerzo transversal superior. Si=None, no aplica ref3Mid: refuerzo transversal medio canto. Si=None, no aplica cercosRef: refuerzo cercos cercos: armadura de cortante en losa ''' RCSet.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(arm5[0], arm5[1], rnom)]) #transv. sup. RCSet.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(arm1[0], arm1[1], rnom)]) #transv. inf. RCSet.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(arm9a[0], arm9a[1], rnom + arm5[0])]) #long. sup. RCSet.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(arm6a[0], arm6a[1], rnom + arm1[0])]) #long. inf. recNomTrSup = rnom + arm5[0] + arm9a[0] if arm9b: RCSet.dir2PositvRebarRows.append( rcs.rebLayer_mm(arm9b[0], arm9b[1], recNomTrSup)) #long. sup. 2a. capa recNomTrSup += arm9b[0] if arm6b: RCSet.dir2NegatvRebarRows.append( rcs.rebLayer_mm(arm6b[0], arm6b[1], rnom + arm1[0] + arm6a[0])) #long. inf. 2a. capa if ref2Sup: RCSet.dir1PositvRebarRows.append( rcs.rebLayer_mm( ref2Sup[0], ref2Sup[1], recNomTrSup)) #refuerzo armadura transversal superior if ref1Inf: RCSet.dir1NegatvRebarRows.append( rcs.rebLayer_mm(ref1Inf[0], ref1Inf[1], rnom + arm1[0] + arm6a[0])) #refuerzo armadura transversal inferior if ref3Mid: RCSet.dir1NegatvRebarRows.append( rcs.rebLayer_mm(ref3Mid[0], ref3Mid[1], RCSet.depth / 2.)) if cercosRef: RCSet.dir2PositvRebarRows.append( rcs.rebLayer_mm(cercosRef[0], cercosRef[2], recNomTrSup)) #long. sup. 2a. capa RCSet.dir2NegatvRebarRows.append( rcs.rebLayer_mm(cercosRef[0], cercosRef[2], rnom + arm1[0] + arm6a[0])) #long. inf. 2a. capa # armadura de cortante if len(cercos) > 0: areaCercos = math.pi * (cercos[0] * 1e-3)**2 / 4. nRamas = cercos[1] separ = cercos[2] * 1e-3 if cercosRef: areaCercosRef = math.pi * (cercosRef[0] * 1e-3)**2 / 4. nRamasRef = cercosRef[1] separRef = cercosRef[2] * 1e-3 areaCercoEquiv = (nRamas * areaCercos / separ + nRamasRef * areaCercosRef / separRef) / nRamas * separ areaCercos = areaCercoEquiv RCSet.dir1ShReinfY = rcs.ShearReinforcement( familyName="sh", nShReinfBranches=nRamas, areaShReinfBranch=areaCercos, shReinfSpacing=separ, angAlphaShReinf=math.pi / 2.0, angThetaConcrStruts=math.pi / 4.0) RCSet.dir2ShReinfY = rcs.ShearReinforcement( familyName="sh", nShReinfBranches=cercos[1], areaShReinfBranch=math.pi * (cercos[0] * 1e-3)**2 / 4., shReinfSpacing=separ, angAlphaShReinf=math.pi / 2.0, angThetaConcrStruts=math.pi / 4.0)
#variables that make up THE TWO reinforced concrete sections in the two #reinforcement directions of a slab or the front and back ending sections #of a beam element zapRCSects = element_section_map.RCSlabBeamSection(name='zapRCSects', sectionDescr='zapata', concrType=concrete, reinfSteelType=reinfSteel, depth=cantoZap, elemSet=zap) #D1: longitudinal rebars #D2: transversal rebars #positiv: top face #negativ: bottom face zapRCSects.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(25, 200, rnom)]) zapRCSects.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(20, 200, rnom + 25)]) zapRCSects.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(25, 200, rnom)]) zapRCSects.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(20, 200, rnom + 25)]) murestrZ1RCSects = element_section_map.RCSlabBeamSection( name='murestrZ1RCSects', sectionDescr='muro de estribo, zona Z1 (inferior)', concrType=concrete, reinfSteelType=reinfSteel, depth=espMurEstr, elemSet=murestrZ1) #D1: vertical rebars
arm6a=lnInf_base_los_L2, arm6b=lnInf_ref_los_L2, arm7=lnInf_cart, arm8=lnInf_vol_L2, arm9a=lnSup_base_loscart_L2, arm9b=None, arm10=lnSup_vol_L2, arm1P=None, arm2P=None, arm3P=None, arm4P=None, cercos=cercos_L2) #armadura pilas pilasRCSects.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(lnPil[0], lnPil[1], rnom)]) pilasRCSects.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(lnPil[0], lnPil[1], rnom)]) pilasRCSects.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(lnPil[0], lnPil[1], rnom)]) pilasRCSects.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [rcs.rebLayer_mm(lnPil[0], lnPil[1], rnom)]) pilasRCSects.dir1ShReinfZ = rcs.ShearReinforcement( familyName="sh", nShReinfBranches=cercosPil[1], areaShReinfBranch=math.pi * (cercosPil[0] * 1e-3)**2 / 4., shReinfSpacing=cercosPil[2] * 1e-3, angAlphaShReinf=math.pi / 2.0, angThetaConcrStruts=math.pi / 4.0) pilasRCSects.dir2ShReinfZ = rcs.ShearReinforcement(
rnom=35 #recubrimiento nominal (todos los elementos) #instances of element_section_map.RCSlabBeamSection that define the #variables that make up THE TWO reinforced concrete sections in the two #reinforcement directions of a slab or the front and back ending sections #of a beam element zapRCSects= element_section_map.RCSlabBeamSection(name='zapRCSects',sectionDescr='zapata',concrType=concrete, reinfSteelType=reinfSteel,depth=cantoZap,elemSet=zap) #D1: longitudinal rebars #D2: transversal rebars #positiv: top face #negativ: bottom face zapRCSects.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(25,100,rnom)]) zapRCSects.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(20,200,rnom+25)]) zapRCSects.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(25,200,rnom)]) zapRCSects.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(20,200,rnom+25)]) murestrZ1RCSects= element_section_map.RCSlabBeamSection(name='murestrZ1RCSects',sectionDescr='muro de estribo, zona Z1 (inferior)',concrType=concrete, reinfSteelType=reinfSteel,depth=espMurEstr,elemSet=murestrZ1) #D1: vertical rebars #D2: horizontal rebars #positiv: interior #negativ: exterior murestrZ1RCSects.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(25,200,rnom),rcs.rebLayer_mm(25,200,rnom)]) murestrZ1RCSects.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(25,200,rnom+25)]) murestrZ1RCSects.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(16,200,rnom)]) murestrZ1RCSects.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(20,200,rnom+16)]) murestrZ2RCSects= element_section_map.RCSlabBeamSection(name='murestrZ2RCSects',sectionDescr='muro de estribo, zona Z2 (superior)',concrType=concrete, reinfSteelType=reinfSteel,depth=espMurEstr,elemSet=murestrZ2)
rnom=35 #recubrimiento nominal areaFi16= math.pi*(16*1e-3)**2/4.0 #instances of element_section_map.RCSlabBeamSection that define the #variables that make up THE TWO reinforced concrete sections in the two #reinforcement directions of a slab or the front and back ending sections #of a beam element losSupV2RCSects= element_section_map.RCSlabBeamSection(name='losSupV2RCSects',sectionDescr='losa aligerada, cara superior.',concrType=concrete, reinfSteelType=reinfSteel,depth=espLosAlig,elemSet=losSupV2) #D1: transversal rebars #D2: longitudinal rebars #positiv: top face #negativ: bottom face losSupV2RCSects.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(16,200,rnom)]) losSupV2RCSects.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(12,200,rnom+espLosAlig/2.)]) losSupV2RCSects.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(16,200,rnom+20)]) losSupV2RCSects.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(12,200,rnom+espLosAlig/2.)]) losInfV2RCSects= element_section_map.RCSlabBeamSection(name='losInfV2RCSects',sectionDescr='losa aligerada, cara inferior',concrType=concrete, reinfSteelType=reinfSteel,depth=espLosAlig,elemSet=losInfV2) #D1: transversal rebars #D2: longitudinal rebars #positiv: top face #negativ: bottom face losInfV2RCSects.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(14,200,rnom)]) losInfV2RCSects.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(8,200,rnom)]) losInfV2RCSects.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(20,200,rnom+espLosAlig/2.0)]) losInfV2RCSects.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(25,200,rnom+16)])
# Equivalent rectangular section lRectEqPier=round(math.pi**0.5*piersDiameter/2.,3) concrete= EHE_materials.HA30 reinfSteel= EHE_materials.B500S nomCover=35 # nominal cover # *** Pier reinforcement *** pierLongReinf=[16,50] # Longitudinal reinforcement on each side of the pile. # Stirrups nlegs_m=3 # number of legs on each direction shearReinfDiameter=12 shearReinfSpacing=250 pierStirrups= [shearReinfDiameter,nlegs_m,shearReinfSpacing] piersRCSects= element_section_map.RCSlabBeamSection(name='piersRCSects',sectionDescr='piers',concrType=concrete, reinfSteelType=reinfSteel,width=lRectEqPier,depth=lRectEqPier,elemSet=None) piersRCSects.dir1PositvRebarRows= rcs.LongReinfLayers([rcs.rebLayer_mm(pierLongReinf[0],pierLongReinf[1],nomCover)]) piersRCSects.dir1NegatvRebarRows= rcs.LongReinfLayers([rcs.rebLayer_mm(pierLongReinf[0],pierLongReinf[1],nomCover)]) piersRCSects.dir2PositvRebarRows= rcs.LongReinfLayers([rcs.rebLayer_mm(pierLongReinf[0],pierLongReinf[1],nomCover)]) piersRCSects.dir2NegatvRebarRows= rcs.LongReinfLayers([rcs.rebLayer_mm(pierLongReinf[0],pierLongReinf[1],nomCover)]) # Shear reinforcement. piersRCSects.dir1ShReinfZ=rcs.ShearReinforcement(familyName= "sh",nShReinfBranches=pierStirrups[1],areaShReinfBranch= math.pi*(pierStirrups[0]*1e-3)**2/4.,shReinfSpacing=pierStirrups[2]*1e-3,angAlphaShReinf= math.pi/2.0,angThetaConcrStruts= math.pi/4.0) piersRCSects.dir2ShReinfZ=rcs.ShearReinforcement(familyName= "sh",nShReinfBranches=pierStirrups[1],areaShReinfBranch= math.pi*(pierStirrups[0]*1e-3)**2/4.,shReinfSpacing=pierStirrups[2]*1e-3,angAlphaShReinf= math.pi/2.0,angThetaConcrStruts= math.pi/4.0) piersRCSects.dir1ShReinfY=rcs.ShearReinforcement(familyName= "sh",nShReinfBranches=pierStirrups[1],areaShReinfBranch= math.pi*(pierStirrups[0]*1e-3)**2/4.,shReinfSpacing=pierStirrups[2]*1e-3,angAlphaShReinf= math.pi/2.0,angThetaConcrStruts= math.pi/4.0) piersRCSects.dir2ShReinfY=rcs.ShearReinforcement(familyName= "sh",nShReinfBranches=pierStirrups[1],areaShReinfBranch= math.pi*(pierStirrups[0]*1e-3)**2/4.,shReinfSpacing=pierStirrups[2]*1e-3,angAlphaShReinf= math.pi/2.0,angThetaConcrStruts= math.pi/4.0) # All this is made only to allow the # creation of the RCMaterialDistribution feProblem= xc.FEProblem() preprocessor= feProblem.getPreprocessor
#import os #import xc_base #import geom #import xc from materials.sections.fiber_section import def_simple_RC_section as rcs from postprocess import element_section_map # **Concrete sections #instances of element_section_map.RCSlabBeamSection that define the #variables that make up THE TWO reinforced concrete sections in the two #reinforcement directions of a slab or the front and back ending sections #of a beam element deckRCSects= element_section_map.RCSlabBeamSection(name='deckRCSects',sectionDescr='slab of shell elements',concrType=concrete, reinfSteelType=reinfSteel,depth=deckTh,elemSet=decks) deckRCSects.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(12,150,35)]) deckRCSects.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(12,200,35)]) deckRCSects.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(16,250,35)]) deckRCSects.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(16,100,35)]) import math areaFi8=math.pi*0.008**2/4. shear1=rcs.ShearReinforcement(familyName= "shear1",nShReinfBranches= 1.0,areaShReinfBranch= areaFi8,shReinfSpacing= 0.20,angAlphaShReinf= math.pi/2.0,angThetaConcrStruts= math.radians(30)) shear2=rcs.ShearReinforcement(familyName= "shear2",nShReinfBranches= 1.0,areaShReinfBranch= areaFi8,shReinfSpacing= 0.15,angAlphaShReinf= math.pi/2.0,angThetaConcrStruts= math.radians(30)) deckRCSects.dir1ShReinfY=shear1 deckRCSects.dir2ShReinfY=shear2 footRCSects= element_section_map.RCSlabBeamSection(name='footRCSects',sectionDescr='footation',concrType=concrete, reinfSteelType=reinfSteel,depth=footTh,elemSet=foot) #D1: transversal rebars #D2: longitudinal rebars footRCSects.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(12,150,35)])
50] # Longitudinal reinforcement on each side of the pile. # Stirrups nlegs_m = 3 # number of legs on each direction shearReinfDiameter = 12 shearReinfSpacing = 250 pierStirrups = [shearReinfDiameter, nlegs_m, shearReinfSpacing] piersRCSects = element_section_map.RCSlabBeamSection(name='piersRCSects', sectionDescr='piers', concrType=concrete, reinfSteelType=reinfSteel, width=lRectEqPier, depth=lRectEqPier, elemSet=None) piersRCSects.dir1PositvRebarRows = rcs.LongReinfLayers( [rcs.rebLayer_mm(pierLongReinf[0], pierLongReinf[1], nomCover)]) piersRCSects.dir1NegatvRebarRows = rcs.LongReinfLayers( [rcs.rebLayer_mm(pierLongReinf[0], pierLongReinf[1], nomCover)]) piersRCSects.dir2PositvRebarRows = rcs.LongReinfLayers( [rcs.rebLayer_mm(pierLongReinf[0], pierLongReinf[1], nomCover)]) piersRCSects.dir2NegatvRebarRows = rcs.LongReinfLayers( [rcs.rebLayer_mm(pierLongReinf[0], pierLongReinf[1], nomCover)]) # Shear reinforcement. piersRCSects.dir1ShReinfZ = rcs.ShearReinforcement( familyName="sh", nShReinfBranches=pierStirrups[1], areaShReinfBranch=math.pi * (pierStirrups[0] * 1e-3)**2 / 4., shReinfSpacing=pierStirrups[2] * 1e-3, angAlphaShReinf=math.pi / 2.0, angThetaConcrStruts=math.pi / 4.0)