网站大量收购独家精品文档,联系QQ:2885784924

在abaqus中使用python实现功能(1,2).doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在abaqus中使用python实现的功能(一、二) By lxm9977(lxm200501@) 功能一:实行提交多个job的功能。 对象:Job object 使用:在源文件开始写上import job,源程序用[name] 使用名字为name的job对象。 建立一个job对象的方法: 利用已有的inp文件中建立job:mdb.JobFromInputFile() 利用已有的cae中建立job: Job(...) 建议用第一种方法。 设定参数的方法: 利用第一种方法建立job的时候,可以设定很多的参数,比如type,queue,userSubroutine等。格式:mdb.JobFromInputFile(name=,inputFile=,type=,queue=,userSubroutine=,…….)。 也可以先建立一个job,然后利用job对象的setValues来设定参数,格式:job.setValues(type=,queue=,userSubroutine=,…….)。 一个简单的例子: 文件:job.py from abaqusConstants import * import job mdb.JobFromInputFile(name=job-1-1,inputFileName=Job-1.inp) #基于inp文件Job-1.inp建立名称为job-1-1的job [job-1-1].setValues(waitMinutes=1) #设定参数 [job-1-1].submit() #提交任务 [job-1-1].waitForCompletion() 运行: 在cmd下面运行:Abaqus cae nogui=job.py 如果是多个job,同样道理了,不多说了。 功能二: 后处理,提取需要的数据,形成可以用其他软件处理的文件 功能:提取odb文件中某个set中的数据(可以是应力、应变和位移、坐标等),建立一个外部文件,把提取的结果写到这个文件中,利用tecplot处理。 1)在Odb对象中提取场变量: odb-》steps-》frams-》fieldoutputs【变量名称】 具体odb对象中的各个成员如下图 2)在场变量中选取所需要set的变量: Odb-》rootAssembly-》Sets 或者odb-》rootAssembly-》instances-》Sets 上面两种方法取决了你在inp文件种是在assembly定义了Set还是在Instance中定义了Set。具体的如下图: 文件:plot.py from odbAccess import * from abaqusConstants import * import string print begin abaqus python print today is 10-29 print this code is for 3node_sin.odb odb = openOdb(path=3node_sin.odb) myAssembly = odb.rootAssembly f=open(plot/3node_sin1.dat,w) f.write(TITLE = Example: Simple XY Plot\n) f.write(VARIABLES = X-Coordinate, Y-Coordinate\n) #建立一个tecplot的dat文件 i=1 while i100: Frame = odb.steps[Step-1].frames[i] print odb.steps[Step-1].frames[i] coordinate=Frame.fieldOutputs[COORD] #提取节点坐标数据 center = odb.rootAssembly.nodeSets[Set-1] centerCoordinate = coordinate.getSubset(region=center) centerValues = centerCoordinate.values #提取Set-1集合中的节点坐标 count=len(centerValues) s=ZONE T= +str(i)+ Zone, I=+str(count)+, F=POINT\n f.write(s) for v in centerValues: s2=str(v.data[0]) s3=str(v.data[1]) f.write(s2) f.write(\t) f.write(\t) f.write(s3) f.write(\t) f.write(\n)

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档