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