示例#1
0
    def getLateralBucklingReductionFactor(self,sectionClass,L,Mi,supportCoefs= EC3lsc.SupportCoefficients()):
        ''' Returns lateral torsional buckling reduction factor value.

          :param sectionClass: section classification (1 to 3, 4 not yet implemented)
          :param Mi: ordinate for the moment diagram
          :param supportCoefs: coefficients that represent support conditions.
        '''  
        return EC3lsc.getLateralBucklingReductionFactor(self,sectionClass,L,Mi,supportCoefs)
示例#2
0
 def __init__(self,name,ec3Shape,sectionClass=1,supportCoefs=EC3lsc.SupportCoefficients(ky=1.0,kw=1.0,k1=1.0,k2=1.0),typo= 'rolled',lstLines=None,lstPoints=None):
     self.name=name
     self.ec3Shape= ec3Shape
     self.sectionClass=sectionClass
     self.supportCoefs=supportCoefs
     self.typo=typo
     self.lstLines=lstLines
     self.lstPoints=lstPoints
示例#3
0
    def getLateralBucklingIntermediateFactor(self,sectionClass,L,Mi,supportCoefs= EC3lsc.SupportCoefficients()):
        ''' Returns lateral torsional buckling intermediate factor value.

         :param sectionClass: section classification (1,2,3 or 4)
         :param Mi: ordinate for the moment diagram
         :param supportCoefs: coefficients that represent support conditions.
        '''
        return EC3lsc.getLateralBucklingIntermediateFactor(self,sectionClass,L,Mi,supportCoefs)
示例#4
0
    def getMcr(self,L,Mi,supportCoefs= EC3lsc.SupportCoefficients()):
        '''Return elastic critical moment about minor axis: y
           Calculation is made following the paper:

           A. López, D. J. Yong, M. A. Serna,
           Lateral-torsional buckling of steel beams: a general expression for
           the moment gradient factor.
           (Lisbon, Portugal: Stability and ductility of steel structures, 2006).

         :param Mi: ordinate for the moment diagram
         :param supportCoefs: coefficients that represent support conditions.
        '''
        return EC3lsc.getMcr(self,L,Mi,supportCoefs)
示例#5
0
    def getLateralTorsionalBucklingResistance(self,sectionClass,L,Mi,supportCoefs= EC3lsc.SupportCoefficients()):
        '''Return lateral torsional buckling resistance of this cross-section.
           Calculation is made following the paper:

           A. López, D. J. Yong, M. A. Serna,
           Lateral-torsional buckling of steel beams: a general expression for
           the moment gradient factor.
           (Lisbon, Portugal: Stability and ductility of steel structures, 2006).

         :param Mi: ordinate for the moment diagram
         :param supportCoefs: coefficients that represent support conditions.
        '''
        return EC3lsc.getLateralTorsionalBucklingResistance(self,sectionClass,L,Mi,supportCoefs)
示例#6
0
    def getLateralBucklingNonDimensionalBeamSlenderness(
        self, sectionClass, L, Mi, supportCoefs=EC3lsc.SupportCoefficients()):
        '''Return non dimensional beam slenderness
         for lateral torsional buckling
         see parameter definition on method getMcr.

         :param shape: cross section shape.
         :param sectionClass: section classification (1,2,3 or 4)
         :param Mi: ordinate for the moment diagram
         :param supportCoefs: coefficients that represent support conditions.
        '''
        return EC3lsc.getLateralBucklingNonDimensionalBeamSlenderness(
            self, sectionClass, L, Mi, supportCoefs)
示例#7
0
    def __init__(self, name, ec3Shape,sectionClass=1,supportCoefs=EC3lsc.SupportCoefficients(ky=1.0,kw=1.0,k1=1.0,k2=1.0), typo= 'rolled', lstLines=None, lstPoints=None):
        '''Constructor.

        :param name: object name.
        :param ec3Shape: cross-section shape (e.g. IPNShape, IPEShape, ...)
        :param sectionClass: section class (1 to 3, 4 not yet implemented) 
                             (defaults to 1).
        :param supportCoefs: instance of EC3_limit_state_checking.SupportCoefficients
                             that wraps the support coefficients: ky, kw, k1 
                             and k2; where ky is the lateral bending 
                             coefficient, kw the warping coefficient,  k1 and 
                             the warping AND lateral bending coefficients at first
                             and last ends respectively (1.0 => free, 0.5 => prevented). 
                             (Defaults to ky= 1.0, kw= 1.0, k1= 1.0, k2= 1.0)
        :param typo: 'rolled' or 'welded' (defaults to rolled)
        :param lstLines: ordered list of lines that make up the beam 
                        (defaults to None).
        :param lstPoints: ordered list of points that make up the beam. 
                          Ignored if lstLines is given (defaults to None)
        '''
        super(EC3Beam,self).__init__(name, ec3Shape, lstLines, lstPoints)
        self.sectionClass= sectionClass
        self.supportCoefs= supportCoefs
        self.typo=typo
示例#8
0
    xx = (0, L)
    yy = (M, FF * M)
    f = scipy.interpolate.interp1d(xx, yy)
    x = list()
    M = list()
    xi = 0.0
    Mi = 0.0
    for i in range(1, nDiv + 2):
        Mi = f(xi)
        x.append(xi)
        M.append(float(Mi))
        xi += step
    return [x, M]


supportCoefs = EC3lsc.SupportCoefficients(k1=1.0, k2=1.0)
nDiv = 20
step = 2 / nDiv
psi = list()
c1 = list()
psii = -1.0
C1i = 0.0
for i in range(1, nDiv + 2):
    mD = caseASampleMoments(5.0, 10.0, psii)
    Mi = intp.interpEquidistPoints(xi=mD[0], yi=mD[1], nDiv=4)
    mgf = EC3lsc.MomentGradientFactorC1(Mi)
    C1i = mgf.getC1(supportCoefs)
    psi.append(psii)
    c1.append(C1i)
    psii += step
示例#9
0
# -*- coding: utf-8 -*-
from __future__ import print_function
from materials.ec3 import EC3Beam as ec3b
from materials.ec3 import EC3_limit_state_checking as EC3lsc
from materials.astm_aisc import ASTM_materials
from materials.astm_aisc import AISC_limit_state_checking as aisc

# ** Steel beams
# Support coefficients (1==free, 0.5==prevented) (all default to 1)
# ky: lateral bending, kw: warping, k1: warping and lateral bending at left
# end, k2:  warping and lateral bending at right end
supCf_free = EC3lsc.SupportCoefficients(ky=1.0, kw=1.0, k1=1.0, k2=1.0)
supCf = EC3lsc.SupportCoefficients(ky=1.0, kw=1.0, k1=0.5, k2=1.0)


def gen_EC3beams_from_lstSets(lstSets, mat, sectClass, suppCoef, prefName):
    '''Return a list of EC3beams generated from each set in lstSet

    :param lstSets: list of sets, each set contains the lines to generate 
                    one EC3beam
    :param mat: material for all beams
    :param sectClass: section class for all beams
    :param suppCoef: support coefficients for all beams
    :param prefName: prefix for the beam names
    '''

    lstEC3beams = list()
    for i in range(len(lstSets)):
        lstSets[i].fillDownwards()
        lstLin = [l for l in lstSets[i].lines]
        nmBeam = prefName + str(i)
示例#10
0
from materials.ec3 import EC3Beam as ec3b
from materials.ec3 import EC3_limit_state_checking as EC3lsc

lstLines=gridGeom.getLstLinRange(beamY_rg)
#lstPoints=gridGeom.getLstPntRange(beamY_rg)


supCf_beam=EC3lsc.SupportCoefficients(ky=1.0,kw=1.0,k1=1.0,k2=1.0)
beam01=ec3b.EC3Beam(name='beam01',ec3Shape=beamY_mat,sectionClass=1,supportCoefs=supCf_beam,lstLines=lstLines)
#beam=ec3b.EC3Beam(ec3Shape=None,lstPoints=lstPoints)
beam01.setControlPoints()

beam01.installULSControlRecorder(recorderType="element_prop_recorder")