欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

abaqus怎么使用

李中冰2年前14瀏覽0評論

abaqus怎么使用?

功能一:實行提交多個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

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的更多功能。