许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  abaqus Python实例:[转载]Abaqus实例002 - Cube Python实例

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

阅读数 26
点赞 0
article_banner

#!/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保存于工作目录下,请查看!'



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空