示例#1
0
#Materials
from materials.sia262 import SIA262_materials

concrete = SIA262_materials.c30_37
reinfSteel = SIA262_materials.SpecialII1956SIA161

#Actions
FxLoc = 10e3
MyLoc = 1e3
FyLoc = 1e3

eSize = 1.0  #length of elements

# *** GEOMETRY ***
FEcase = xc.FEProblem()
model = gm.GridModel(FEcase)
preprocessor = model.getPreprocessor()

# coordinates in global X,Y,Z axes for the grid generation
xList = [0, 1, 2]
yList = [0]
zList = [0]

#auxiliary data
lastXpos = len(xList) - 1
lastYpos = len(yList) - 1
lastZpos = len(zList) - 1

# grid of X,Y,Z axes coordinates
rejXYZ = model.setGrid(xList, yList, zList)
示例#2
0
colSpacing = 6.50  #spacing between columns [m]
windPress = 1.35e3  #wind pressure [N/m2]
vehicCrashF = 750e3  #component of vehicle crash perpendicular to the wall [N]
zvehicCrashF = 3.05  #Z coordinate of the point where the force acts [m]

ULwindTC = colSpacing * windPress  # uniform load on the top column due to wind [N/m]
ULwindCC = colSpacing / 3.0 * windPress  # uniform load on the curve column due to wind [N/m]
PLwind2C = 2 * colSpacing / 3.0 * 4.12 * windPress  #horizontal point load transfered to the head of the
#top column due to wind supported by the 2
#central metallic curved columns

eSize = 0.2  #length of elements

# *** GEOMETRY ***
FEcase = xc.FEProblem()
model = gm.GridModel(FEcase)
preprocessor = model.getPreprocessor()

# coordinates in global X,Y,Z axes for the grid generation
xList = [0, excentInf, excentInf + excentSup]
yList = [0]
zList = [0, HinfColumn, HinfColumn + HSupColumn]

#we add  Z coordinates (after moving these points in X they would
#shape the curve column that sustains the glass)
incrAngRad = math.radians(AnglIncr)
zBottomGlass = HinfColumn + HSupColumn
for i in range(1, int(AnglGlass / AnglIncr) + 1):
    zList.append(zBottomGlass + RGlass * math.sin(i * incrAngRad))

#auxiliary data
示例#3
0
#Elements' mean size [Grandeur moyen des éléments]
eSize=0.5

#Charges auxiliary data
deadLoadInterior=3.0                  #(kN/m2)
deadLoadFacade=8.0                    #(kN/m)
snow=1.70                             #(kN/m2)
wind10m=0.77                          #(kN/m2) wind below 10 m
wind19m=1.04                          #(kN/m2) wind at 19 m (linear rising between 10 and 19 m)
serviceLoad1Dwelling=2.0              #(kN/m2) level 1-6
serviceLoad1Office=4.0                #(kN/m2) level 0 stairs office
serviceLoad2parking=2.5               #(kN/m2) level -1 -2, parking and external area

# *** GEOMETRY  [GÉOMÉTRIE]***
EC2building= xc.FEProblem()
model= gm.GridModel(EC2building)
prep=model.getPreprocessor()

# coordinates in global X,Y,Z axes for the grid generation
# X coordinates
xList=[0]
xAxis=0
for i in range (0,2):
    xAxis=xAxis+SpanX[i]
    xList.append(xAxis-lengthFacadeColumns/2)
    xList.append(xAxis)
    xList.append(xAxis+lengthFacadeColumns/2)

dimAux=(SpanX[2]-dimXHole)/2
xList.append(xAxis+dimAux)
xList.append(xAxis+dimAux+dimXHole)
示例#4
0
 def loadReports(self, gridmodl, pathGr, texFile, grWdt):
     '''Creates the graphics files of loads for the load case and insert them in
 a LaTex file
 
 :param gridmodl:   object of type GridModel
 :param pathGr:     directory to place figures (ex: 'text/graphics/loads/')
 :param texFile:    laTex file where to include the graphics 
                    (e.g.:'text/report_loads.tex')
 :param grWdt:      width to be applied to graphics
 '''
     labl = self.loadCaseName
     for st in self.setsToDispLoads:
         grfname = pathGr + self.loadCaseName + st.elSet.name
         capt = self.loadCaseDescr + ', ' + ', ' + self.unitsLoads
         gridmodl.displayLoad(setToDisplay=st.elSet,
                              loadCaseNm=self.loadCaseName,
                              unitsScale=self.unitsScaleLoads,
                              vectorScale=self.vectorScaleLoads,
                              multByElemArea=self.multByElemAreaLoads,
                              viewDef=self.cameraParameters,
                              caption=capt,
                              fileName=grfname + '.jpg')
         gridmodl.displayLoad(setToDisplay=st.elSet,
                              loadCaseNm=self.loadCaseName,
                              unitsScale=self.unitsScaleLoads,
                              vectorScale=self.vectorScaleLoads,
                              multByElemArea=self.multByElemAreaLoads,
                              viewDef=self.cameraParameters,
                              caption=capt,
                              fileName=grfname + '.eps')
         insertGrInTex(texFile=texFile,
                       grFileNm=grfname,
                       grWdt=grWdt,
                       capText=capt,
                       labl=labl)
     for st in self.setsToDispBeamLoads:
         grfname = pathGr + self.loadCaseName + st.elSet.name
         capt = self.loadCaseDescr + ', ' + ', ' + self.unitsLoads
         lcs = GridModel.QuickGraphics(gridmodl)
         lcs.dispLoadCaseBeamEl(loadCaseName=self.loadCaseName,
                                setToDisplay=st.elSet,
                                fUnitConv=self.unitsScaleLoads,
                                elLoadComp=self.compElLoad,
                                elLoadScaleF=self.vectorScaleLoads,
                                nodLoadScaleF=self.vectorScalePointLoads,
                                viewDef=self.cameraParameters,
                                caption=capt,
                                fileName=grfname + '.jpg')
         lcs.dispLoadCaseBeamEl(loadCaseName=self.loadCaseName,
                                setToDisplay=st.elSet,
                                fUnitConv=self.unitsScaleLoads,
                                elLoadComp=self.compElLoad,
                                elLoadScaleF=self.vectorScaleLoads,
                                nodLoadScaleF=self.vectorScalePointLoads,
                                viewDef=self.cameraParameters,
                                caption=capt,
                                fileName=grfname + '.eps')
         insertGrInTex(texFile=texFile,
                       grFileNm=grfname,
                       grWdt=grWdt,
                       capText=capt,
                       labl=labl)
     return
示例#5
0
wcantlv = 1

#Actions
Qcantlv = 10e3  #N/m2

#Materials
fcmConcr = 30e6
EcConcr = 8500 * (fcmConcr / 1e6)**(1 / 3.0) * 1e6
cpoisConcr = 0.2  #Poisson's coefficient of concrete
densConcr = 2500  #specific mass of concrete (kg/m3)

eSize = 1  #length of elements

# *** GEOMETRY ***
FEcase = xc.FEProblem()
model = gm.GridModel(FEcase)
preprocessor = model.getPreprocessor()

# coordinates in global X,Y,Z axes for the grid generation
xList = [0, wcantlv]
yList = [0.1 * i for i in range(int(Lcantlv / 0.1) + 1)]
zList = [0]
#auxiliary data
lastXpos = len(xList) - 1
lastYpos = len(yList) - 1
lastZpos = len(zList) - 1

# grid of X,Y,Z axes coordinates
rejXYZ = model.setGrid(xList, yList, zList)

#Displacements of the grid points in a range
示例#6
0
# alphQExcTr=1.00   

#       #Braking load
# brakingQhw=min(1.2*alphQ1hw*Qk1+0.1*alphq1hw*qk1*3*totalwidth,900e3)  #in highway
# brakingQsr=min(1.2*alphQ1sr*Qk1+0.1*alphq1sr*qk1*3*totalwidth,900e3)  #in subsidiary road
#     #Road sub-base thickness
# subbThHw=1.8         #mean sub-base thickness under the highway
# subbThSr=1.2         #mean sub-base thickness under the subsidiary road
# densSubb=2.2e3        #mass density (kg/m3) of the sub-base material




# *** GEOMETRY ***
TBBridge= xc.FEProblem()
model= gm.GridModel(TBBridge)


# coordinates in global X,Y,Z axes for the grid generation
xList=[0,1.475,2.15,4.425,5.15,7.375,8.15,9.65,10.325,11.8]
yList=[0,15,30,45]
zList=[0,1.24-0.3,diaphHeight,diaphHeight+0.20+deckSlabTh/2.0]
#auxiliary data
lastXpos=len(xList)-1
lastYpos=len(yList)-1
lastZpos=len(zList)-1

# grid of X,Y,Z axes coordinates
rejXYZ= model.setGrid(xList,yList,zList)

#Displacements of the grid points in a range