示例#1
0
# (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 MainReinfLayers are coverLat and nRebars.If we define nRebars that
#value overrides the rebarsSpacing
barArea = 4e-4
barDiameter = math.sqrt(barArea) / math.pi

reinfLayer = defSimpleRCSection.MainReinfLayer(rebarsDiam=barDiameter,
                                               areaRebar=barArea,
                                               rebarsSpacing=0.075,
                                               width=0.25,
                                               nominalCover=0.050)

#instances of defSimpleRCSection.RecordRCSlabBeamSection 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 = defSimpleRCSection.RecordRCSlabBeamSection(
    name='beamRCsect',
    sectionDescr='beam section',
    concrType=concr,
    reinfSteelType=reinfSteel,
    width=sectionGeometry.b,
    depth=sectionGeometry.h)
示例#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 defSimpleRCSection.RecordRCSlabBeamSection 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 = defSimpleRCSection.MainReinfLayer(rebarsDiam=20e-3,
                                               areaRebar=areaFi20,
                                               width=1.0,
                                               nominalCover=0.050)
Twofi20r50.nRebars = 2
Twofi20r50.coverLat = 0.05

Twofi10r50 = defSimpleRCSection.MainReinfLayer(rebarsDiam=10e-3,
                                               areaRebar=areaFi10,
                                               width=1.0,
                                               nominalCover=0.050)
Twofi10r50.nRebars = 2
Twofi10r50.coverLat = 0.05

cantlvRCSects = defSimpleRCSection.RecordRCSlabBeamSection(
    name='cantlvRCSects',
    sectionDescr='cantilever of shell elements',
    concrType=concrete,
示例#3
0
__version__ = "3.0"
__email__ = "*****@*****.**"

areaFi22 = SIA262_materials.section_barres_courantes[22e-3]
areaFi26 = SIA262_materials.section_barres_courantes[26e-3]

datosScc1LosC = defSimpleRCSection.RecordRCSimpleSection()
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.concrType = concr
datosScc1LosC.h = 0.35
datosScc1LosC.b = 1.0
datosScc1LosC.reinfSteelType = EHE_materials.B500S
negRebRow = defSimpleRCSection.MainReinfLayer()
negRebRow.setUp(nRebars=0,
                rebarsDiam=0.0,
                areaRebar=0.0,
                width=datosScc1LosC.b,
                cover=0.1)
datosScc1LosC.negatvRebarRows = [negRebRow]
posRebRow = defSimpleRCSection.MainReinfLayer()
posRebRow.setUp(nRebars=6,
                rebarsDiam=26e-3,
                areaRebar=(areaFi22 + areaFi26) / 2.0,
                width=datosScc1LosC.b,
                cover=0.05 + 0.026 / 2.0)
datosScc1LosC.positvRebarRows = [posRebRow]

#datosScc1LosC.negatvRebars.setUp(0,0.0,0.0,datosScc1LosC.b,0.1)
concrete= SIA262_materials.c30_37
reinfSteel= SIA262_materials.SpecialII1956SIA161
#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 MainReinfLayers are coverLat and nRebars.If we define nRebars that
#value overrides the rebarsSpacing
fi10s200r44=defSimpleRCSection.MainReinfLayer(rebarsDiam=10e-3,areaRebar= areaFi10,rebarsSpacing=0.200,width=1.0,nominalCover=0.044)
fi16s200r44=defSimpleRCSection.MainReinfLayer(rebarsDiam=16e-3,areaRebar= areaFi16,rebarsSpacing=0.200,width=1.0,nominalCover=0.044)
fi20s200r44=defSimpleRCSection.MainReinfLayer(rebarsDiam=20e-3,areaRebar= areaFi20,rebarsSpacing=0.200,width=1.0,nominalCover=0.044)
fi8s200r44=defSimpleRCSection.MainReinfLayer(rebarsDiam=8e-3,areaRebar= areaFi8,rebarsSpacing=0.200,width=1.0,nominalCover=0.044)

#instances of defSimpleRCSection.RecordRCSlabBeamSection 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=defSimpleRCSection.RecordRCSlabBeamSection(name='beamRCsect',sectionDescr='beam section',concrType=concrete, reinfSteelType=reinfSteel,width=wbeam,depth=hbeam)
beamRCsect.lstRCSects[0].positvRebarRows=[fi10s200r44]
beamRCsect.lstRCSects[0].negatvRebarRows=[fi16s200r44]
beamRCsect.lstRCSects[1].positvRebarRows=[fi10s200r44]
beamRCsect.lstRCSects[1].negatvRebarRows=[fi16s200r44]
sections.append(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 MainReinfLayers are coverLat and nRebars.If we define nRebars that
#value overrides the rebarsSpacing
fi10s75r30 = defSimpleRCSection.MainReinfLayer(rebarsDiam=10e-3,
                                               areaRebar=areaFi10,
                                               rebarsSpacing=0.075,
                                               width=0.25,
                                               nominalCover=0.030)
fi16s75r30 = defSimpleRCSection.MainReinfLayer(rebarsDiam=16e-3,
                                               areaRebar=areaFi16,
                                               rebarsSpacing=0.075,
                                               width=0.25,
                                               nominalCover=0.030)

#instances of defSimpleRCSection.RecordRCSlabBeamSection 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 = defSimpleRCSection.RecordRCSlabBeamSection(
    name='beamRCsect',
    sectionDescr='beam section',
示例#6
0
sections = reinfConcreteSectionDistribution.sectionDefinition

#execfile('../generic_layers_aux.py')
execfile('../generic_fis.py')

botColRCSects = defSimpleRCSection.RecordRCSlabBeamSection(
    name='botColRCSects',
    sectionDescr='fut fondation prefabriqué',
    concrType=concrete,
    reinfSteelType=reinfSteel,
    width=BCheight,
    depth=BCwidth)
#auxiliar data
layer1 = defSimpleRCSection.MainReinfLayer(rebarsDiam=22e-3,
                                           areaRebar=areaFi22,
                                           rebarsSpacing=coverForAll + 22e-3,
                                           width=BCheight,
                                           nominalCover=coverForAll)
layer1.nRebars = 2
layer2 = defSimpleRCSection.MainReinfLayer(rebarsDiam=22e-3,
                                           areaRebar=areaFi22,
                                           rebarsSpacing=coverForAll + 22e-3,
                                           width=BCheight,
                                           nominalCover=coverForAll + 0.1)
layer2.nRebars = 2
layer3 = defSimpleRCSection.MainReinfLayer(rebarsDiam=22e-3,
                                           areaRebar=areaFi22,
                                           rebarsSpacing=coverForAll + 22e-3,
                                           width=BCheight,
                                           nominalCover=coverForAll + 0.2)
layer3.nRebars = 2
示例#7
0
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.c35_45  #Rapport ERTEC 2013 page 10/28.
reinfSteel = SIA262_materials.SpecialII1956SIA161
#Define available sections for the elements (spatial distribution of RC sections).
reinfConcreteSectionDistribution = RC_material_distribution.RCMaterialDistribution(
)
sections = reinfConcreteSectionDistribution.sectionDefinition

#Generic layers (rows of rebars)
fi8s125r30 = defSimpleRCSection.MainReinfLayer(rebarsDiam=8e-3,
                                               areaRebar=areaFi8,
                                               rebarsSpacing=0.125,
                                               width=1.0,
                                               nominalCover=0.030)
fi8s125r44 = defSimpleRCSection.MainReinfLayer(rebarsDiam=8e-3,
                                               areaRebar=areaFi8,
                                               rebarsSpacing=0.125,
                                               width=1.0,
                                               nominalCover=0.044)
fi10s200r44 = defSimpleRCSection.MainReinfLayer(rebarsDiam=10e-3,
                                                areaRebar=areaFi10,
                                                rebarsSpacing=0.200,
                                                width=1.0,
                                                nominalCover=0.044)
fi10s250r42 = defSimpleRCSection.MainReinfLayer(rebarsDiam=10e-3,
                                                areaRebar=areaFi10,
                                                rebarsSpacing=0.250,
示例#8
0
    return retval

def getPsi_sFromDiameter(phi):
    ''' 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= defSimpleRCSection.MainReinfLayer(rebarsDiam=standard_bars_diameters['#2'],areaRebar= standard_bars_areas['#2'],rebarsSpacing= 0.150,width=1.0,nominalCover= 0.045)
n2s150r50= defSimpleRCSection.MainReinfLayer(rebarsDiam=standard_bars_diameters['#2'],areaRebar= standard_bars_areas['#2'],rebarsSpacing= 0.150,width=1.0,nominalCover=0.050)

n3s150r45= defSimpleRCSection.MainReinfLayer(rebarsDiam=standard_bars_diameters['#3'],areaRebar= standard_bars_areas['#3'],rebarsSpacing= 0.150,width=1.0,nominalCover= 0.045)
n3s150r50= defSimpleRCSection.MainReinfLayer(rebarsDiam=standard_bars_diameters['#3'],areaRebar= standard_bars_areas['#3'],rebarsSpacing= 0.150,width=1.0,nominalCover=0.050)

n4s150r45= defSimpleRCSection.MainReinfLayer(rebarsDiam=standard_bars_diameters['#4'],areaRebar= standard_bars_areas['#4'],rebarsSpacing= 0.150,width=1.0,nominalCover=0.040)
n4s150r50= defSimpleRCSection.MainReinfLayer(rebarsDiam=standard_bars_diameters['#4'],areaRebar= standard_bars_areas['#4'],rebarsSpacing= 0.150,width=1.0,nominalCover=0.050)

n5s150r45= defSimpleRCSection.MainReinfLayer(rebarsDiam=standard_bars_diameters['#5'],areaRebar= standard_bars_areas['#5'],rebarsSpacing= 0.150,width=1.0,nominalCover= 0.045)
n5s150r50= defSimpleRCSection.MainReinfLayer(rebarsDiam=standard_bars_diameters['#5'],areaRebar= standard_bars_areas['#5'],rebarsSpacing= 0.150,width=1.0,nominalCover= 0.050)

n6s150r45= defSimpleRCSection.MainReinfLayer(rebarsDiam=standard_bars_diameters['#6'],areaRebar= standard_bars_areas['#6'],rebarsSpacing= 0.150,width=1.0,nominalCover= 0.045)
n6s150r50= defSimpleRCSection.MainReinfLayer(rebarsDiam=standard_bars_diameters['#6'],areaRebar= standard_bars_areas['#6'],rebarsSpacing= 0.150,width=1.0,nominalCover= 0.050)

n7s150r45= defSimpleRCSection.MainReinfLayer(rebarsDiam=standard_bars_diameters['#7'],areaRebar= standard_bars_areas['#7'],rebarsSpacing= 0.150,width=1.0,nominalCover= 0.045)
示例#9
0

from postprocess.xcVtk.FE_model import quick_graphics as QGrph


#    ***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 defSimpleRCSection
beamRCsect=defSimpleRCSection.RecordRCSlabBeamSection(name='beamRCsect',sectionDescr='beam',concrType=concrete, reinfSteelType=reinfSteel,width=width,depth=depth,elemSetName='beamSet')
mainBottReinf=defSimpleRCSection.MainReinfLayer(rebarsDiam=fiBott,areaRebar=math.pi*fiBott**2/4.,width=width,nominalCover=cover)
mainBottReinf.nRebars=nmbBarsBott
beamRCsect.dir1NegatvRebarRows=[mainBottReinf]
beamRCsect.dir2NegatvRebarRows=[mainBottReinf]

#Assigning of sections
from postprocess import RC_material_distribution
from postprocess import element_section_map

# 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
beamRCsect.creaTwoSections()
sections.append(beamRCsect)
#Generation of the distribution of material extended to the elements of the
示例#10
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=defSimpleRCSection.RecordRCSimpleSection()
sccData.sectionName= "sccData"
sccData.sectionDescr= "Prueba."
sccData.concrType= concrete
sccData.h= 0.5
sccData.b= 1.0
sccData.reinfSteelType= reinfSteel
sccData.negatvRebarRows=[defSimpleRCSection.MainReinfLayer(rebarsDiam=40e-3,areaRebar= areaFi40,rebarsSpacing=0.15,width=1.0,nominalCover=0.25-0.19)]
sccData.positvRebarRows=[defSimpleRCSection.MainReinfLayer(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.defRCSimpleSection(preprocessor, 'd')
param= xc.InteractionDiagramParameters()
diag= sccData.defInteractionDiagramNMy(preprocessor)
#from materials.sections.fiber_section import plotSectionGeometry as pg
#pg.plotInteractionDiagram2D(diag)
示例#11
0
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 = defSimpleRCSection.RecordRCSlabBeamSection(
    "deck", "RC deck.", concrete, reinfSteel, 0.3)
deckSections.dir2PositvRebarRows = [
    defSimpleRCSection.MainReinfLayer(rebarsDiam=12e-3,
                                      areaRebar=areaFi12,
                                      rebarsSpacing=sepT,
                                      nominalCover=basicCover)
]
deckSections.dir2NegatvRebarRows = [
    defSimpleRCSection.MainReinfLayer(rebarsDiam=12e-3,
                                      areaRebar=areaFi12,
                                      rebarsSpacing=sepT,
                                      nominalCover=basicCover)
]
deckSections.dir1PositvRebarRows = [
    defSimpleRCSection.MainReinfLayer(rebarsDiam=20e-3,
                                      areaRebar=areaFi20,
                                      rebarsSpacing=sepL,
                                      nominalCover=basicCover + 12e-3)
]
deckSections.dir1NegatvRebarRows = [
示例#12
0
from model import predefined_spaces

__author__ = "Luis C. Pérez Tato (LCPT) and Ana Ortega (AOO)"
__copyright__ = "Copyright 2015, LCPT and AOO"
__license__ = "GPL"
__version__ = "3.0"
__email__ = "*****@*****.**"

datosScc1LosC = defSimpleRCSection.RecordRCSimpleSection()
datosScc1LosC.sectionName = "secHA1LosC"
datosScc1LosC.sectionDescr = "Losa. Central portion. Section normal to X axis."
datosScc1LosC.concrType = EHE_materials.HA25
datosScc1LosC.depth = 0.25
datosScc1LosC.width = 1.0
datosScc1LosC.reinfSteelType = EHE_materials.B500S
rebNeg = defSimpleRCSection.MainReinfLayer()
rebNeg.setUp(nRebars=5,
             areaRebar=EHE_materials.Fi10,
             cover=0.025 + 0.010 + 0.010 / 2.0)
datosScc1LosC.negatvRebarRows = [rebNeg]
rebPos = defSimpleRCSection.MainReinfLayer()
rebNeg.setUp(nRebars=5,
             areaRebar=EHE_materials.Fi10,
             cover=0.025 + 0.010 / 2.0)
datosScc1LosC.positvRebarRows = [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
示例#13
0
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 = defSimpleRCSection.RecordRCSimpleSection()
sccData.sectionName = "sccData"
sccData.sectionDescr = "Prueba."
sccData.concrType = concrete
sccData.h = 0.5
sccData.b = 1.0
sccData.reinfSteelType = reinfSteel
sccData.negatvRebarRows = [
    defSimpleRCSection.MainReinfLayer(rebarsDiam=40e-3,
                                      areaRebar=areaFi40,
                                      rebarsSpacing=0.15,
                                      width=1.0,
                                      nominalCover=0.25 - 0.19)
]
sccData.positvRebarRows = [
    defSimpleRCSection.MainReinfLayer(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.
示例#14
0
def rebars(fi,s,c):
    '''fi: bar diameter [mm], s: spacing [mm], c: cover [mm]
    '''
    return defSimpleRCSection.MainReinfLayer(rebarsDiam=fi*1e-3,areaRebar= math.pi*(fi*1e-3)**2/4.0,rebarsSpacing=s*1e-3,width=1.0,nominalCover=c*1e-3)
示例#15
0
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.c30_37  #Rapport ERTEC 2013 page 10/28.
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 = defSimpleRCSection.MainReinfLayer(rebarsDiam=8e-3,
                                               areaRebar=areaFi8,
                                               rebarsSpacing=0.150,
                                               width=1.0,
                                               nominalCover=0.040)
fi8s150r50 = defSimpleRCSection.MainReinfLayer(rebarsDiam=8e-3,
                                               areaRebar=areaFi8,
                                               rebarsSpacing=0.150,
                                               width=1.0,
                                               nominalCover=0.050)

fi10s150r40 = defSimpleRCSection.MainReinfLayer(rebarsDiam=10e-3,
                                                areaRebar=areaFi10,
                                                rebarsSpacing=0.150,
                                                width=1.0,
                                                nominalCover=0.040)
fi10s150r50 = defSimpleRCSection.MainReinfLayer(rebarsDiam=10e-3,
                                                areaRebar=areaFi10,
示例#16
0
execfile('generic_layers_aux.py')

#instances of defSimpleRCSection.RecordRCSlabBeamSection 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 = defSimpleRCSection.RecordRCSlabBeamSection(
    name='deckRCSects',
    sectionDescr='slab of shell elements',
    concrType=concrete,
    reinfSteelType=reinfSteel,
    depth=deckThickness)
deckLong = defSimpleRCSection.MainReinfLayer(rebarsDiam=16e-3,
                                             areaRebar=areaFi16,
                                             rebarsSpacing=0.150,
                                             width=1.0,
                                             nominalCover=0.040)
deckRCSects.dir1PositvRebarRows = [deckLong]  #long. sup.
deckRCSects.dir1NegatvRebarRows = [deckLong]  #long. inf.
deckTransv = defSimpleRCSection.MainReinfLayer(
    rebarsDiam=13e-3,
    areaRebar=(areaFi12 + areaFi14) / 2.0,
    rebarsSpacing=0.150,
    width=1.0,
    nominalCover=0.040)
deckRCSects.dir2PositvRebarRows = [deckTransv]  #transv. sup.
deckRCSects.dir2NegatvRebarRows = [deckTransv]  #transv. inf.
deckRCSects.creaTwoSections()
sections.append(deckRCSects)