def __init__(self, name='noName', sectionDescr=None, Rext=0.25, Rint=0.0, concrType=None, reinfSteelType=None): ''' Constructor. :param name: name of the section. :param Rext: external radius (defaults to 0.25). :param Rint: internal radius (defaults to 0.0). :param concrType: type of concrete (e.g. EHE_materials.HA25) :param reinfSteelType: type of reinforcement steel. ''' def_simple_RC_section.RCSectionBase.__init__( self, sectionDescr=sectionDescr, concrType=concrType, reinfSteelType=reinfSteelType, nIJ=20, nJK=5) section_properties.CircularSection.__init__(self, name, Rint=Rint, Rext=Rext) # Longitudinal reinforcement. self.mainReinf = def_simple_RC_section.LongReinfLayers( ) #list of ReinfRow data (positive face) # Transverse reinforcement. self.shReinf = def_simple_RC_section.ShearReinforcement() self.shReinf.familyName = "V"
fi26s150r50 = def_simple_RC_section.ReinfRow(rebarsDiam=26e-3, areaRebar=areaFi26, rebarsSpacing=0.150, width=1.0, nominalCover=0.050) deckSlabRCSect = element_section_map.RCSlabBeamSection( name='deckSlabRCSect', sectionDescr="estacade.", concrType=concrete, reinfSteelType=reinfSteel, depth=0.20) #[0]: rebars on back end section. #[1]: rebars on front end section deckSlabRCSect.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers( [fi12s150r40]) #Ok deckSlabRCSect.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [fi12s150r40]) #Ok deckSlabRCSect.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers( [fi12s150r40]) #Ok deckSlabRCSect.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [fi12s150r40]) #Ok sections.append(deckSlabRCSect) parapetRCSect = element_section_map.RCSlabBeamSection( name='parapetRCSect', sectionDescr="estacade.", concrType=concrete, reinfSteelType=reinfSteel, depth=0.20)
rebarDiam / 2.0) feProblem = xc.FEProblem() preprocessor = feProblem.getPreprocessor # Materials definition concr = EHE_materials.HA25 concr.alfacc = 0.85 # f_maxd= 0.85*fcd concrete long term compressive strength factor (normally alfacc=1) steel = EHE_materials.B500S # Section geometry section = def_simple_RC_section.RCRectangularSection(name='test', width=width, depth=depth, concrType=concr, reinfSteelType=steel) section.positvRebarRows = def_simple_RC_section.LongReinfLayers([lowerRow]) section.negatvRebarRows = def_simple_RC_section.LongReinfLayers([upperRow]) # section.shReinfY= shearReinf section.defRCSection(preprocessor, matDiagType='d') scc3d_testing_bench.sectionModel(preprocessor, section.sectionName) # Constraints modelSpace = predefined_spaces.getStructuralMechanics3DSpace(preprocessor) modelSpace.fixNode000_000(1) # Loads definition lp0 = modelSpace.newLoadPattern(name='0') lp0.newNodalLoad(2, xc.Vector([NDato, 0, 0, 0, MyDato, MzDato])) lp1 = modelSpace.newLoadPattern(name='1') lp1.newNodalLoad(2, xc.Vector([NDato, 0, 0, 0, MzDato / 10.0, MyDato / 10.0]))
# Longitudinal reinforcement rebarDiam = 16e-3 rebarArea = EHE_materials.Fi16 numOfRebars = 12 # # Shear reinforcement # shearReinfArea= EHE_materials.Fi6 # shearReinfDiam= 6e-3 # numRamas= 2 # shearReinf= def_simple_RC_section.ShearReinforcement(familyName= "sh",nShReinfBranches= numRamas, areaShReinfBranch= shearReinfArea, shReinfSpacing= 0.2, angAlphaShReinf= math.pi/2.0,angThetaConcrStruts= math.pi/4.0) nCover = cover mainReinf = def_simple_RC_section.LongReinfLayers([ def_simple_RC_section.ReinfRow(rebarsDiam=rebarDiam, nRebars=numOfRebars, width=math.pi * (diameter - 2 * cover), nominalCover=nCover) ]) feProblem = xc.FEProblem() preprocessor = feProblem.getPreprocessor # Materials definition materialHandler = preprocessor.getMaterialHandler # Section geometry section.mainReinf = mainReinf section.defRCSection(preprocessor, matDiagType='k') scc3d_testing_bench.sectionModel(preprocessor, section.sectionName) # Constraints
areaRebar=areaFi8, rebarsSpacing=0.200, width=1.0, nominalCover=0.044) concrete = SIA262_materials.c30_37 reinfSteel = SIA262_materials.SpecialII1956SIA161 # reinfConcreteSectionDistribution = RC_material_distribution.RCMaterialDistribution( ) sections = reinfConcreteSectionDistribution.sectionDefinition beamRCsects = element_section_map.RCSlabBeamSection( name='beamRCsects', sectionDescr='beam section', concrType=concrete, reinfSteelType=reinfSteel, width=wbeam, depth=hbeam) beamRCsects.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers( [fi10s200r44]) beamRCsects.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [fi16s200r44]) beamRCsects.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers( [fi10s200r44]) beamRCsects.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [fi16s200r44]) sections.append(beamRCsects)
sections = reinfConcreteSectionDistribution.sectionDefinition execfile('../generic_layers_aux.py') #instances of element_section_map.RCSlabBeamSection that defines 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) deckRCSects.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers( [fi20s150r35]) #transv. sup. deckRCSects.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [fi20s150r35]) #transv. inf. deckRCSects.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers( [fi16s150r35]) #long. sup. deckRCSects.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [fi20s150r35]) #long. inf. sections.append(deckRCSects) curbRCSects = element_section_map.RCSlabBeamSection(name='curbRCSects', sectionDescr='curbs', concrType=concrete, reinfSteelType=reinfSteel, depth=curbTh) curbRCSects.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers(
concrete= SIA262_materials.c30_37 reinfSteel= SIA262_materials.B500A reinfConcreteSectionDistribution= RC_material_distribution.RCMaterialDistribution() sections= reinfConcreteSectionDistribution.sectionDefinition execfile('generic_layers_aux.py') #instances of element_section_map.RCSlabBeamSection that defines 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=deckThickness) deckLong= def_simple_RC_section.ReinfRow(rebarsDiam=16e-3,areaRebar= areaFi16,rebarsSpacing=0.150,width=1.0,nominalCover=0.040) deckRCSects.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([deckLong]) #long. sup. deckRCSects.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([deckLong]) #long. inf. deckTransv= def_simple_RC_section.ReinfRow(rebarsDiam=13e-3,areaRebar= (areaFi12+areaFi14)/2.0,rebarsSpacing=0.150,width=1.0,nominalCover=0.040) deckRCSects.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([deckTransv]) #transv. sup. deckRCSects.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([deckTransv]) #transv. inf. sections.append(deckRCSects) parapetBodyRCSects= element_section_map.RCSlabBeamSection(name='parapetBodyRCSects',sectionDescr='slab of shell elements',concrType=concrete, reinfSteelType=reinfSteel,depth=parapetBodyThickness) parapetBodyHoriz= def_simple_RC_section.ReinfRow(rebarsDiam=16e-3,areaRebar= areaFi16,rebarsSpacing=0.150,width=1.0,nominalCover=0.040) parapetBodyRCSects.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([parapetBodyHoriz]) #horiz. sup. parapetBodyRCSects.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([parapetBodyHoriz]) #horiz. inf. parapetBodyVert= def_simple_RC_section.ReinfRow(rebarsDiam=13e-3,areaRebar= (areaFi12+areaFi14)/2.0,rebarsSpacing=0.150,width=1.0,nominalCover=0.040) parapetBodyRCSects.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([parapetBodyVert]) #vert. sup. parapetBodyRCSects.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([parapetBodyVert]) #vert. inf. sections.append(parapetBodyRCSects)
import xc_base import geom import xc from materials.sections.fiber_section import def_simple_RC_section from materials.ehe import EHE_materials nominalCover= .025 rcSection= def_simple_RC_section.RCRectangularSection(width= 0.25, depth= 0.5) rcSection.sectionName= "Test" rcSection.sectionDescr= "Test reinforce concrete section." rcSection.fiberSectionParameters.concrType= EHE_materials.HA25 rcSection.fiberSectionParameters.reinfSteelType= EHE_materials.B500S rebNeg= def_simple_RC_section.ReinfRow(nRebars= 2, areaRebar= EHE_materials.Fi20,nominalCover= nominalCover+0.01,width= rcSection.b-nominalCover) rcSection.negatvRebarRows= def_simple_RC_section.LongReinfLayers([rebNeg]) rebPos= def_simple_RC_section.ReinfRow(nRebars= 5, areaRebar= EHE_materials.Fi20,nominalCover=nominalCover,width= rcSection.b-nominalCover) rcSection.positvRebarRows= def_simple_RC_section.LongReinfLayers([rebPos]) # Mass properties of gross section err= 0.0 grossSectionArea= rcSection.A() err+= (grossSectionArea-0.125)**2 grossSectionIy= rcSection.Iy() err+= (grossSectionIy-0.000651041666667)**2 grossSectionIz= rcSection.Iz() err+= (grossSectionIz-0.00260416666667)**2 grossSectioniy= rcSection.iy() err+= (grossSectioniy-0.0721687836487)**2 grossSectioniz= rcSection.iz()
width=0.25, nominalCover=0.050) #instances of element_section_map.RCSlabBeamSection that defines 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 reinfSteel = EHE_materials.B500S beamRCsect = element_section_map.RCSlabBeamSection(name='beamRCsect', sectionDescr='beam section', concrType=concr, reinfSteelType=reinfSteel, width=crossSection.b, depth=crossSection.h) beamRCsect.lstRCSects[ 0].positvRebarRows = def_simple_RC_section.LongReinfLayers([reinfLayer]) beamRCsect.lstRCSects[ 0].negatvRebarRows = def_simple_RC_section.LongReinfLayers([reinfLayer]) beamRCsect.lstRCSects[ 1].positvRebarRows = def_simple_RC_section.LongReinfLayers([reinfLayer]) beamRCsect.lstRCSects[ 1].negatvRebarRows = def_simple_RC_section.LongReinfLayers([reinfLayer]) sections.append(beamRCsect) # Spatial distribution of reinforced concrete # sections (assign RC sections to elements). reinfConcreteSectionDistribution.assign(elemSet=totalSet.elements, setRCSects=beamRCsect) #Checking shear. lsd.shearResistance.controller = EHE_limit_state_checking.ShearController(
nominalCover=0.030) fi26s250r50 = def_simple_RC_section.ReinfRow(rebarsDiam=26e-3, areaRebar=areaFi26, rebarsSpacing=0.250, width=1.0, nominalCover=0.050) FoundExtSlabRCSect = element_section_map.RCSlabBeamSection( name='foundExtSlabRCSect', sectionDescr="underpass.", concrType=concrete, reinfSteelType=reinfSteel, depth=0.60) #[0]: transversal rebars #[1]: longitudinal rebars FoundExtSlabRCSect.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers( [fi14s250r30]) FoundExtSlabRCSect.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [fi14s125r30, fi18s125r44]) FoundExtSlabRCSect.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers( [fi10s200r44]) FoundExtSlabRCSect.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [fi10s200r44]) sections.append(FoundExtSlabRCSect) FoundIntSlabRCSect = element_section_map.RCSlabBeamSection( 'foundIntSlabRCSect', "underpass.", concrete, reinfSteel, 0.60) #[0]: transversal rebars #[1]: longitudinal rebars FoundIntSlabRCSect.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers( [fi14s125r30, fi8s125r44])
from materials.ehe import EHE_materials from materials.ehe import EHE_limit_state_checking from model import predefined_spaces datosScc1LosC = def_simple_RC_section.RCRectangularSection() datosScc1LosC.sectionName = "secHA1LosC" datosScc1LosC.sectionDescr = "Losa. Central portion. Section normal to X axis." datosScc1LosC.fiberSectionParameters.concrType = EHE_materials.HA25 datosScc1LosC.depth = 0.25 datosScc1LosC.width = 1.0 datosScc1LosC.fiberSectionParameters.reinfSteelType = EHE_materials.B500S rebNeg = def_simple_RC_section.ReinfRow(nRebars=5, areaRebar=EHE_materials.Fi10, nominalCover=0.025 + 0.010, width=0.999) datosScc1LosC.negatvRebarRows = def_simple_RC_section.LongReinfLayers([rebNeg]) rebPos = def_simple_RC_section.ReinfRow(nRebars=5, areaRebar=EHE_materials.Fi10, nominalCover=0.025, width=0.999) datosScc1LosC.positvRebarRows = def_simple_RC_section.LongReinfLayers([rebPos]) # datosScc1LosC.nRebarsNeg= 5 # datosScc1LosC.areaRebarNeg= EHE_materials.Fi10 # datosScc1LosC.coverNeg= 0.025+0.010+0.010/2.0 # datosScc1LosC.nRebarsPos= 5 # datosScc1LosC.areaRebarPos= EHE_materials.Fi10 # datosScc1LosC.coverPos= 0.025+0.010/2.0 NDato = 0 # Axial force for crack control checking. MyDato = 1000 # Bending moment force for crack control checking.
shearReinf = def_simple_RC_section.ShearReinforcement( familyName="sh", nShReinfBranches=nBranches, areaShReinfBranch=shearReinfArea, shReinfSpacing=0.25, angAlphaShReinf=math.pi / 2.0, angThetaConcrStruts=math.pi / 4.0) ## Longitudinal reinforcement rebarDiam = 16e-3 rebarArea = EHE_materials.Fi16 numOfRebars = int(math.ceil(math.pi * (pierDiameter - 2 * nomCover) / .05)) mainReinf = def_simple_RC_section.LongReinfLayers([ def_simple_RC_section.ReinfRow( rebarsDiam=rebarDiam, nRebars=numOfRebars, width=math.pi * (pierDiameter - 2 * (nomCover + shearReinfDiam)), nominalCover=nomCover) ]) # Section geometry section = def_column_RC_section.RCCircularSection( name='test', sectionDescr='circular section', Rext=pierDiameter / 2.0, concrType=concrete, reinfSteelType=reinfSteel) section.mainReinf = mainReinf section.shReinf = shearReinf # All this is made only to allow the
# 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
Twofi20r50 = def_simple_RC_section.ReinfRow(rebarsDiam=20e-3, areaRebar=areaFi20, width=1.0, nominalCover=0.050) Twofi20r50.nRebars = 2 Twofi20r50.coverLat = 0.05 Twofi10r50 = def_simple_RC_section.ReinfRow(rebarsDiam=10e-3, areaRebar=areaFi10, width=1.0, nominalCover=0.050) Twofi10r50.nRebars = 2 Twofi10r50.coverLat = 0.05 cantlvRCSects = element_section_map.RCSlabBeamSection( name='cantlvRCSects', sectionDescr='cantilever of shell elements', concrType=concrete, reinfSteelType=reinfSteel, depth=cantlvTh) cantlvRCSects.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers( [Twofi20r50]) cantlvRCSects.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [Twofi10r50]) cantlvRCSects.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers( [Twofi20r50]) cantlvRCSects.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [Twofi20r50]) sections.append(cantlvRCSects)
2.0)**2 # Rebar area expressed in square meters. feProblem = xc.FEProblem() preprocessor = feProblem.getPreprocessor # Materials definition concr = EHE_materials.HA30 concr.alfacc = 0.85 #f_maxd= 0.85*fcd concrete long term compressive strength factor (normally alfacc=1) steel = EHE_materials.B500S section = def_column_RC_section.RCCircularSection(name='test', Rext=radius, concrType=concr, reinfSteelType=steel) section.mainReinf = def_simple_RC_section.LongReinfLayers([ def_simple_RC_section.ReinfRow(rebarsDiam=rebarDiam, nRebars=14, width=2 * math.pi * (radius - cover), nominalCover=nCover) ]) section.defRCSection(preprocessor, matDiagType='d') diagIntsecHA = section.defInteractionDiagram(preprocessor) # Compute capacity factors. fc1 = diagIntsecHA.getCapacityFactor(geom.Pos3d(1850e3, 0, 0)) fc2 = diagIntsecHA.getCapacityFactor(geom.Pos3d(-152e3, 530e3, 0)) fc3 = diagIntsecHA.getCapacityFactor(geom.Pos3d(-152e3, 0, 590e3)) fc4 = diagIntsecHA.getCapacityFactor(geom.Pos3d(-9097e3, 0.0, 0.0)) ratio1 = abs(fc1 - 1) ratio2 = abs(fc2 - 1)
concrete = EHE_materials.HA30 reinfSteel = EHE_materials.B500S reinfConcreteSectionDistribution = RC_material_distribution.RCMaterialDistribution( ) sections = reinfConcreteSectionDistribution.sectionDefinition execfile('../generic_layers_aux.py') #instances of element_section_map.RCSlabBeamSection that defines 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 dintelRCSects = element_section_map.RCSlabBeamSection( name='dintel', sectionDescr='dintel', concrType=concrete, reinfSteelType=reinfSteel, depth=deckTh) dintelRCSects.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers( [fi16s150r60]) #long. sup. dintelRCSects.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [fi20s200r60]) #long. inf. dintelRCSects.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers( [fi16s200r60]) #transv.sup dintelRCSects.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [fi20s150r60, fi20s150r60]) #transv.inf sections.append(dintelRCSects)
from materials.sections.fiber_section import def_simple_RC_section from materials.sia262 import SIA262_materials from materials.sia262 import SIA262_limit_state_checking from postprocess import element_section_map from postprocess import limit_state_data as lsd concrete= SIA262_materials.c30_37 reinfSteel= SIA262_materials.B500B areaFi14= SIA262_materials.section_barres_courantes[14e-3] fi14s150r40= def_simple_RC_section.ReinfRow(rebarsDiam=14e-3,areaRebar= areaFi14,rebarsSpacing= 0.150,width=1.0,nominalCover= 0.040) fi14s150r50=def_simple_RC_section.ReinfRow(rebarsDiam=14e-3,areaRebar= areaFi14,rebarsSpacing= 0.150,width=1.0,nominalCover= 0.050) slab30RCSect= element_section_map.RCSlabBeamSection(name='slab30RCSect',sectionDescr="foundation slab thickness 30 cm.",concrType=concrete, reinfSteelType=reinfSteel,depth=0.3) slab30RCSect.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([fi14s150r40]) #Longitudinal slab30RCSect.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([fi14s150r40]) # slab30RCSect.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([fi14s150r50]) #Transverse slab30RCSect.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([fi14s150r50]) # slab30RCSect.createSections() shearController= SIA262_limit_state_checking.ShearController(lsd.shearResistance.label) #rcSection= slab30RCSect.lstRCSects[0] rcSection= slab30RCSect.lstRCSects[1] shearController.setSection(rcSection) VuTmp= rcSection.getRoughVcuEstimation() VyTmp= -1768.49921973 FCtmp= abs(VyTmp)/VuTmp
sections = reinfConcreteSectionDistribution.sectionDefinition execfile('../generic_layers_aux.py') #instances of element_section_map.RCSlabBeamSection that defines 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) deckRCSects.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers( [fi20s150r35]) deckRCSects.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [fi22s150r35]) deckRCSects.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers( [fi16s150r35]) deckRCSects.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [fi16s150r35]) sections.append(deckRCSects) foundRCSects = element_section_map.RCSlabBeamSection(name='foundRCSects', sectionDescr='foundation', concrType=concrete, reinfSteelType=reinfSteel, depth=foundTh) #D1: transversal rebars
# ***LIMIT STATE COMBINATIONS*** from actions import combinations as cc combContainer= cc.CombContainer() #Container of load combinations #Frequent combinations. combContainer.SLS.freq.add('ELSF01', '1.0*lcase01') combContainer.SLS.freq.add('ELSF02', '1.0*lcase02') # Reinforced concrete sections from materials.sections.fiber_section import def_simple_RC_section from postprocess import element_section_map beamRCsect= element_section_map.RCSlabBeamSection(name='beamRCsect',sectionDescr='beam',concrType=concrete, reinfSteelType=reinfSteel,width=width,depth=depth,elemSet=beamSet) mainBottReinf=def_simple_RC_section.ReinfRow(rebarsDiam=fiBott,areaRebar=math.pi*fiBott**2/4.,width=width,nominalCover=cover) mainBottReinf.nRebars=nmbBarsBott beamRCsect.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([mainBottReinf]) beamRCsect.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([mainBottReinf]) #Assigning of sections from postprocess import RC_material_distribution # Reinforced concrete material distribution over the elements of the FE model. # Concrete of type concrete01 with no tension branch reinfConcreteSectionDistribution= RC_material_distribution.RCMaterialDistribution() sections= reinfConcreteSectionDistribution.sectionDefinition #sections container sections.append(beamRCsect) #Generation of the distribution of material extended to the elements of the #FE model, assigning to each element the section-group that corresponds to it elset=prep.getSets.getSet(beamRCsect.elemSetName) reinfConcreteSectionDistribution.assign(elemSet=elset.elements,setRCSects=beamRCsect) reinfConcreteSectionDistribution.dump()
concrete=EHE_materials.HA30 reinfSteel= EHE_materials.B500S reinfConcreteSectionDistribution= RC_material_distribution.RCMaterialDistribution() sections= reinfConcreteSectionDistribution.sectionDefinition execfile('../generic_layers_aux.py') #instances of element_section_map.RCSlabBeamSection that defines 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 M1dintExtRCSects= element_section_map.RCSlabBeamSection(name='M1dintExtRCSects',sectionDescr='Módulo 1- dintel, zona extremos',concrType=concrete, reinfSteelType=reinfSteel,depth=deckTh) M1dintExtRCSects.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([fi16s200r76]) #long. sup M1dintExtRCSects.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([fi16s200r85]) #long. inf. M1dintExtRCSects.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([fi16s100r60]) #transv. sup. M1dintExtRCSects.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([fi25s200r60]) #transv. inf. sh1=def_simple_RC_section.ShearReinforcement(familyName= "sh1",nShReinfBranches= 4.0,areaShReinfBranch= areaFi8,shReinfSpacing= 0.25,angAlphaShReinf= math.radians(90),angThetaConcrStruts= math.radians(30)) M1dintExtRCSects.dir2ShReinfY=sh1 sections.append(M1dintExtRCSects) M1dintCentRCSects= element_section_map.RCSlabBeamSection(name='M1dintCentRCSects',sectionDescr='Módulo 1- dintel, zona central',concrType=concrete,reinfSteelType=reinfSteel,depth=deckTh) M1dintCentRCSects.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([fi16s200r76]) #long. sup M1dintCentRCSects.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([fi16s200r85]) #long. inf. M1dintCentRCSects.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([fi16s200r60]) #transv. sup. M1dintCentRCSects.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([fi25s200r60]) #transv. inf. sections.append(M1dintCentRCSects)
#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( [rebars(16, 200, rnom)]) losSupV2RCSects.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [rebars(12, 200, rnom)]) losSupV2RCSects.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers( [rebars(16, 200, rnom + 20)]) losSupV2RCSects.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [rebars(12, 200, rnom + 20)]) losInfV2RCSects = element_section_map.RCSlabBeamSection( name='losInfV2RCSects', sectionDescr='losa aligerada, cara superior', concrType=concrete, reinfSteelType=reinfSteel, depth=espLosAlig, elemSet=losInfV2) #D1: transversal rebars
areaRebar=areaFi10, rebarsSpacing=0.20, width=BCheight, nominalCover=coverForAll + 0.15) layer5.nRebars = 6 shear1 = def_simple_RC_section.ShearReinforcement( 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 = def_simple_RC_section.LongReinfLayers( [layer1, layer2, layer3, layer4, layer5]) botColRCSects.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [layer1, layer2, layer4, layer5]) botColRCSects.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers( [layer1, layer2, layer3, layer4, layer5]) botColRCSects.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [layer1, layer2, layer4, layer5]) botColRCSects.dir1ShReinfY = shear1 botColRCSects.dir1ShReinfZ = shear1 botColRCSects.dir2ShReinfY = shear1 botColRCSects.dir2ShReinfZ = shear1 sections.append(botColRCSects) topColRCSects = element_section_map.RCSlabBeamSection( name='topColRCSects',
#Generic layers (rows of rebars). Other instance variables that we can define #for ReinfRows are coverLat and nRebars.If we define nRebars that #value overrides the rebarsSpacing barArea= 4e-4 barDiameter= math.sqrt(barArea)/math.pi reinfLayer= def_simple_RC_section.ReinfRow(rebarsDiam= barDiameter,areaRebar= barArea,rebarsSpacing=0.075,width=0.25,nominalCover=0.050) #instances of element_section_map.RCSlabBeamSection that defines 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 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')
rebarsSpacing=0.200, width=1.0, nominalCover=0.044) #instances of element_section_map.RCSlabBeamSection that defines 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 beamRCsect = element_section_map.RCSlabBeamSection(name='beamRCsect', sectionDescr='beam section', concrType=concrete, reinfSteelType=reinfSteel, width=wbeam, depth=hbeam) beamRCsect.lstRCSects[ 0].positvRebarRows = def_simple_RC_section.LongReinfLayers([fi10s200r44]) beamRCsect.lstRCSects[ 0].negatvRebarRows = def_simple_RC_section.LongReinfLayers([fi16s200r44]) beamRCsect.lstRCSects[ 1].positvRebarRows = def_simple_RC_section.LongReinfLayers([fi10s200r44]) beamRCsect.lstRCSects[ 1].negatvRebarRows = def_simple_RC_section.LongReinfLayers([fi16s200r44]) sections.append(beamRCsect) test = xc.FEProblem() preprocessor = test.getPreprocessor nodes = preprocessor.getNodeHandler # Problem type modelSpace = predefined_spaces.StructuralMechanics3D( nodes) #Defines the dimension of #the space: nodes by three coordinates (x,y,z) and six
datosScc1LosC = def_simple_RC_section.RCRectangularSection() datosScc1LosC.sectionName = "secHA1LosC" datosScc1LosC.sectionDescr = "Deck. Central portion. Section normal to X axis." concr = EHE_materials.HA30 concr.alfacc = 0.85 #f_maxd= 0.85*fcd datosScc1LosC.fiberSectionParameters.concrType = concr datosScc1LosC.h = 0.35 datosScc1LosC.b = 1.0001 datosScc1LosC.fiberSectionParameters.reinfSteelType = EHE_materials.B500S negRebRow = def_simple_RC_section.ReinfRow(nRebars=2, rebarsDiam=10e-10, width=datosScc1LosC.b) #negRebRow=def_simple_RC_section.ReinfRow() #negRebRow=def_simple_RC_section.ReinfRow(rebarsDiam=10e-3,areaRebar= EHE_materials.Fi10,rebarsSpacing=0.2,width=1.0,nominalCover=0.03) #negRebRow.setUp(nRebars=0,rebarsDiam=0.0,areaRebar=0.0,width=datosScc1LosC.b,cover=0.1) datosScc1LosC.negatvRebarRows = def_simple_RC_section.LongReinfLayers( [negRebRow]) posRebRow = def_simple_RC_section.ReinfRow( nRebars=6, rebarsDiam=26e-3, areaRebar=(areaFi22 + areaFi26) / 2.0, width=datosScc1LosC.b, nominalCover=0.05, nominalLatCover=0.08333 - 26e-3 / 2.) #posRebRow=def_simple_RC_section.ReinfRow() #posRebRow=def_simple_RC_section.ReinfRow(rebarsDiam=10e-3,areaRebar= EHE_materials.Fi10,rebarsSpacing=0.2,width=1.0,nominalCover=0.03) #posRebRow.setUp(nRebars=6,rebarsDiam=26e-3,areaRebar=(areaFi22+areaFi26)/2.0,width=datosScc1LosC.b,cover=0.05+0.026/2.0) datosScc1LosC.positvRebarRows = def_simple_RC_section.LongReinfLayers( [posRebRow]) #datosScc1LosC.negatvRebars.setUp(0,0.0,0.0,datosScc1LosC.b,0.1) #datosScc1LosC.positvRebars.setUp(6,26e-3,(areaFi22+areaFi26)/2.0,datosScc1LosC.b,0.05+0.026/2.0)
areaFi34= SIA262_materials.section_barres_courantes[34e-3] areaFi40= SIA262_materials.section_barres_courantes[40e-3] concrete= EHE_materials.HA30 concrete.alfacc=0.85 # f_maxd= 0.85*fcd concrete long term compressive strength factor (normally alfacc=1) reinfSteel= EHE_materials.B500S sccData=def_simple_RC_section.RCRectangularSection() sccData.sectionName= "sccData" sccData.sectionDescr= "Prueba." sccData.fiberSectionParameters.concrType= concrete sccData.h= 0.5 sccData.b= 1.0 sccData.fiberSectionParameters.reinfSteelType= reinfSteel sccData.negatvRebarRows= def_simple_RC_section.LongReinfLayers([def_simple_RC_section.ReinfRow(rebarsDiam=40e-3,areaRebar= areaFi40,rebarsSpacing=0.15,width=1.0,nominalCover=0.25-0.19)]) sccData.positvRebarRows= def_simple_RC_section.LongReinfLayers([def_simple_RC_section.ReinfRow(rebarsDiam=6e-3,areaRebar= areaFi6,rebarsSpacing=0.15,width=1.0,nominalCover=0.25-0.19)]) #sccData.setMainReinfNeg(40e-3,areaFi40,0.15,0.25-0.19) #sccData.setMainReinfPos(6e-3,areaFi6,0.15,0.25-0.19) feProblem= xc.FEProblem() feProblem.logFileName= "/tmp/erase.log" # Don't print(warnings.) feProblem.errFileName= "/tmp/erase.err" # Don't print(errors.) preprocessor= feProblem.getPreprocessor sccData.defRCSection(preprocessor, 'd') param= xc.InteractionDiagramParameters() diag= sccData.defInteractionDiagramNMy(preprocessor) #from materials.sections.fiber_section import plotSectionGeometry as pg #pg.plotInteractionDiagram2D(diag)
fi18s125r44=def_simple_RC_section.ReinfRow(rebarsDiam=18e-3,areaRebar= areaFi18,rebarsSpacing=0.125,width=1.0,nominalCover=0.044) fi18s150r35=def_simple_RC_section.ReinfRow(rebarsDiam=18e-3,areaRebar= areaFi18,rebarsSpacing=0.150,width=1.0,nominalCover=0.035) fi20s250r30=def_simple_RC_section.ReinfRow(rebarsDiam=20e-3,areaRebar= areaFi20,rebarsSpacing=0.250,width=1.0,nominalCover=0.030) fi20s150r35=def_simple_RC_section.ReinfRow(rebarsDiam=20e-3,areaRebar= areaFi20,rebarsSpacing=0.150,width=1.0,nominalCover=0.035) fi22s150r35=def_simple_RC_section.ReinfRow(rebarsDiam=22e-3,areaRebar= areaFi22,rebarsSpacing=0.150,width=1.0,nominalCover=0.035) fi20s125r30=def_simple_RC_section.ReinfRow(rebarsDiam=20e-3,areaRebar= areaFi20,rebarsSpacing=0.125,width=1.0,nominalCover=0.030) fi20s125r50=def_simple_RC_section.ReinfRow(rebarsDiam=20e-3,areaRebar= areaFi20,rebarsSpacing=0.125,width=1.0,nominalCover=0.050) fi26s250r30=def_simple_RC_section.ReinfRow(rebarsDiam=26e-3,areaRebar= areaFi26,rebarsSpacing=0.250,width=1.0,nominalCover=0.030) fi26s250r50=def_simple_RC_section.ReinfRow(rebarsDiam=26e-3,areaRebar= areaFi26,rebarsSpacing=0.250,width=1.0,nominalCover=0.050) fi26s150r35=def_simple_RC_section.ReinfRow(rebarsDiam=26e-3,areaRebar= areaFi26,rebarsSpacing=0.150,width=1.0,nominalCover=0.035) UpDeckExtSlabRCSect= element_section_map.RCSlabBeamSection('upDeckExtSlabRCSect',"underpass.",concrete, reinfSteel,upDeckTh) #[0]: transversal rebars #[1]: longitudinal rebars UpDeckExtSlabRCSect.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([fi20s150r35,fi20s150r35]) UpDeckExtSlabRCSect.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([fi22s150r35]) UpDeckExtSlabRCSect.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([fi16s150r35]) UpDeckExtSlabRCSect.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([fi16s150r35]) sections.append(UpDeckExtSlabRCSect) UpDeckIntSlabRCSect= element_section_map.RCSlabBeamSection('upDeckIntSlabRCSect',"underpass.",concrete, reinfSteel,upDeckTh) #[0]: transversal rebars #[1]: longitudinal rebars UpDeckIntSlabRCSect.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([fi16s150r35]) UpDeckIntSlabRCSect.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([fi26s150r35,fi22s150r35]) UpDeckIntSlabRCSect.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([fi16s150r35]) UpDeckIntSlabRCSect.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([fi18s150r35]) sections.append(UpDeckIntSlabRCSect)
areaRebar=areaFi16, rebarsSpacing=0.075, width=0.25, nominalCover=0.030) #instances of element_section_map.RCSlabBeamSection that defines 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 beamRCsect = element_section_map.RCSlabBeamSection(name='beamRCsect', sectionDescr='beam section', concrType=concrete, reinfSteelType=reinfSteel, width=wbeam, depth=hbeam) beamRCsect.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers( [fi10s75r30]) beamRCsect.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [fi16s75r30]) beamRCsect.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers( [fi10s75r30]) beamRCsect.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers( [fi16s75r30]) sections.append(beamRCsect) feProblem = xc.FEProblem() feProblem.errFileName = "/tmp/erase.err" # Don't print(errors.) preprocessor = feProblem.getPreprocessor nodes = preprocessor.getNodeHandler # Problem type modelSpace = predefined_spaces.StructuralMechanics3D( nodes) #Defines the dimension of
areaFi16 = 2.01e-4 areaFi20 = 3.14e-4 areaFi25 = 4.608e-4 basicCover = 0.06 numReinfBarsT = 5 sepT = 1.0 / numReinfBarsT numReinfBarsL = 7 sepL = 1.0 / numReinfBarsL sections = reinfConcreteSections.sectionDefinition deckSections = element_section_map.RCSlabBeamSection("deck", "RC deck.", concrete, reinfSteel, 0.3) deckSections.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers([ def_simple_RC_section.ReinfRow(rebarsDiam=12e-3, areaRebar=areaFi12, rebarsSpacing=sepT, nominalCover=basicCover) ]) deckSections.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers([ def_simple_RC_section.ReinfRow(rebarsDiam=12e-3, areaRebar=areaFi12, rebarsSpacing=sepT, nominalCover=basicCover) ]) deckSections.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers([ def_simple_RC_section.ReinfRow(rebarsDiam=20e-3, areaRebar=areaFi20, rebarsSpacing=sepL, nominalCover=basicCover + 12e-3) ]) deckSections.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers([
fi16s150r50=def_simple_RC_section.ReinfRow(rebarsDiam=16e-3,areaRebar= areaFi16,rebarsSpacing= 0.150,width=1.0,nominalCover= 0.050) fi18s150r40=def_simple_RC_section.ReinfRow(rebarsDiam=18e-3,areaRebar= areaFi18,rebarsSpacing= 0.150,width=1.0,nominalCover= 0.040) fi18s150r50=def_simple_RC_section.ReinfRow(rebarsDiam=18e-3,areaRebar= areaFi18,rebarsSpacing= 0.150,width=1.0,nominalCover= 0.050) fi20s150r40=def_simple_RC_section.ReinfRow(rebarsDiam=20e-3,areaRebar= areaFi20,rebarsSpacing= 0.150,width=1.0,nominalCover= 0.040) fi20s150r50=def_simple_RC_section.ReinfRow(rebarsDiam=20e-3,areaRebar= areaFi20,rebarsSpacing= 0.150,width=1.0,nominalCover=0.050) fi26s150r40=def_simple_RC_section.ReinfRow(rebarsDiam=26e-3,areaRebar= areaFi26,rebarsSpacing= 0.150,width=1.0,nominalCover= 0.040) fi26s150r50=def_simple_RC_section.ReinfRow(rebarsDiam=26e-3,areaRebar= areaFi26,rebarsSpacing= 0.150,width=1.0,nominalCover= 0.050) deckSlabRCSect= element_section_map.RCSlabBeamSection(name='deckSlabRCSect',sectionDescr="estacade.",concrType=concrete, reinfSteelType=reinfSteel,depth=0.20) #[0]: longitudinal rebars #[1]: transversal rebars deckSlabRCSect.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([fi14s150r50]) #Ok deckSlabRCSect.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([fi16s150r50]) #Ok deckSlabRCSect.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([fi8s150r40]) #Ok deckSlabRCSect.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([fi8s150r40]) #Ok sections.append(deckSlabRCSect) dockRCSect= element_section_map.RCSlabBeamSection(name='dockRCSect',sectionDescr="estacade.",concrType=concrete, reinfSteelType=reinfSteel,depth=0.20) #[0]: transversal rebars #[1]: longitudinal rebars dockRCSect.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([fi8s150r50]) #Ok dockRCSect.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([fi8s150r50]) #Ok dockRCSect.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([fi12s150r40]) #Ok dockRCSect.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([fi12s150r40]) #Ok sections.append(dockRCSect)