def setupSets(self): self.setsRC = fiber_sets.fiberSectionSetupRCSets( scc=self.sct, concrMatTag=self.concrTagK, concrSetName="concrSetFb", reinfMatTag=self.rsteelTagK, reinfSetName="reinfSetFb") self.tensSetFb = self.setsRC.reselTensionFibers( scc=self.sct, tensionFibersSetName='tensSetFb')
RMZ2= nodes.getNode(2).getReaction[5] # Bending moment Mz reaction at node 2 print('Rnode1= (',nodes.getNode(1).getReaction[0],',',nodes.getNode(1).getReaction[1],',',nodes.getNode(1).getReaction[2],',',nodes.getNode(1).getReaction[3],',',nodes.getNode(1).getReaction[4],',',nodes.getNode(1).getReaction[5],')') print('Rnode2= (',nodes.getNode(2).getReaction[0],',',nodes.getNode(2).getReaction[1],',',nodes.getNode(2).getReaction[2],',',nodes.getNode(2).getReaction[3],',',nodes.getNode(2).getReaction[4],',',nodes.getNode(2).getReaction[5],')') ''' elements = preprocessor.getElementHandler ele1 = elements.getElement(1) # section of element 1: it's the copy of the material section 'sctFibers' assigned # to element 1 and specific of this element. It has the tensional state of the element sccEl1 = ele1.getSection() fibersSccEl1 = sccEl1.getFibers() # Creation of two separate sets of fibers: concrete and reinforcement steel setsRCEl1 = fiber_sets.fiberSectionSetupRCSets(scc=sccEl1, concrMatTag=concrete.matTagK, concrSetName="concrSetFbEl1", reinfMatTag=rfSteel.matTagK, reinfSetName="reinfSetFbEl1") sumAreas = fibersSccEl1.getArea(1.0) # total sum of the fibers area # that sum is multiplied by the coefficient # passed as a parameter Iz = fibersSccEl1.getIz(1.0, 0.0) IEIy = sccEl1.getInitialTangentStiffness().at(3, 3) IEIz = sccEl1.getInitialTangentStiffness().at(2, 2) TEIy = sccEl1.getTangentStiffness().at(3, 3) TEIz = sccEl1.getTangentStiffness().at(2, 2) Iy = fibersSccEl1.getIy(1.0, 0.0) esfN = fibersSccEl1.getResultant() esfMy = fibersSccEl1.getMy(0.0)
analysis= solution.simpleStaticModifiedNewton(problem) #analysis= predefined_solutions.simple_static_modified_newton(problem) analOk= analysis.analyze(1) nodes= preprocessor.getNodeHandler nodes.calculateNodalReactions(True,1e-7) #nodB.checkReactionForce(0.5) #section of element 1: it's the copy of the material section 'sctFibers' assigned #to element 1 and specific of this element. It has the tensional state of the element sccEl1= ele1.getSection() fibersSccEl1= sccEl1.getFibers() #Creation of two separate sets of fibers: concrete and reinforcement steel setsRCEl1= fiber_sets.fiberSectionSetupRCSets(scc=sccEl1,concrMatTag=concrete.matTagK,concrSetName="concrSetFbEl1",reinfMatTag=rfSteel.matTagK,reinfSetName="reinfSetFbEl1") #Equilibrium. RNA= nodA.getReaction[0] RNB= nodB.getReaction[0] ratio0= math.sqrt(RNA**2+RNB**2)/(width*depth*f_ck) #Neutral axis depth x= sccEl1.getNeutralAxisDepth() xTeor= -0.184594790641 ratio1=(x-xTeor)/x #Neutral axis plane (parallel to section's Y-axis) zNA=sccEl1.getNeutralAxis().getParamB() zNATeor= 0.115405209359 #0.13263453242377543 ratio2=(zNA-zNATeor)/zNA #checking neutral axis depth vs. neutral axis plane calculations
Iz = fibras.getIz(1.0, 0.0) IEIy = scc.getInitialTangentStiffness().at(3, 3) IEIz = scc.getInitialTangentStiffness().at(2, 2) TEIy = scc.getTangentStiffness().at(3, 3) TEIz = scc.getTangentStiffness().at(2, 2) Iy = fibras.getIy(1.0, 0.0) esfN = fibras.getResultant() esfMy = fibras.getMy(0.0) esfMz = fibras.getMz(0.0) defMz = scc.getSectionDeformationByName("defMz") defN = scc.getSectionDeformationByName("defN") x = scc.getNeutralAxisDepth() Resul = scc.getStressResultant() Deform = scc.getSectionDeformation() setsRC = fiber_sets.fiberSectionSetupRCSets(scc, EHE_materials.HA25.matTagD, 'concrete', EHE_materials.B500S.matTagD, "reinforcement") fibraCEpsMin = -1 fMin = setsRC.concrFibers.getFiberWithMinStrain() epsCMin = fMin.getMaterial().getStrain() # Minimum strain in concrete. sgCMin = fMin.getMaterial().getStress() # Minimum stress in concrete. YepsCMin = fMin.getPos().x # Y Z coordinates for the minimum concrete strain. ZepsCMin = fMin.getPos().y fMin = setsRC.reinfFibers.getFiberWithMinStrain() epsSMin = fMin.getMaterial().getStrain() # Minimum strain in steel. sgSMin = fMin.getMaterial().getStress() # Minimum stress in steel. YepsSMin = fMin.getPos().x # Y Z coordinates for the minimum steel strain.
comb = combs[key] predefined_solutions.solveComb( preprocessor, nmbComb=key, analysis=predefined_solutions.plain_static_modified_newton(feProblem), numSteps=1) for e in elements: e.getResistingForce() scc = e.getSection() sccProp = scc.getProp("sectionData") concrTag = sccProp.fiberSectionParameters.concrType.matTagK rsteelTag = sccProp.fiberSectionParameters.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() d = scc.getEffectiveDepth() h = scc.getLeverArm() print 'x= ', x, 'd= ', d, 'h= ', h hceff = min(2.5 * abs(h - d), abs(h - x) / 3.0, abs(h) / 2.0) Aceff = scc.getNetEffectiveConcreteArea(hceff, "reinfSetFb", 15.0) print 'Aceff= ', Aceff
sumAreas= fibras.getArea(1.0) Iz= fibras.getIz(1.0,0.0) IEIy= scc.getInitialTangentStiffness().at(3,3) IEIz= scc.getInitialTangentStiffness().at(2,2) TEIy= scc.getTangentStiffness().at(3,3) TEIz= scc.getTangentStiffness().at(2,2) Iy= fibras.getIy(1.0,0.0) esfN= fibras.getResultant() esfMy= fibras.getMy(0.0) esfMz= fibras.getMz(0.0) defMz= scc.getSectionDeformationByName("defMz") defN= scc.getSectionDeformationByName("defN") x= scc.getNeutralAxisDepth() Resul= scc.getStressResultant() Deform= scc.getSectionDeformation() setsRC= fiber_sets.fiberSectionSetupRCSets(scc,EHE_materials.HA25.matTagD,'concrete',EHE_materials.B500S.matTagD,"reinforcement") fibraCEpsMin= -1 fMin= setsRC.concrFibers.getFiberWithMinStrain() epsCMin= fMin.getMaterial().getStrain() # Minimum strain in concrete. sgCMin= fMin.getMaterial().getStress() # Minimum stress in concrete. YepsCMin= fMin.getPos().x # Y Z coordinates for the minimum concrete strain. ZepsCMin= fMin.getPos().y fMin= setsRC.reinfFibers.getFiberWithMinStrain() epsSMin= fMin.getMaterial().getStrain() # Minimum strain in steel. sgSMin= fMin.getMaterial().getStress() # Minimum stress in steel. YepsSMin= fMin.getPos().x # Y Z coordinates for the minimum steel strain.
def setupSets(self): self.setsRC= fiber_sets.fiberSectionSetupRCSets(scc=self.sct,concrMatTag=self.concrTagK,concrSetName="concrSetFb",reinfMatTag=self.rsteelTagK,reinfSetName="reinfSetFb") self.tensSetFb=self.setsRC.reselTensionFibers(scc=self.sct,tensionFibersSetName='tensSetFb')