abaqus与python后处理_abaqus⽤Python批量后处理教程!如
何从abaq。。。
abaqus⽤Python批量后处理教程!如何从abaqus导出python
abaqus⽤Python批量后处理教程2020-10-09 23:09:28⼈已围观
怎么⽤python对abaqus分析结果进⾏批量运算
实话说,这个getSequenceFromMask(...)没么⽤。这⾥的#1’是abaqus cae内部的⼀种编号。不便,⽽且在加feature改变geometry 的时候,边的编号可能会改变。 建议你⽤findAt函数,按照空间坐标边。这样更有逻辑性。
abaqus中的python⽂件怎么⽤?
功能⼀:实⾏提个job的功能。
:Job object
:在源⽂件写上import job,源程序⽤mdb.jobs[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
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 = Assembly
f=open('plot/3node_sin1.dat','w')
f.write('TITLE = Example: Simple XY Plot\n')
f.write('VARIABLES = "X-Coordinate", "Y-Coordinate"\n')
python怎么读取dat文件#建⽴⼀个tecplot的dat⽂件
i=1
while i<100:
Frame = odb.steps['Step-1'].frames
print odb.steps['Step-1'].frames
coordinate=Frame.fieldOutputs['COORD']
#提取节点坐标数据
center =
centerCoordinate = Subset(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的更多功能。
如何从abaqus导出python
能abaqus⾃⾝sqlite3与python2.6sqlite3冲突
import优先搜索abaqus⾃带sqlite3
import
sqlite3前先指定确sqlite3所位置:⽐c:\\python26\\lib\\sqlite3
import
sys
sys.path.insert(0,"c:\\python26\\lib\\sqlite3")
sys.path.insert(0,"c:\\python26\\dlls")
import
sqlite3
或python2.6所带sqlite3复制覆盖abaqussqlite3
sqlite3包括两部要漏掉sqlite3.dll态库
版权声明:本站所有⽂章皆为原创,欢迎转载或转发,请保留⽹站地址和作者信息。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论