Пример #1
0
def armaduraZonas(nZona, recNom, losaRC, cartIntRC, cartExtRC, volIntRC,
                  volExtRC, arm1, arm2, arm4, arm5, arm6a, arm6b, arm7, arm8,
                  arm9a, arm9b, arm10, arm1P, arm2P, arm3P, arm4P, cercos):
    '''armaduras definidas para una zona de armado. Diámetros armadura y separación en mm.

    nZona: nº zona armado
    recNom: recubrimiento
    arm1: losa, trasv inf. [diam,sep]
    arm2: cartabón, trasv inf. [diam,sep]
    arm4: voladizo, trasv inf. [diam,sep]
    arm5: losa, trasv sup. [diam,sep]
    arm6a: losa, long.inf. [diam,sep]
    arm6b: losa, long.inf.(2ª capa) [diam,sep]. Si=None, no aplica
    arm7: cartabón, long. inf. [diam,sep]
    arm8: voladizo, long. inf. [diam,sep]
    arm9a: losa, long. sup. [diam,sep]
    arm9b: losa, long. sup.(2ª capa) [diam,sep]. Si=None, no aplica
    arm10: voladizo, long. sup. [diam,sep]
    arm1P: refuerzo transversal inferior en riostra pila. Si=None, no aplica
    arm2P: refuerzo transversal superior en riostra pila. Si=None, no aplica
    arm3P: refuerzo transversal medio canto en riostra pila. Si=None, no aplica
    arm4P: cercos refuerzo cortante en riostra pila. Si=None, no aplica
    cercos: armadura de cortante en losa
    '''
    #armaduras losa
    RCSet = losaRC[nZona - 1]
    armaduraLosa(RCSet, recNom, arm1, arm2, arm4, arm5, arm6a, arm6b, arm7,
                 arm8, arm9a, arm9b, arm10, arm1P, arm2P, arm3P, arm4P, cercos)
    #armaduras cartabón
    RCSets = [cartIntRC[nZona - 1], cartExtRC[nZona - 1]]
    for RCSet in RCSets:
        RCSet.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers(
            [rcs.rebLayer_mm(arm5[0], arm5[1], rnom)])  #transv. sup.
        RCSet.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers(
            [rcs.rebLayer_mm(arm2[0], arm2[1], rnom)])  #transv. inf.
        RCSet.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers(
            [rcs.rebLayer_mm(arm9a[0], arm9a[1], rnom + arm5[0])])  #long. sup.
        RCSet.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers(
            [rcs.rebLayer_mm(arm7[0], arm7[1], rnom + arm2[0])])  #long. inf.
        if arm9b:
            RCSet.dir2PositvRebarRows.append(
                rcs.rebLayer_mm(arm9b[0], arm9b[1], rnom + arm5[0] +
                                arm9a[0]))  #long. sup. 2a. capa
    #armaduras voladizo
    RCSets = [volIntRC[nZona - 1], volExtRC[nZona - 1]]
    for RCSet in RCSets:
        RCSet.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers(
            [rcs.rebLayer_mm(arm5[0], arm5[1], rnom)])  #transv. sup.
        RCSet.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers(
            [rcs.rebLayer_mm(arm4[0], arm4[1], rnom)])  #transv. inf.
        RCSet.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers(
            [rcs.rebLayer_mm(arm10[0], arm10[1], rnom + arm5[0])])  #long. sup.
        RCSet.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers(
            [rcs.rebLayer_mm(arm8[0], arm8[1], rnom + arm4[0])])  #long. inf.
Пример #2
0
#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(
    [rcs.rebLayer_mm(25, 400, rnom)])
losSupV2RCSects.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers(
    [rcs.rebLayer_mm(20, 400, rnom + espLosAlig / 2.)])
losSupV2RCSects.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers(
    [rcs.rebLayer_mm(16, 200, rnom + 20)])
losSupV2RCSects.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers(
    [rcs.rebLayer_mm(12, 200, rnom + espLosAlig / 2.)])

losInfV2RCSects = element_section_map.RCSlabBeamSection(
    name='losInfV2RCSects',
    sectionDescr='losa aligerada, cara superior',
    concrType=concrete,
    reinfSteelType=reinfSteel,
    depth=espLosAlig,
    elemSet=losInfV2)
#D1: transversal rebars
Пример #3
0
lRectEqPila=round(math.pi**0.5*diamPilas/2.,3)
concrete=EHE_materials.HA30
reinfSteel= EHE_materials.B500S
rnom=35 #recubrimiento nominal 

#   ***Armadura  pilas***
#Armadura longitudinal en cada cara de la pila
lnPil=[16,50]  #armadura longitudinal en cada cara de la pila
# Cercos
nramas_m=3  #nº de ramas en cada dirección
diam_cercos=12
sep_long=250
cercosPil=[diam_cercos,nramas_m,sep_long]
pilasRCSects=rcs.RecordRCSlabBeamSection(name='pilasRCSects',sectionDescr='pilas',concrType=concrete, reinfSteelType=reinfSteel,width=lRectEqPila,depth=lRectEqPila,elemSetName='pilas')

pilasRCSects.dir1PositvRebarRows=[rcs.rebLayer_mm(lnPil[0],lnPil[1],rnom)]
pilasRCSects.dir1NegatvRebarRows=[rcs.rebLayer_mm(lnPil[0],lnPil[1],rnom)]
pilasRCSects.dir2PositvRebarRows=[rcs.rebLayer_mm(lnPil[0],lnPil[1],rnom)]
pilasRCSects.dir2NegatvRebarRows=[rcs.rebLayer_mm(lnPil[0],lnPil[1],rnom)]

pilasRCSects.dir1ShReinfZ=rcs.RecordShearReinforcement(familyName= "sh",nShReinfBranches=cercosPil[1],areaShReinfBranch= math.pi*(cercosPil[0]*1e-3)**2/4.,shReinfSpacing=cercosPil[2]*1e-3,angAlphaShReinf= math.pi/2.0,angThetaConcrStruts= math.pi/4.0)
pilasRCSects.dir2ShReinfZ=rcs.RecordShearReinforcement(familyName= "sh",nShReinfBranches=cercosPil[1],areaShReinfBranch= math.pi*(cercosPil[0]*1e-3)**2/4.,shReinfSpacing=cercosPil[2]*1e-3,angAlphaShReinf= math.pi/2.0,angThetaConcrStruts= math.pi/4.0)

pilasRCSects.dir1ShReinfY=rcs.RecordShearReinforcement(familyName= "sh",nShReinfBranches=cercosPil[1],areaShReinfBranch= math.pi*(cercosPil[0]*1e-3)**2/4.,shReinfSpacing=cercosPil[2]*1e-3,angAlphaShReinf= math.pi/2.0,angThetaConcrStruts= math.pi/4.0)
pilasRCSects.dir2ShReinfY=rcs.RecordShearReinforcement(familyName= "sh",nShReinfBranches=cercosPil[1],areaShReinfBranch= math.pi*(cercosPil[0]*1e-3)**2/4.,shReinfSpacing=cercosPil[2]*1e-3,angAlphaShReinf= math.pi/2.0,angThetaConcrStruts= math.pi/4.0)

# All this is made only to allow the
# creation of the RCMaterialDistribution
feProblem= xc.FEProblem()
preprocessor=  feProblem.getPreprocessor
nodeHandler= preprocessor.getNodeHandler
Пример #4
0
def armaduraLosa(RCSet, recNom, arm1, arm2, arm4, arm5, arm6a, arm6b, arm7,
                 arm8, arm9a, arm9b, arm10, ref1Inf, ref2Sup, ref3Mid,
                 cercosRef, cercos):
    '''armaduras losa o riostra estribo. Diámetros armadura y separación en mm.
    arm1: losa, trasv inf. [diam,sep]
    arm2: cartabón, trasv inf. [diam,sep]
    arm4: voladizo, trasv inf. [diam,sep]
    arm5: losa, trasv sup. [diam,sep]
    arm6a: losa, long.inf. [diam,sep]
    arm6b: losa, long.inf.(2ª capa) [diam,sep]. Si=None, no aplica
    arm7: cartabón, long. inf. [diam,sep]
    arm8: voladizo, long. inf. [diam,sep]
    arm9a: losa, long. sup. [diam,sep]
    arm9b: losa, long. sup.(2ª capa) [diam,sep]. Si=None, no aplica
    arm10: voladizo, long. sup. [diam,sep]
    ref1Inf: refuerzo transversal inferior. Si=None, no aplica
    ref2Sup: refuerzo transversal superior. Si=None, no aplica
    ref3Mid: refuerzo transversal medio canto. Si=None, no aplica
    cercosRef: refuerzo cercos
    cercos: armadura de cortante en losa
    '''
    RCSet.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers(
        [rcs.rebLayer_mm(arm5[0], arm5[1], rnom)])  #transv. sup.
    RCSet.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers(
        [rcs.rebLayer_mm(arm1[0], arm1[1], rnom)])  #transv. inf.
    RCSet.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers(
        [rcs.rebLayer_mm(arm9a[0], arm9a[1], rnom + arm5[0])])  #long. sup.
    RCSet.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers(
        [rcs.rebLayer_mm(arm6a[0], arm6a[1], rnom + arm1[0])])  #long. inf.
    recNomTrSup = rnom + arm5[0] + arm9a[0]
    if arm9b:
        RCSet.dir2PositvRebarRows.append(
            rcs.rebLayer_mm(arm9b[0], arm9b[1],
                            recNomTrSup))  #long. sup. 2a. capa
        recNomTrSup += arm9b[0]
    if arm6b:
        RCSet.dir2NegatvRebarRows.append(
            rcs.rebLayer_mm(arm6b[0], arm6b[1],
                            rnom + arm1[0] + arm6a[0]))  #long. inf. 2a. capa
    if ref2Sup:
        RCSet.dir1PositvRebarRows.append(
            rcs.rebLayer_mm(
                ref2Sup[0], ref2Sup[1],
                recNomTrSup))  #refuerzo armadura transversal superior
    if ref1Inf:
        RCSet.dir1NegatvRebarRows.append(
            rcs.rebLayer_mm(ref1Inf[0], ref1Inf[1], rnom + arm1[0] +
                            arm6a[0]))  #refuerzo armadura transversal inferior
    if ref3Mid:
        RCSet.dir1NegatvRebarRows.append(
            rcs.rebLayer_mm(ref3Mid[0], ref3Mid[1], RCSet.depth / 2.))
    if cercosRef:
        RCSet.dir2PositvRebarRows.append(
            rcs.rebLayer_mm(cercosRef[0], cercosRef[2],
                            recNomTrSup))  #long. sup. 2a. capa
        RCSet.dir2NegatvRebarRows.append(
            rcs.rebLayer_mm(cercosRef[0], cercosRef[2],
                            rnom + arm1[0] + arm6a[0]))  #long. inf. 2a. capa
    # armadura de cortante
    if len(cercos) > 0:
        areaCercos = math.pi * (cercos[0] * 1e-3)**2 / 4.
        nRamas = cercos[1]
        separ = cercos[2] * 1e-3
        if cercosRef:
            areaCercosRef = math.pi * (cercosRef[0] * 1e-3)**2 / 4.
            nRamasRef = cercosRef[1]
            separRef = cercosRef[2] * 1e-3
            areaCercoEquiv = (nRamas * areaCercos / separ + nRamasRef *
                              areaCercosRef / separRef) / nRamas * separ
            areaCercos = areaCercoEquiv
        RCSet.dir1ShReinfY = rcs.ShearReinforcement(
            familyName="sh",
            nShReinfBranches=nRamas,
            areaShReinfBranch=areaCercos,
            shReinfSpacing=separ,
            angAlphaShReinf=math.pi / 2.0,
            angThetaConcrStruts=math.pi / 4.0)
        RCSet.dir2ShReinfY = rcs.ShearReinforcement(
            familyName="sh",
            nShReinfBranches=cercos[1],
            areaShReinfBranch=math.pi * (cercos[0] * 1e-3)**2 / 4.,
            shReinfSpacing=separ,
            angAlphaShReinf=math.pi / 2.0,
            angThetaConcrStruts=math.pi / 4.0)
Пример #5
0
#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

zapRCSects = element_section_map.RCSlabBeamSection(name='zapRCSects',
                                                   sectionDescr='zapata',
                                                   concrType=concrete,
                                                   reinfSteelType=reinfSteel,
                                                   depth=cantoZap,
                                                   elemSet=zap)
#D1: longitudinal rebars
#D2:  transversal rebars
#positiv: top face
#negativ: bottom face
zapRCSects.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers(
    [rcs.rebLayer_mm(25, 200, rnom)])
zapRCSects.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers(
    [rcs.rebLayer_mm(20, 200, rnom + 25)])
zapRCSects.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers(
    [rcs.rebLayer_mm(25, 200, rnom)])
zapRCSects.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers(
    [rcs.rebLayer_mm(20, 200, rnom + 25)])

murestrZ1RCSects = element_section_map.RCSlabBeamSection(
    name='murestrZ1RCSects',
    sectionDescr='muro de estribo, zona Z1 (inferior)',
    concrType=concrete,
    reinfSteelType=reinfSteel,
    depth=espMurEstr,
    elemSet=murestrZ1)
#D1: vertical rebars
Пример #6
0
              arm6a=lnInf_base_los_L2,
              arm6b=lnInf_ref_los_L2,
              arm7=lnInf_cart,
              arm8=lnInf_vol_L2,
              arm9a=lnSup_base_loscart_L2,
              arm9b=None,
              arm10=lnSup_vol_L2,
              arm1P=None,
              arm2P=None,
              arm3P=None,
              arm4P=None,
              cercos=cercos_L2)

#armadura pilas
pilasRCSects.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers(
    [rcs.rebLayer_mm(lnPil[0], lnPil[1], rnom)])
pilasRCSects.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers(
    [rcs.rebLayer_mm(lnPil[0], lnPil[1], rnom)])
pilasRCSects.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers(
    [rcs.rebLayer_mm(lnPil[0], lnPil[1], rnom)])
pilasRCSects.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers(
    [rcs.rebLayer_mm(lnPil[0], lnPil[1], rnom)])

pilasRCSects.dir1ShReinfZ = rcs.ShearReinforcement(
    familyName="sh",
    nShReinfBranches=cercosPil[1],
    areaShReinfBranch=math.pi * (cercosPil[0] * 1e-3)**2 / 4.,
    shReinfSpacing=cercosPil[2] * 1e-3,
    angAlphaShReinf=math.pi / 2.0,
    angThetaConcrStruts=math.pi / 4.0)
pilasRCSects.dir2ShReinfZ = rcs.ShearReinforcement(
Пример #7
0
rnom=35 #recubrimiento nominal (todos los elementos)


#instances of element_section_map.RCSlabBeamSection that define the
#variables that make up THE TWO reinforced concrete sections in the two
#reinforcement directions of a slab or the front and back ending sections
#of a beam element


zapRCSects= element_section_map.RCSlabBeamSection(name='zapRCSects',sectionDescr='zapata',concrType=concrete, reinfSteelType=reinfSteel,depth=cantoZap,elemSet=zap)
#D1: longitudinal rebars
#D2:  transversal rebars
#positiv: top face
#negativ: bottom face
zapRCSects.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(25,100,rnom)])
zapRCSects.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(20,200,rnom+25)])
zapRCSects.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(25,200,rnom)])
zapRCSects.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(20,200,rnom+25)])

murestrZ1RCSects= element_section_map.RCSlabBeamSection(name='murestrZ1RCSects',sectionDescr='muro de estribo, zona Z1 (inferior)',concrType=concrete, reinfSteelType=reinfSteel,depth=espMurEstr,elemSet=murestrZ1)
#D1: vertical rebars
#D2: horizontal rebars
#positiv: interior
#negativ: exterior
murestrZ1RCSects.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(25,200,rnom),rcs.rebLayer_mm(25,200,rnom)])
murestrZ1RCSects.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(25,200,rnom+25)])
murestrZ1RCSects.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(16,200,rnom)])
murestrZ1RCSects.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(20,200,rnom+16)])

murestrZ2RCSects= element_section_map.RCSlabBeamSection(name='murestrZ2RCSects',sectionDescr='muro de estribo, zona Z2 (superior)',concrType=concrete, reinfSteelType=reinfSteel,depth=espMurEstr,elemSet=murestrZ2)
Пример #8
0
rnom=35 #recubrimiento nominal 

areaFi16= math.pi*(16*1e-3)**2/4.0

#instances of element_section_map.RCSlabBeamSection that define the
#variables that make up THE TWO reinforced concrete sections in the two
#reinforcement directions of a slab or the front and back ending sections
#of a beam element

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([rcs.rebLayer_mm(16,200,rnom)])
losSupV2RCSects.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(12,200,rnom+espLosAlig/2.)])
losSupV2RCSects.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(16,200,rnom+20)])
losSupV2RCSects.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(12,200,rnom+espLosAlig/2.)])


losInfV2RCSects= element_section_map.RCSlabBeamSection(name='losInfV2RCSects',sectionDescr='losa aligerada, cara inferior',concrType=concrete, reinfSteelType=reinfSteel,depth=espLosAlig,elemSet=losInfV2)
#D1: transversal rebars
#D2: longitudinal rebars
#positiv: top face
#negativ: bottom face
losInfV2RCSects.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(14,200,rnom)])
losInfV2RCSects.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(8,200,rnom)])
losInfV2RCSects.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(20,200,rnom+espLosAlig/2.0)])
losInfV2RCSects.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(25,200,rnom+16)])
Пример #9
0
# 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
Пример #10
0
#import os
#import xc_base
#import geom
#import xc
from materials.sections.fiber_section import def_simple_RC_section as rcs
from postprocess import element_section_map

# **Concrete sections
#instances of element_section_map.RCSlabBeamSection that define the
#variables that make up THE TWO reinforced concrete sections in the two
#reinforcement directions of a slab or the front and back ending sections
#of a beam element

deckRCSects= element_section_map.RCSlabBeamSection(name='deckRCSects',sectionDescr='slab of shell elements',concrType=concrete, reinfSteelType=reinfSteel,depth=deckTh,elemSet=decks)  
deckRCSects.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(12,150,35)])
deckRCSects.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(12,200,35)])
deckRCSects.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(16,250,35)])
deckRCSects.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(16,100,35)])
import math
areaFi8=math.pi*0.008**2/4.
shear1=rcs.ShearReinforcement(familyName= "shear1",nShReinfBranches= 1.0,areaShReinfBranch= areaFi8,shReinfSpacing= 0.20,angAlphaShReinf= math.pi/2.0,angThetaConcrStruts= math.radians(30))
shear2=rcs.ShearReinforcement(familyName= "shear2",nShReinfBranches= 1.0,areaShReinfBranch= areaFi8,shReinfSpacing= 0.15,angAlphaShReinf= math.pi/2.0,angThetaConcrStruts= math.radians(30))
deckRCSects.dir1ShReinfY=shear1
deckRCSects.dir2ShReinfY=shear2


footRCSects= element_section_map.RCSlabBeamSection(name='footRCSects',sectionDescr='footation',concrType=concrete, reinfSteelType=reinfSteel,depth=footTh,elemSet=foot)
#D1: transversal rebars
#D2: longitudinal rebars
footRCSects.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([rcs.rebLayer_mm(12,150,35)])
Пример #11
0
                 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)