예제 #1
0
 def checkUniaxialBendingForElement(self, elem, nmbComb):
     '''Called in every commit to check uniaxial bending criterion (bars in 2D problems).'''
     elem.getResistingForce()
     sectionClass = elem.getProp('sectionClass')
     chiLT = elem.getProp('chiLT')
     N1 = 0.0
     M1 = 0.0
     V1 = 0.0
     N2 = 0.0
     M2 = 0.0
     V2 = 0.0
     axialForces = elem.getValuesAtNodes('N')
     if (len(axialForces) > 1):  # 'N' found.
         N1 = axialForces[0]
         N2 = axialForces[1]
     bending = elem.getValuesAtNodes('M')
     if (len(bending) > 1):  # 'M' found.
         M1 = bending[0]
         M2 = bending[1]
     shear = elem.getValuesAtNodes('V')
     if (len(shear) > 1):  # 'V' found.
         V1 = shear[0]
         V2 = shear[1]
     FCTN1 = self.getZBendingEfficiency(sectionClass, M1, V1, chiLT)
     FCTN2 = self.getZBendingEfficiency(sectionClass, M2, V2, chiLT)
     fctn = elem.getProp("FCTNCP")
     if (FCTN1 > fctn[0]):
         fctn[0] = FCTN1
         elem.setProp("HIPCPTN1", nmbComb)
     if (FCTN2 > fctn[1]):
         fctn[1] = FCTN2
         elem.setProp("HIPCPTN2", nmbComb)
     elem.setProp("FCTNCP", fctn)
     vc.updateEnvelopeInternalForcesBeamElem2D(elem)
예제 #2
0
파일: structural_steel.py 프로젝트: lcpt/xc
 def checkUniaxialBendingForElement(self,elem,nmbComb):
     '''Called in every commit to check uniaxial bending criterion (bars in 2D problems).'''
     elem.getResistingForce()
     sectionClass= elem.getProp('sectionClass')
     chiLT= elem.getProp('chiLT')
     N1= elem.getN1
     M1= elem.getM1
     V1= elem.getV1
     FCTN1= self.getZBendingEfficiency(sectionClass,M1,V1,chiLT)
     N2= elem.getN2
     M2= elem.getM2
     V2= elem.getV2
     FCTN2= self.getZBendingEfficiency(sectionClass,M2,V2,chiLT)
     fctn= elem.getProp("FCTNCP")
     if(FCTN1 > fctn[0]):
         fctn[0]= FCTN1
         elem.setProp("HIPCPTN1",nmbComb)
     if(FCTN2 > fctn[1]):
         fctn[1]= FCTN2
         elem.setProp("HIPCPTN2",nmbComb)
     elem.setProp("FCTNCP",fctn)
     vc.updateEnvelopeInternalForcesBeamElem2D(elem)
예제 #3
0
 def checkUniaxialBendingForElement(self, elem, nmbComb):
     '''Called in every commit to check uniaxial bending criterion (bars in 2D problems).'''
     elem.getResistingForce()
     sectionClass = elem.getProp('sectionClass')
     chiLT = elem.getProp('chiLT')
     N1 = elem.getN1
     M1 = elem.getM1
     V1 = elem.getV1
     FCTN1 = self.getZBendingEfficiency(sectionClass, M1, V1, chiLT)
     N2 = elem.getN2
     M2 = elem.getM2
     V2 = elem.getV2
     FCTN2 = self.getZBendingEfficiency(sectionClass, M2, V2, chiLT)
     fctn = elem.getProp("FCTNCP")
     if (FCTN1 > fctn[0]):
         fctn[0] = FCTN1
         elem.setProp("HIPCPTN1", nmbComb)
     if (FCTN2 > fctn[1]):
         fctn[1] = FCTN2
         elem.setProp("HIPCPTN2", nmbComb)
     elem.setProp("FCTNCP", fctn)
     vc.updateEnvelopeInternalForcesBeamElem2D(elem)