收藏 分销(赏)

ABAQUS读取节点集坐标.docx

上传人:s4****5z 文档编号:8884006 上传时间:2025-03-06 格式:DOCX 页数:4 大小:43.61KB
下载 相关 举报
ABAQUS读取节点集坐标.docx_第1页
第1页 / 共4页
ABAQUS读取节点集坐标.docx_第2页
第2页 / 共4页
点击查看更多>>
资源描述
在abaqus中使用python实现的功能   (2010-02-06 15:04:10) 转载▼ 标签:  杂谈   功能一:实行提交多个job的功能。 对象:Job object          使用:在源文件开始写上import job,源程序用mdb.jobs[name]          使用名字为name的job对象。 建立一个job对象的方法: l         利用已有的inp文件中建立job:mdb.JobFromInputFile() l         利用已有的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 mdb.jobs['job-1-1'].setValues(waitMinutes=1) #设定参数 mdb.jobs['job-1-1'].submit() #提交任务 mdb.jobs['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 i<100:          Frame = odb.steps['Step-1'].frames          print odb.steps['Step-1'].frames          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')          print i;i=i+50 #写入tecplot的dat文件中 运行: Cmd中运行:abaqus scrip=plot.py 之所以用python因为abaqus的界面是基于python的,用它来进行批处理或者后处理是比较不错的,希望能和大家分享abaqus的更多功能。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服