Beispiel #1
0
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)
Beispiel #2
0
# 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
Beispiel #3
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

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)
Beispiel #4
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.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,
Beispiel #5
0
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
Beispiel #6
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
__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
Beispiel #8
0
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
Beispiel #9
0
__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)
Beispiel #10
0
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
Beispiel #11
0
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
Beispiel #12
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,
Beispiel #13
0
                       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)
Beispiel #14
0
    ''' 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)
Beispiel #15
0
#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,
Beispiel #16
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)
Beispiel #17
0
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,
Beispiel #19
0
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)
Beispiel #20
0
__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)
Beispiel #21
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 = 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([
Beispiel #22
0
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.