您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > abaqus-python-1
#-*-coding:cp936-*-#filename:abaqus_1.pyfromabaqusimport*fromabaqusConstantsimport*fromcaeModulesimport*fromdriverUtilsimportexecuteOnCaeStartupexecuteOnCaeStartup()frompartimport*#第一步,建立建模s=mdb.models['Model-1'].Sketch(name='__profile__',sheetSize=100.0)#定义模型的草图ss.rectangle(point1=(-12.0,8.0),point2=(8.0,-6.0))#指定两顶点画矩形s.CircleByCenterPerimeter(center=(-8.0,4.0),point1=(-6.5,2.89))#指定圆心和圆上一点画圆s.CircleByCenterPerimeter(center=(-2.0,2.0),point1=(-0.8,0.25))s.CircleByCenterPerimeter(center=(3.6,-3.29),point1=(5.1,-2.66))p=mdb.models['Model-1'].Part(name='Part-1',dimensionality=TWO_D_PLANAR,type=DEFORMABLE_BODY)#定义模型的部件part-1p.BaseShell(sketch=s)#将s赋给pdelmdb.models['Model-1'].sketches['__profile__']#收回建模所占的环境内存frommaterialimport*#第二步,材料定义fromsectionimport*mdb.models['Model-1'].Material(name='Material-1')#定义材料名称mdb.models['Model-1'].materials['Material-1'].Elastic(table=((222.0,0.2),))#定义材料刚度mdb.models['Model-1'].HomogeneousSolidSection(name='Section-1',material='Material-1',thickness=1.0)#定义截面faces=mdb.models['Model-1'].parts['Part-1'].faces[0:1]region=regionToolset.Region(faces=faces)#以上两行选中part-1中的第一个面,保存到regionmdb.models['Model-1'].parts['Part-1'].SectionAssignment(region=region,sectionName='Section-1')#截面属性附给选中的面regionfromassemblyimport*#第三步,装配mdb.models['Model-1'].rootAssembly.DatumCsysByDefault(CARTESIAN)#参考直角坐标系p=mdb.models['Model-1'].parts['Part-1']#指定part-1mdb.models['Model-1'].rootAssembly.Instance(name='Part-1-1',part=p,dependent=ON)#生成part-1对象的实体Part-1-1,dependent网格在part上面fromstepimport*#第四步,定义分析步mdb.models['Model-1'].StaticStep(name='Step-1',previous='Initial',timeIncrementationMethod=FIXED,initialInc=0.01,noStop=OFF)#定义一个固定增量的静态分析步mdb.models['Model-1'].fieldOutputRequests['F-Output-1'].setValuesInStep(stepName='Step-1',variables=('S','U'))#定义输出到ODB文件的数据(应力、位移)frominteractionimport*#第五步,定义接触fromloadimport*#第六步,荷载边界定义edges1=mdb.models['Model-1'].rootAssembly.instances['Part-1-1'].edges[0:1]#选中两条边0,保存到regionregion=regionToolset.Region(edges=edges1)mdb.models['Model-1'].DisplacementBC(name='BC-1',createStepName='Initial',region=region,u1=SET,u2=UNSET,ur3=UNSET,amplitude=UNSET,distribution=UNIFORM,localCsys=None)#定义为0的位移边界edges2=mdb.models['Model-1'].rootAssembly.instances['Part-1-1'].edges[1:2]#选中两条边1,保存到regionregion=regionToolset.Region(edges=edges2)mdb.models['Model-1'].DisplacementBC(name='BC-2',createStepName='Initial',region=region,u1=UNSET,u2=SET,ur3=UNSET,amplitude=UNSET,distribution=UNIFORM,localCsys=None)#定义为0的位移边界edges3=mdb.models['Model-1'].rootAssembly.instances['Part-1-1'].edges[2:3]#选中两条边2,保存到regionregion=regionToolset.Region(edges=edges3)mdb.models['Model-1'].DisplacementBC(name='BC-3',createStepName='Step-1',region=region,u1=1.0,u2=UNSET,ur3=UNSET,amplitude=UNSET,fixed=OFF,distribution=UNIFORM,localCsys=None)#定义非0的位移边界frommeshimport*#第七步,网格划分控制elemType1=mesh.ElemType(elemCode=CPS8R,elemLibrary=STANDARD)elemType2=mesh.ElemType(elemCode=CPS6M,elemLibrary=STANDARD)faces=mdb.models['Model-1'].parts['Part-1'].faces[0:1]pickedRegions=(faces,)mdb.models['Model-1'].parts['Part-1'].setElementType(regions=pickedRegions,elemTypes=(elemType1,elemType2))#定义两种网格类型pickedEdges=mdb.models['Model-1'].parts['Part-1'].edges[0:7]mdb.models['Model-1'].parts['Part-1'].seedEdgeBySize(edges=pickedEdges,size=0.5)#定义网格划分全局单元大小mdb.models['Model-1'].parts['Part-1'].generateMesh()#给part划分网格session.viewports['Viewport:1'].setValues(displayedObject=p)#显示session.viewports['Viewport:1'].assemblyDisplay.setValues(mesh=ON)#####################第八步,生成任务以及其他杂项功能#mdb.models.changeKey(fromName='Model-1',toName='abaqus—001')#修改模型名称#mdb.models['Model-1'].materials['Material-1'].elastic.setValues(table=((514.3,0.15),))#修改模型中的材料属性mdb.Job(name='Job-001',model='Model-1',type=ANALYSIS,explicitPrecision=SINGLE,nodalOutputPrecision=SINGLE,description='',parallelizationMethodExplicit=DOMAIN,multiprocessingMode=DEFAULT,numDomains=1,userSubroutine='',numCpus=1,preMemory=512.0,standardMemory=512.0,standardMemoryPolicy=MODERATE,scratch='',echoPrint=OFF,modelPrint=OFF,contactPrint=OFF,historyPrint=OFF)#生成任务#mdb.saveAs(pathName='c:/abaqus_workplace/abaqus-001.cae')#保存模型#mdb.jobs['Job-001'].submit()#提交任务
本文标题:abaqus-python-1
链接地址:https://www.777doc.com/doc-5431279 .html