Exemplo n.º 1
0
    def checkSetFromIntForcFile(self, intForcCombFileName, setCalc=None):
        '''Launch checking.

        :param setCalc: set of elements to check
        '''
        intForcItems = lsd.readIntForcesFile(intForcCombFileName, setCalc)
        internalForcesValues = intForcItems[2]
        for e in setCalc.elements:
            sh = e.getProp('crossSection')
            sc = e.getProp('sectionClass')
            elIntForc = internalForcesValues[e.tag]
            if (len(elIntForc) == 0):
                lmsg.warning('No internal forces for element: ' + str(e.tag) +
                             ' of type: ' + e.type())
            for lf in elIntForc:
                CFtmp = sh.getYShearEfficiency(sc, lf.Vy)
                if lf.idSection == 0:
                    if (CFtmp > e.getProp(self.limitStateLabel + 'Sect1').CF):
                        e.setProp(
                            self.limitStateLabel + 'Sect1',
                            cv.ShearYControlVars('Sects1', lf.idComb, CFtmp,
                                                 lf.Vy))
                else:
                    if (CFtmp > e.getProp(self.limitStateLabel + 'Sect2').CF):
                        e.setProp(
                            self.limitStateLabel + 'Sect2',
                            cv.ShearYControlVars('Sects2', lf.idComb, CFtmp,
                                                 lf.Vy))
Exemplo n.º 2
0
    def initControlVars(self, setCalc):
        '''Initialize control variables over elements.

        :param setCalc: set of elements to which define control variables
        '''
        for e in setCalc.elements:
            e.setProp(self.limitStateLabel + 'Sect1', cv.ShearYControlVars())
            e.setProp(self.limitStateLabel + 'Sect2', cv.ShearYControlVars())