def rebars(fi, s, c): '''fi: bar diameter [mm], s: spacing [mm], c: cover [mm] ''' return def_simple_RC_section.ReinfRow(rebarsDiam=fi * 1e-3, areaRebar=math.pi * (fi * 1e-3)**2 / 4.0, rebarsSpacing=s * 1e-3, width=1.0, nominalCover=c * 1e-3)
# Define available sections for the elements (spatial distribution of RC sections). # It refers to the reinforced concrete sections associated with the element # (i.e. for shell elements we typically define two RC sections, one for each # main direction; in the case of beam elements the most common way is to define # RC sections in the front and back ends of the elements) reinfConcreteSectionDistribution= RC_material_distribution.RCMaterialDistribution() sections= reinfConcreteSectionDistribution.sectionDefinition #creates an RC sections container #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
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)
areaFi26 = SIA262_materials.section_barres_courantes[26e-3] areaFi30 = SIA262_materials.section_barres_courantes[30e-3] areaFi34 = SIA262_materials.section_barres_courantes[34e-3] areaFi40 = SIA262_materials.section_barres_courantes[40e-3] concrete = SIA262_materials.c25_30 reinfSteel = SIA262_materials.B500B #Define available sections for the elements (spatial distribution of RC sections). reinfConcreteSectionDistribution = RC_material_distribution.RCMaterialDistribution( ) sections = reinfConcreteSectionDistribution.sectionDefinition #Generic layers (rows of rebars) fi8s150r40 = def_simple_RC_section.ReinfRow(rebarsDiam=8e-3, areaRebar=areaFi8, rebarsSpacing=0.150, width=1.0, nominalCover=0.040) fi8s150r50 = def_simple_RC_section.ReinfRow(rebarsDiam=8e-3, areaRebar=areaFi8, rebarsSpacing=0.150, width=1.0, nominalCover=0.050) fi10s150r40 = def_simple_RC_section.ReinfRow(rebarsDiam=10e-3, areaRebar=areaFi10, rebarsSpacing=0.150, width=1.0, nominalCover=0.040) fi10s150r50 = def_simple_RC_section.ReinfRow(rebarsDiam=10e-3, areaRebar=areaFi10,
import math 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
# 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
__email__ = "*****@*****.**" width = 0.3 # Section width expressed in meters. depth = 0.4 # Section depth expressed in meters. cover = 0.05 # Concrete cover expressed in meters. NDato = -400e3 # Axial force for shear checking. MyDato = 1e5 # Bending moment for shear checking. MzDato = 1e3 # Bending moment for shear checking. rebarArea = 4e-4 rebarDiam = 2.0 * math.sqrt(rebarArea / math.pi) numOfRebars = 3 lowerRow = def_simple_RC_section.ReinfRow(areaRebar=rebarArea, width=width, nRebars=numOfRebars, nominalCover=cover - rebarDiam / 2.0, nominalLatCover=cover - rebarDiam / 2.0) upperRow = def_simple_RC_section.ReinfRow(areaRebar=rebarArea, width=width, nRebars=numOfRebars, nominalCover=cover - rebarDiam / 2.0, nominalLatCover=cover - 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
sections = reinfConcreteSectionDistribution.sectionDefinition #execfile('../generic_layers_aux.py') execfile('../generic_fis.py') botColRCSects = element_section_map.RCSlabBeamSection( name='botColRCSects', sectionDescr='fut fondation prefabriqué', concrType=concrete, reinfSteelType=reinfSteel, width=BCheight, depth=BCwidth) #auxiliar data layer1 = def_simple_RC_section.ReinfRow(rebarsDiam=22e-3, areaRebar=areaFi22, rebarsSpacing=coverForAll + 22e-3, width=BCheight, nominalCover=coverForAll) layer1.nRebars = 2 layer2 = def_simple_RC_section.ReinfRow(rebarsDiam=22e-3, areaRebar=areaFi22, rebarsSpacing=coverForAll + 22e-3, width=BCheight, nominalCover=coverForAll + 0.1) layer2.nRebars = 2 layer3 = def_simple_RC_section.ReinfRow(rebarsDiam=22e-3, areaRebar=areaFi22, rebarsSpacing=coverForAll + 22e-3, width=BCheight, nominalCover=coverForAll + 0.2) layer3.nRebars = 2
__email__ = "*****@*****.**" areaFi22 = SIA262_materials.section_barres_courantes[22e-3] areaFi26 = SIA262_materials.section_barres_courantes[26e-3] 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)
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
from solution import predefined_solutions # Solution procedure from materials.sections.fiber_section import def_simple_RC_section 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
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 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,
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)
''' Return factor used to modify development length based on reinforcement size according to table 25.4.2.4 of ACI 318-14. :param phi: bar diameter. ''' retval = 1.0 if (phi < standard_bars_diameters['#6']): retval = 0.8 return retval #Generic layers (rows of rebars) n2s150r45 = def_simple_RC_section.ReinfRow( rebarsDiam=standard_bars_diameters['#2'], areaRebar=standard_bars_areas['#2'], rebarsSpacing=0.150, width=1.0, nominalCover=0.045) n2s150r50 = def_simple_RC_section.ReinfRow( rebarsDiam=standard_bars_diameters['#2'], areaRebar=standard_bars_areas['#2'], rebarsSpacing=0.150, width=1.0, nominalCover=0.050) n3s150r45 = def_simple_RC_section.ReinfRow( rebarsDiam=standard_bars_diameters['#3'], areaRebar=standard_bars_areas['#3'], rebarsSpacing=0.150, width=1.0, nominalCover=0.045)
#Béton project: béton 35/25 #Dimensions of the pieces (rectangular approximation) hbeam = 0.25 wbeam = 0.5 areaFi8 = SIA262_materials.section_barres_courantes[8e-3] areaFi10 = SIA262_materials.section_barres_courantes[10e-3] areaFi16 = SIA262_materials.section_barres_courantes[16e-3] areaFi20 = SIA262_materials.section_barres_courantes[20e-3] #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 fi10s200r44 = def_simple_RC_section.ReinfRow(rebarsDiam=10e-3, areaRebar=areaFi10, rebarsSpacing=0.200, width=1.0, nominalCover=0.044) fi16s200r44 = def_simple_RC_section.ReinfRow(rebarsDiam=16e-3, areaRebar=areaFi16, rebarsSpacing=0.200, width=1.0, nominalCover=0.044) fi20s200r44 = def_simple_RC_section.ReinfRow(rebarsDiam=20e-3, areaRebar=areaFi20, rebarsSpacing=0.200, width=1.0, nominalCover=0.044) fi8s200r44 = def_simple_RC_section.ReinfRow(rebarsDiam=8e-3, areaRebar=areaFi8, rebarsSpacing=0.200,
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)
casos.currentLoadPattern = "B" for e in elements: e.vector3dUniformLoadGlobal(0.5 * fUnif) # Combinaciones combs = cargas.getLoadCombinations combs.newLoadCombination("CombA", "1.00*A") combs.newLoadCombination("CombB", "1.00*B") #Reinforced concrete sections from materials.sections.fiber_section import def_simple_RC_section from postprocess import element_section_map concrete = EC2_materials.C30 mainBottReinf = def_simple_RC_section.ReinfRow(rebarsDiam=fiBott, areaRebar=math.pi * fiBott**2 / 4., width=width, nominalCover=cover) mainBottReinf.nRebars = nmbBarsBott beamRCSect = element_section_map.RCSlabBeamSection(name='beamRCSect', sectionDescr='beam', concrType=concrete, reinfSteelType=rfSteel, width=width, depth=depth, elemSetName='total') beamRCSect.dir1NegatvRebarRows = mainBottReinf beamRCSect.dir2NegatvRebarRows = mainBottReinf #list of RC sections (from those whose attributes (materials, geometry, refinforcement, set of elements to which apply, ... are defined in the file 'sectionsDef.py') that we want to process in order to run different limit-state checkings. lstOfSectRecords = [beamRCSect]
# Define available sections for the elements (spatial distribution of RC sections). # It refers to the reinforced concrete sections associated with the element # (i.e. for shell elements we typically define two RC sections, one for each # main direction; in the case of beam elements the most common way is to define # RC sections in the front and back ends of the elements) reinfConcreteSectionDistribution = RC_material_distribution.RCMaterialDistribution( ) sections = reinfConcreteSectionDistribution.sectionDefinition #creates an RC sections container #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 fi10s75r30 = def_simple_RC_section.ReinfRow(rebarsDiam=10e-3, areaRebar=areaFi10, rebarsSpacing=0.075, width=0.25, nominalCover=0.030) fi16s75r30 = def_simple_RC_section.ReinfRow(rebarsDiam=16e-3, 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,
areaFi18= SIA262_materials.section_barres_courantes[18e-3] areaFi20= SIA262_materials.section_barres_courantes[20e-3] areaFi22= SIA262_materials.section_barres_courantes[22e-3] areaFi26= SIA262_materials.section_barres_courantes[26e-3] areaFi30= SIA262_materials.section_barres_courantes[30e-3] areaFi34= SIA262_materials.section_barres_courantes[34e-3] areaFi40= SIA262_materials.section_barres_courantes[40e-3] concrete= concrete.c30_37 reinfSteel= SIA262_materials.B500A reinfConcreteSectionDistribution= RC_material_distribution.RCMaterialDistribution() sections= reinfConcreteSectionDistribution.sectionDefinition #Generic layers (rows of rebars) fi8s125r30=def_simple_RC_section.ReinfRow(rebarsDiam=8e-3,areaRebar= areaFi8,rebarsSpacing=0.125,width=1.0,nominalCover=0.030) fi8s125r44=def_simple_RC_section.ReinfRow(rebarsDiam=8e-3,areaRebar= areaFi8,rebarsSpacing=0.125,width=1.0,nominalCover=0.044) fi10s200r44=def_simple_RC_section.ReinfRow(rebarsDiam=10e-3,areaRebar= areaFi10,rebarsSpacing=0.200,width=1.0,nominalCover=0.044) fi10s250r42=def_simple_RC_section.ReinfRow(rebarsDiam=10e-3,areaRebar= areaFi10,rebarsSpacing=0.250,width=1.0,nominalCover=0.042) fi12s250r30=def_simple_RC_section.ReinfRow(rebarsDiam=12e-3,areaRebar= areaFi12,rebarsSpacing=0.250,width=1.0,nominalCover=0.030) fi12s250r46=def_simple_RC_section.ReinfRow(rebarsDiam=12e-3,areaRebar= areaFi12,rebarsSpacing=0.250,width=1.0,nominalCover=0.046) fi12s150r35=def_simple_RC_section.ReinfRow(rebarsDiam=12e-3,areaRebar= areaFi12,rebarsSpacing=0.150,width=1.0,nominalCover=0.035) fi14s250r30=def_simple_RC_section.ReinfRow(rebarsDiam=14e-3,areaRebar= areaFi14,rebarsSpacing=0.25,width=1.0,nominalCover=0.030) fi14s125r30=def_simple_RC_section.ReinfRow(rebarsDiam=14e-3,areaRebar= areaFi14,rebarsSpacing=0.125,width=1.0,nominalCover=0.030) fi16s125r30=def_simple_RC_section.ReinfRow(rebarsDiam=16e-3,areaRebar= areaFi16,rebarsSpacing=0.125,width=1.0,nominalCover=0.030) fi16s250r50=def_simple_RC_section.ReinfRow(rebarsDiam=16e-3,areaRebar= areaFi16,rebarsSpacing=0.250,width=1.0,nominalCover=0.050) fi16s150r35=def_simple_RC_section.ReinfRow(rebarsDiam=16e-3,areaRebar= areaFi16,rebarsSpacing=0.150,width=1.0,nominalCover=0.035) fi16s250r56=def_simple_RC_section.ReinfRow(rebarsDiam=16e-3,areaRebar= areaFi16,rebarsSpacing=0.250,width=1.0,nominalCover=0.056) fi18s125r30=def_simple_RC_section.ReinfRow(rebarsDiam=18e-3,areaRebar= areaFi18,rebarsSpacing=0.125,width=1.0,nominalCover=0.030) 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)
__copyright__= "Copyright 2020, LCPT" __license__= "GPL" __version__= "3.0" __email__= "*****@*****.**" 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)
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([
concrete = EHE_materials.HA45 concrete.alfacc = 0.85 #concrete fatigue factor (generalmente se toma alfacc=1) reinfSteel = EHE_materials.B500S dRebar = 0.15 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 negReb = def_simple_RC_section.ReinfRow(rebarsDiam=40e-3, areaRebar=areaFi40, rebarsSpacing=dRebar, width=1.0, nominalCover=0.25 - 0.19) sccData.negatvRebarRows = def_simple_RC_section.LongReinfLayers([negReb]) posReb = def_simple_RC_section.ReinfRow(rebarsDiam=6e-3, areaRebar=areaFi6, rebarsSpacing=dRebar, width=1.0, nominalCover=0.25 - 0.19) sccData.positvRebarRows = def_simple_RC_section.LongReinfLayers([posReb]) zinf = sccData.h / 2.0 zsup = -sccData.h / 2.0 prueba = xc.FEProblem() #prueba.logFileName= "/tmp/borrar.log" # Don't print warnings.