abaqus python实例_[转载]Abaqus实例002-Cube Python实例

#!/user/bin/python

#-* -coding:UTF-8 -*-

#第2行确保可用中文注释

#第1行表示可以移植到windows以外的系统执行

#井号后边跟注释

from abaqus import *

import testUtils

testUtils.setBackwardCompatibility()

from abaqusConstants import *

#建立模型

myModel=mdb.Model(name='Cube')

myViewport=session.Viewport(name='Viewport: 1',origin=(0.0,

0.0), width=176.25, height=130.5)

#导入part模块

import part

#创建基础特征的草图

mySketch=myModel.ConstrainedSketch(name='cubeProfile',sheetSize=250.)

#绘制矩形截面

mySketch.rectangle(point1=(0.0,0.0),point2=(10.0,10.0))#两对角点坐标

#创建三维变形部件

myCube=myModel.Part(name='Cube',dimensionality=THREE_D,type=DEFORMABLE_BODY)

#通过对草图拉伸10.0来创建部件

myCube.BaseSolidExtrude(sketch=mySketch,depth=10.0)

#导入material模块

import material

#创建材料

mySteel=myModel.Material(name='Steel')

#定义弹性材料属性,杨氏模量为209E3,泊松比为0.3

elasticProperties=(209E3,0.3)

mySteel.Elastic(table=(elasticProperties,))

#导入section模块

import section

#创建实体截面

mySection=myModel.HomogeneousSolidSection(name='cubeSection',material='Steel',thickness=1.0)

#为部件分配截面属性

region=(myCube.cells,)

myCube.SectionAssignment(region=region,sectionName='cubeSection')

#导入assembly模块

import assembly

#创建部件实例

myAssembly=myModel.rootAssembly

myInstance=myAssembly.Instance(name='cubeInstance',part=myCube,dependent=OFF)

#导入step模块

import step

#在初始分析步Initial之后创建一个分析步。静力分析的时间为1.0,初始增量为0.1

myModel.StaticStep(name='cubeLoad',previous='Initial',timePeriod=1.0,initialInc=0.1,description='Load

the top of the cube')

#导入load模块

import load

#通过坐标找出端部所在的面

endFaceCenter=(5.0,5.0,0)

endFace=myInstance.faces.findAt((endFaceCenter,))

#在梁端部创建固定端约束

endRegion=(endFace,)

myModel.EncastreBC(name='Fixed',createStepName='cubeLoad',region=endRegion)

#通过坐标找到上表面

topFaceCenter=(5.0,5.0,10.0)

topFace=myInstance.faces.findAt((topFaceCenter,))

#在梁的上表面施加压力荷载

topSurface=((topFace,SIDE1),)

myModel.Pressure(name='Pressure',createStepName='cubeLoad',region=topSurface,magnitude=5e6)

#单位为Pa

#导入mesh模块

import mesh

#为部件实例指定单元类型

region=(myInstance.cells,)

elemType=mesh.ElemType(elemCode=C3D8I,elemLibrary=STANDARD)

myAssembly.setElementType(regions=region,elemTypes=(elemType,))

#为部件实例撒种子

myAssembly.seedPartInstance(regions=(myInstance,),size=2.5)

#为部件实例划分网格

myAssembly.generateMesh(regions=(myInstance,))

#显示划分网格后的梁模型

myViewport.assemblyDisplay.setValues(mesh=ON)

myViewport.assemblyDisplay.meshOptions.setValues(meshTechnique=ON)

myViewport.setValues(displayedObject=myAssembly)

#导入job模块

import job

#为模型创建并提交分析作业

jobName='cube_tutorial'

myJob=mdb.Job(name=jobName,model='Cube',description='Cantilever

cube tutorial')

#等待分析作业完成

myJob.submit()

myJob.waitForCompletion()

print'分析已顺利完成,下面进行后处理。'

#导入Visualization模块

import visualization

#打开输出数据库,显示默认的云图

myOdb=visualization.openOdb(path=jobName+'.odb')

myViewport.setValues(displayedObject=myOdb)

myViewport.odbDisplay.display.setValues(plotState=CONTOURS_ON_DEF)

myViewport.odbDisplay.commonOptions.setValues(renderStyle=FILLED)

#设置显示背景为白色

session.graphicsOptions.setValues(backgroundColor='#FFFFFF',

backgroundBottomColor='#FFFFFF')

#将Mises云图输出为PNG格式的文件

session.printToFile(fileName='Mises_Cube',format=PNG,canvasObjects=(myViewport,))

print'文件Mises.png保存于工作目录下,请查看!'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值