def __init__(self, preprocessor, sectName, sectDescr, concrete, rfSteel, concrDiag, rfStDiag, geomSection, width, depth): self.concrete = concrete self.rfSteel = rfSteel self.geomSection = geomSection self.sectName = sectName self.sectDescr = sectDescr self.concrete = concrete self.rfSteel = rfSteel self.concrDiag = concrDiag self.rfStDiag = rfStDiag self.width = width self.depth = depth self.JTorsion = self.scc.getJTorsion() self.shReinfY = sHAs.RecordShearReinforcement() self.shReinfY.familyName = "Vy" self.shReinfZ = sHAs.RecordShearReinforcement() self.shReinfZ.familyName = "Vz" self.Ec = self.concrete.Ecm() self.Es = self.rfSteel.Es self.regions = self.geomSection.getRegions self.tangConcr = self.concrDiag.getTangent() self.GB = self.geomSection.getCdgGrossSection() self.AB = self.geomSection.getAreaGrossSection() self.IyB = self.geomSection.getIyGrossSection() self.IzB = self.geomSection.getIzGrossSection() self.PyzB = self.geomSection.getPyzGrossSection() self.reinforcement = self.geomSection.getReinfLayers #ListReinfLayer self.tangSteel = self.rfStDiag.getTangent() self.areaMainReinforcement = self.reinforcement.getAreaGrossSection() self.cover = self.reinforcement.getCover self.lista_fams_reinforcement = [] for f in self.reinforcement: datosFam = RecordFamMainReinforcement(f) self.lista_fams_reinforcement.append(datosFam) self.GH = self.geomSection.getCdgHomogenizedSection( self.tangConcr) # Center of gravity of the homogenized section self.AH = self.geomSection.getAreaHomogenizedSection( self.tangConcr) # Area of the homogenized section self.IyH = self.geomSection.getIyHomogenizedSection( self.tangConcr) # Inertia tensor of homogenized section. self.IzH = self.geomSection.getIzHomogenizedSection(self.tangConcr) self.PyzH = self.geomSection.getPyzHomogenizedSection(self.tangConcr)
elemSetName='murAligV2') #D1: horizontal rebars #D2: vertical rebars #positiv: top face #negativ: bottom face # murAligV2RCSects.dir1PositvRebarRows=[rcs.rebLayer(8,200,rnom+12)] # murAligV2RCSects.dir2PositvRebarRows=[rcs.rebLayer(16,200,rnom)] # murAligV2RCSects.dir1NegatvRebarRows=[rcs.rebLayer(8,200,rnom+12)] # murAligV2RCSects.dir2NegatvRebarRows=[rcs.rebLayer(16,200,rnom)] murAligV2RCSects.dir1PositvRebarRows = [rcs.rebLayer(8, 200, rnom + 12)] murAligV2RCSects.dir2PositvRebarRows = [rcs.rebLayer(8, 200, rnom)] murAligV2RCSects.dir1NegatvRebarRows = [rcs.rebLayer(8, 200, rnom + 12)] murAligV2RCSects.dir2NegatvRebarRows = [rcs.rebLayer(8, 200, rnom)] shear2 = rcs.RecordShearReinforcement(familyName="shear2", nShReinfBranches=2.0, areaShReinfBranch=areaFi16, shReinfSpacing=0.10, angAlphaShReinf=math.pi / 2.0, angThetaConcrStruts=math.pi / 4.0) murAligV2RCSects.dir2ShReinfY = shear2 pilasInfRCSects = rcs.RecordRCSlabBeamSection( name='pilasInfRCSects', sectionDescr='pilas, zona inferior ', concrType=concrete, reinfSteelType=reinfSteel, width=lRectEqPila, depth=lRectEqPila, elemSetName='pilasInf') #comprobación a cortante #pilasInfRCSects= rcs.RecordRCSlabBeamSection(name='pilasInfRCSects',sectionDescr='pilas ',concrType=concrete, reinfSteelType=reinfSteel,width=1.0,depth=lRectEqPila**2,elemSetName='pilasInf') #D1: cara dorsal
areaRebar=areaFi10, rebarsSpacing=0.20, width=BCheight, nominalCover=coverForAll) layer4.nRebars = 5 layer5 = defSimpleRCSection.MainReinfLayer(rebarsDiam=10e-3, areaRebar=areaFi10, rebarsSpacing=0.20, width=BCheight, nominalCover=coverForAll + 0.15) layer5.nRebars = 6 shear1 = defSimpleRCSection.RecordShearReinforcement( familyName="sh1", nShReinfBranches=2.0, areaShReinfBranch=areaFi8, shReinfSpacing=0.15, angAlphaShReinf=math.pi / 2.0, angThetaConcrStruts=math.pi / 4.0) #end auxiliar data botColRCSects.dir1PositvRebarRows = [layer1, layer2, layer3, layer4, layer5] botColRCSects.dir1NegatvRebarRows = [layer1, layer2, layer4, layer5] botColRCSects.dir2PositvRebarRows = [layer1, layer2, layer3, layer4, layer5] botColRCSects.dir2NegatvRebarRows = [layer1, layer2, layer4, layer5] botColRCSects.dir1ShReinfY = shear1 botColRCSects.dir1ShReinfZ = shear1 botColRCSects.dir2ShReinfY = shear1 botColRCSects.dir2ShReinfZ = shear1 botColRCSects.creaTwoSections()
from materials.sections.fiber_section import defSimpleRCSection as rcs #instances of rcs.RecordRCSlabBeamSection 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= rcs.RecordRCSlabBeamSection(name='deckRCSects',sectionDescr='slab of shell elements',concrType=concrete, reinfSteelType=reinfSteel,depth=deckTh,elemSetName=decks.name) deckRCSects.dir1PositvRebarRows=[rcs.rebLayer(12,150,35)] deckRCSects.dir1NegatvRebarRows=[rcs.rebLayer(12,200,35)] deckRCSects.dir2PositvRebarRows=[rcs.rebLayer(16,250,35)] deckRCSects.dir2NegatvRebarRows=[rcs.rebLayer(16,100,35)] import math areaFi8=math.pi*0.008**2/4. shear1=rcs.RecordShearReinforcement(familyName= "shear1",nShReinfBranches= 1.0,areaShReinfBranch= areaFi8,shReinfSpacing= 0.20,angAlphaShReinf= math.pi/2.0,angThetaConcrStruts= math.radians(30)) shear2=rcs.RecordShearReinforcement(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= rcs.RecordRCSlabBeamSection(name='footRCSects',sectionDescr='footation',concrType=concrete, reinfSteelType=reinfSteel,depth=footTh,elemSetName=foot.name) #D1: transversal rebars #D2: longitudinal rebars footRCSects.dir1PositvRebarRows=[rcs.rebLayer(12,150,35)] footRCSects.dir1NegatvRebarRows=[rcs.rebLayer(12,150,35)] footRCSects.dir2PositvRebarRows=[rcs.rebLayer(16,150,35)] footRCSects.dir2NegatvRebarRows=[rcs.rebLayer(16,150,35)] wallRCSects= rcs.RecordRCSlabBeamSection(name='wallRCSects',sectionDescr='wall of shell elements',concrType=concrete, reinfSteelType=reinfSteel,depth=wallTh,elemSetName=wall.name) wallRCSects.dir1PositvRebarRows=[rcs.rebLayer(20,200,35)]
reinfSteel = ACI_materials.A615G60 reinfSteel.gammaS = 1.0 / 0.75 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
#of a beam element dintExtRCSects = defSimpleRCSection.RecordRCSlabBeamSection( name='dintExtRCSects', sectionDescr='dintel, zona extremos', concrType=concrete, reinfSteelType=reinfSteel, depth=deckTh) dintExtRCSects.dir1PositvRebarRows = [fi12s150r80] #long. sup. dintExtRCSects.dir1NegatvRebarRows = [fi16s150r85] #long. inf. dintExtRCSects.dir2PositvRebarRows = [fi20s200r60] #transv.sup dintExtRCSects.dir2NegatvRebarRows = [fi25s200r60] #transv.inf sh1 = defSimpleRCSection.RecordShearReinforcement( familyName="sh1", nShReinfBranches=4.0, areaShReinfBranch=areaFi8, shReinfSpacing=0.25, angAlphaShReinf=math.radians(90), angThetaConcrStruts=math.radians(30)) dintExtRCSects.dir2ShReinfY = sh1 dintExtRCSects.creaTwoSections() sections.append(dintExtRCSects) dintCentRCSects = defSimpleRCSection.RecordRCSlabBeamSection( name='dintCentRCSects', sectionDescr='dintel, zona central', concrType=concrete, reinfSteelType=reinfSteel, depth=deckTh) dintCentRCSects.dir1PositvRebarRows = [fi12s150r76] #long. sup.
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.,