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()
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]
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