示例#1
0
import os
from misc_utils import log_messages as lmsg

__author__ = "Luis Claudio Pérez Tato (LCPT"
__copyright__ = "Copyright 2019, LCPT"
__license__ = "GPL"
__version__ = "3.0"
__email__ = "*****@*****.**"

#Example in R26.4.2.3 of ACI 318-14
rebar = '#7'
rebarDiam = ACI_materials.standard_bars_diameters[rebar]
clearCover = 2.0 * rebarDiam
cCover = clearCover + rebarDiam / 2.0

rebarController = ACI_limit_state_checking.RebarController(
    psi_t=1.0, concreteCover=cCover)

confinementTerm = rebarController.getConfinementTerm(rebarDiam)

ratio1 = (confinementTerm - 2.5) / 2.5

# Example in R26.4.2.2 of ACI 318-14 but using
# expression (25.4.2.3a).
concrete = ACI_materials.c4000
reinfSteel = ACI_materials.A615G60
ld = rebarController.getBasicAnchorageLength(concrete, rebarDiam, reinfSteel)
ldRef = 28.5509262607 * rebarDiam
ratio2 = (ld - ldRef) / ldRef
'''
print('confinementTerm= ', confinementTerm)
print('ld= ', ld/rebarDiam,'d_b')
示例#2
0
#of a beam element
reinfSteel= ACI_materials.A615G60
reinfSteel.gammaS= 1.0/0.75
beamRCsect= element_section_map.RCSlabBeamSection(name='beamRCsect',sectionDescr='beam section',concrType=concr, reinfSteelType=reinfSteel,width= sectionGeometry.b,depth= sectionGeometry.h)
beamRCsect.dir1PositvRebarRows= def_simple_RC_section.LongReinfLayers([reinfLayer])
beamRCsect.dir1NegatvRebarRows= def_simple_RC_section.LongReinfLayers([reinfLayer])
beamRCsect.dir2PositvRebarRows= def_simple_RC_section.LongReinfLayers([reinfLayer])
beamRCsect.dir2NegatvRebarRows= def_simple_RC_section.LongReinfLayers([reinfLayer])
sections.append(beamRCsect)

# Spatial distribution of reinforced concrete
# sections (assign RC sections to elements).
reinfConcreteSectionDistribution.assign(elemSet=totalSet.getElements,setRCSects=beamRCsect)

#Checking shear.
lsd.shearResistance.controller= ACI_limit_state_checking.ShearController(limitStateLabel= lsd.shearResistance.label)
lsd.shearResistance.controller.analysisToPerform= predefined_solutions.plain_newton_raphson
lsd.normalStressesResistance.outputDataBaseFileName= 'resVerif'

outCfg= lsd.VerifOutVars(listFile='N',calcMeanCF='Y')

(FEcheckedModel,meanFCs)= reinfConcreteSectionDistribution.runChecking(lsd.shearResistance, matDiagType="d",threeDim= True,outputCfg=outCfg)  

#print("mean FCs: ", meanFCs)

meanFC0Teor= 0.932218036004
ratio1= abs(meanFCs[0]-meanFC0Teor)/meanFC0Teor
meanFC1Teor= 0.932218036004
ratio2= abs(meanFCs[1]-meanFC1Teor)/meanFC1Teor

'''
示例#3
0
from misc_utils import log_messages as lmsg

__author__ = "Luis Claudio Pérez Tato (LCPT"
__copyright__ = "Copyright 2019, LCPT"
__license__ = "GPL"
__version__ = "3.0"
__email__ = "*****@*****.**"

concrete = ACI_materials.ACIConcrete(concreteName="C35", fck=-35e6, gammaC=1.0)
reinfSteel = ACI_materials.A615G60
reinfSteel.gammaS = 1.0

corbel = lsc.Corbel(concrete,
                    reinfSteel,
                    width=0.3,
                    thickness=0.5,
                    depth=0.45,
                    Asc=1e-4,
                    Ah=849e-6)

Vd = 370e3
Nd = 75e3
av = 0.1

Vn_cap = corbel.getNominalVerticalLoadCapacity()
ratio1 = abs(Vn_cap - 824780.2536) / 824780.2536
CF_v = corbel.getShearCapacityFactor(Vd)
ratio2 = abs(CF_v - 1.00330812893) / 1.00330812893
Asc = corbel.getRequiredPrimaryReinforcement(Vd, Nd, av)
ratio3 = abs(Asc - 583.248024779e-6) / 583.248024779e-6
Asc_min = corbel.getMinimumPrimaryReinforcement(Vd, Nd, av)
示例#4
0
lSqrtFck = concrete.getLambdaSqrtFck()
lSqrtFckRef = 63.246 * ACI_materials.toPascal
ratio1 = abs(lSqrtFck - lSqrtFckRef) / lSqrtFckRef

bw = 12 * 0.0254  # 12 in
d = 15 * 0.0254  # 15 in
section = defSimpleRCSection.RecordRCSimpleSection(name='test',
                                                   concrType=concrete,
                                                   reinfSteelType=reinfSteel,
                                                   width=bw,
                                                   depth=d / 0.9)
section.shReinfY = defSimpleRCSection.RecordShearReinforcement(
    nShReinfBranches=1.0,
    areaShReinfBranch=0.592 * 0.0254**2,
    shReinfSpacing=1.0 * 0.3048)
shearController = lsc.ShearController(lsd.shearResistance.label)
shearController.setSection(section)

Vc = shearController.getVcNoShearRebars(Nd=0.0)
VcRef = 17.076 * 4.4482216e3 / 0.75  # kip->N
ratio2 = abs(Vc - VcRef) / VcRef

Vmax = shearController.getV_max(Nd=0.0)
VmaxRef = 85.381 * 4.4482216e3
ratio3 = abs(Vmax - VmaxRef) / VmaxRef

ratio4 = abs(0.0004774184 - section.shReinfY.getAs() *
             shearController.effectiveDepth) / 0.0004774184

Vu = shearController.getVu(Nd=0.0)
VuRef = 50.4 * 4.4482216e3
示例#5
0
__email__= "*****@*****.**"

#units
in2m= 0.0254
m2in=1/in2m
feet2meter= 0.3048
kip2N= 4.4482216e3
ksi2MPa= 6.89476
lb2N=4.4482216
N2lb=1/lb2N

#    Data
## Applied factored external load
Vua=6*kip2N
## Stud definition
stud= ACI_limit_state_checking.AnchorBolt(ca1= 10*in2m,ca2= 18*in2m,ha= 18*in2m, concrete= ACI_materials.c4000, steel= ACI_materials.A108, diam= 0.5*in2m, hef= 3.06*in2m, cast_in= True)
### where:
#### ca1: distance from the center of an anchor shaft to the edge of concrete in one direction. If shear is applied to anchor, ca1 is taken in the direction of the applied shear. If the tension is applied to the anchor, ca1 is the minimum edge distance.
### ca2: distance from center of an anchor shaft to the edge of concrete in the direction orthogonal to ca1.
### ha: thickness  of  member  in  which  an  anchor  is located, measured parallel to anchor axis.
### concrete: concrete material.
### steel: anchor steel.
### diam: anchor diameter.
### hef: effective embedment depth of anchor.
### cast_in: true if cast-in anchor false for post-installed anchors.
 
# End data

#Calculate the nominal strength of the anchor in shear  (art. D.6.1.)
Vsa=stud.getSteelStrengthShear()
Vsa_kips=Vsa/kip2N
m2in = 1 / in2m
ft2m = 0.3048
kip2N = 4.4482216e3
ksi2MPa = 6.89476
lb2N = 4.4482216
N2lb = 1 / lb2N
N2kip = 1 / kip2N

# Data
Nua = 8 * kip2N  #applied factored external tension load using load factors from Appendix C of the Code.
Vua = 6 * kip2N  #applied factored external shear load using load factors from Appendix C of the Code.
## Stud definition
stud = ACI_limit_state_checking.AnchorBolt(ca1=12 * in2m,
                                           ca2=20 * in2m,
                                           ha=18 * in2m,
                                           concrete=ACI_materials.c4000,
                                           steel=ACI_materials.A108,
                                           diam=5 / 8 * in2m,
                                           hef=6.63 * in2m,
                                           cast_in=True)
### where:
#### ca1: distance from the center of an anchor shaft to the edge of concrete in one direction. If shear is applied to anchor, ca1 is taken in the direction of the applied shear. If the tension is applied to the anchor, ca1 is the minimum edge distance.
### ca2: distance from center of an anchor shaft to the edge of concrete in the direction orthogonal to ca1.
### ha: thickness  of  member  in  which  an  anchor  is located, measured parallel to anchor axis.
### concrete: concrete material.
### steel: anchor steel.
### diam: anchor diameter.
### hef: effective embedment depth of anchor.
### cast_in: true if cast-in anchor false for post-installed anchors.

# End data
#TENSION