# ***FE model - MESH*** beam_mesh=fem.LinSetToMesh(linSet=beamSet,matSect=beam_mat,elemSize=eSize,vDirLAxZ=xc.Vector([0,-1,0]),elemType='ElasticBeam3d',dimElemSpace=3,coordTransfType='linear') beam_mesh.generateMesh(prep) # mesh this set of lines # ***BOUNDARY CONDITIONS*** n1=pnt1.getNode() modelSpace.fixNode('FFF_FFF',n1.tag) n2=pnt2.getNode() modelSpace.fixNode('FFF_FFF',n2.tag) # ***ACTIONS*** from actions import loads #Uniform load on beams totalLoadBeam=loads.UniformLoadOnBeams(name='totalLoadBeam', xcSet=beamSet, loadVector=fUnif,refSystem='Global') halfLoadBeam=loads.UniformLoadOnBeams(name='halfLoadBeam', xcSet=beamSet, loadVector=fUnif*0.5,refSystem='Global') # ***LOAD CASES*** from actions import load_cases as lcases lcase01=lcases.LoadCase(preprocessor=prep,name="lcase01",loadPType="default",timeSType="constant_ts") lcase01.create() lcase01.addLstLoads([totalLoadBeam]) lcase02=lcases.LoadCase(preprocessor=prep,name="lcase02",loadPType="default",timeSType="constant_ts") lcase02.create() lcase02.addLstLoads([halfLoadBeam]) from postprocess.xcVtk.FE_model import quick_graphics as QGrph
n_col2=nodes.getDomain.getMesh.getNearestNode(geom.Pos3d(0,yList[lastYpos],0)) modelSpace.fixNode('000_F0F',n_col2.tag) # ***ACTIONS*** #Uniform load on beams # syntax: UniformLoadOnBeams(name, xcSet, loadVector,refSystem) # name: name identifying the load # xcSet: set that contains the lines # loadVector: xc.Vector with the six components of the load: # xc.Vector([Fx,Fy,Fz,Mx,My,Mz]). # refSystem: reference system in which loadVector is defined: # 'Local': element local coordinate system # 'Global': global coordinate system (defaults to 'Global) unifLoadBeamsY=loads.UniformLoadOnBeams(name='unifLoadBeamsY', xcSet=beamY, loadVector=xc.Vector([0,0,-qunifBeam,0,0,0]),refSystem='Global') # ***LOAD CASES*** qunifBeams=lcases.LoadCase(preprocessor=prep,name="qunifBeams",loadPType="default",timeSType="constant_ts") qunifBeams.create() qunifBeams.addLstLoads([unifLoadBeamsY]) # ***LIMIT STATE COMBINATIONS*** combContainer= cc.CombContainer() #Container of load combinations # COMBINATIONS OF ACTIONS FOR SERVICEABILITY LIMIT STATES