Beispiel #1
0
lPatterns.currentTimeSeries= "ts"
lp0= lPatterns.newLoadPattern("default","0")
lp0.gammaF= gammaF
#lPatterns.currentLoadPattern= "0"
eleLoad= lp0.newElementalLoad("beam_strain_load")
eleLoad.elementTags= xc.ID([1,2])
defTermica= xc.DeformationPlane(alpha*AT)
eleLoad.backEndDeformationPlane= defTermica
eleLoad.frontEndDeformationPlane= defTermica

#We add the load case to domain.
lPatterns.addToDomain("0")


# Solution procedure
analisis= predefined_solutions.simple_static_modified_newton(feProblem)
result= analisis.analyze(1)


nodes= preprocessor.getNodeHandler

nod2= nodes.getNode(2)
dX= nod2.getDisp[0] 
dY= nod2.getDisp[1] 
dZ= nod2.getDisp[2] 

elements= preprocessor.getElementHandler
elem1= elements.getElement(1)
elem1.getResistingForce()
scc0= elem1.getSections()[0]
coacciones = preprocessor.getConstraintLoader
fix_node_3dof.fixNode000(coacciones, 1)

# Loads definition
cargas = preprocessor.getLoadLoader
casos = cargas.getLoadPatterns
#Load modulation.
ts = casos.newTimeSeries("constant_ts", "ts")
casos.currentTimeSeries = "ts"
#Load case definition
lp0 = casos.newLoadPattern("default", "0")
lp0.newNodalLoad(2, xc.Vector([0, -F, 0]))
#We add the load case to domain.
casos.addToDomain("0")
# Procedimiento de solución
analisis = predefined_solutions.simple_static_modified_newton(prueba)
result = analisis.analyze(10)

nodes.calculateNodalReactions(True)
nod2 = nodes.getNode(2)
delta = nod2.getDisp[1]  # Node 2 xAxis displacement
nod1 = nodes.getNode(1)
Ry = nod1.getReaction[1]
RMz = nod1.getReaction[2]

elementos = preprocessor.getElementLoader

elem1 = elementos.getElement(0)
elem1.getResistingForce()
scc = elem1.getSections()[0]
sectContainer.calcInteractionDiagrams(preprocessor=preprocessor,matDiagType='k')
from postprocess import phantom_model as phm
phantomModel= phm.PhantomModel(preprocessor,reinfConcreteSectionDistribution)
limitStateData=lsd.freqLoadsCrackControl
intForcCombFileName= limitStateData.getInternalForcesFileName()
controller= limitStateData.controller
meanCFs= -1.0
phantomElements=phantomModel.build(intForcCombFileName,controller) #=> elements ZeroLengthSections, whose sections (reachable by means of method .getSection()) are fiber section models.
combs= preprocessor.getLoadHandler.getLoadPatterns
elements= [e for e in preprocessor.getSets.getSet("total").getElements]
#the elasticBeam3d are also in the model. We pop them from elements:
elements.pop(0)
elements.pop(0)
key=combs.getKeys()[0]
comb= combs[key]
predefined_solutions.resuelveComb(preprocessor,nmbComb=key,analysis=predefined_solutions.simple_static_modified_newton(feProblem),numSteps=1)

for e in elements:
  e.getResistingForce()
  scc=e.getSection()
  sccProp=scc.getProp("datosSecc")
  concrTag=sccProp.concrType.matTagK
  rsteelTag=sccProp.reinfSteelType.matTagK
  setsRC= fiber_sets.fiberSectionSetupRCSets(scc=scc,concrMatTag=concrTag,concrSetName="concrSetFb",reinfMatTag=rsteelTag,reinfSetName="reinfSetFb")
  setsRC.reselTensionFibers(scc=scc,tensionFibersSetName='tensSetFb')
  ###Borrar
  setTfib=setsRC.tensionFibers
  print 'AsTens=' , setTfib.getArea(1.0), 'nFibers= ', setTfib.getNumFibers()
  ###
  As=setsRC.tensionFibers.getArea(1.0)
  x= scc.getNeutralAxisDepth()
Beispiel #4
0
lPatterns.currentTimeSeries= "ts"
lp0= lPatterns.newLoadPattern("default","0")
lp0.gammaF= gammaF
#lPatterns.currentLoadPattern= "0"
eleLoad= lp0.newElementalLoad("beam_strain_load")
eleLoad.elementTags= xc.ID([1,2])
defTermica= xc.DeformationPlane(alpha*AT)
eleLoad.backEndDeformationPlane= defTermica
eleLoad.frontEndDeformationPlane= defTermica

#We add the load case to domain.
lPatterns.addToDomain("0")


# Solution procedure
analisis= predefined_solutions.simple_static_modified_newton(feProblem)
result= analisis.analyze(1)


nodes= preprocessor.getNodeHandler

nod2= nodes.getNode(2)
dX= nod2.getDisp[0] 
dY= nod2.getDisp[1] 
dZ= nod2.getDisp[2] 

elements= preprocessor.getElementHandler
elem1= elements.getElement(1)
elem1.getResistingForce()
scc0= elem1.getSections()[0]
Beispiel #5
0
WzplTeor= IPE200.get('Wzpl')
M0Teor= -WzplTeor*S355JR.fyd()
F= M0Teor*0.87
loadHandler= preprocessor.getLoadHandler
lPatterns= loadHandler.getLoadPatterns
#Load modulation.
ts= lPatterns.newTimeSeries("constant_ts","ts")
lPatterns.currentTimeSeries= "ts"
#Load case definition
lp0= lPatterns.newLoadPattern("default","0")
lp0.newNodalLoad(nod2.tag,xc.Vector([0,F,0]))
#We add the load case to domain.
lPatterns.addToDomain("0")

# Solution procedure
analisis= predefined_solutions.simple_static_modified_newton(test)
result= analisis.analyze(10)

elem1= elements.getElement(0)
elem1.getResistingForce()
scc= elem1.getSections()[0]
M0= scc.getStressResultantComponent("Mz")
M= F*L
ratio1= (M0-M)/M
ratio2= (M0-M0Teor)/M0Teor

'''
print 'M0Teor= ', M0Teor/1e3, ' kNm'
print 'M0= ', M0/1e3, ' kNm'
print 'M= ', M/1e3, ' kNm'
print 'ratio1= ', ratio1