Abaqus利用腳本讀取結(jié)果并創(chuàng)建新的輸出場(chǎng)

Abaqus利用腳本讀取結(jié)果并創(chuàng)建新的輸出場(chǎng)

長(zhǎng)安CAE


Abaqus的后處理有時(shí)候采用Python腳本會(huì)比較方便,此次實(shí)例通過腳本語言讀取已經(jīng)存在的Odb結(jié)果文件,并且通過程序?qū)崿F(xiàn)不同載荷步下的結(jié)果場(chǎng)數(shù)據(jù)運(yùn)算,以得到新的場(chǎng)數(shù)據(jù),并顯示其云圖。

該段程序主要以下功能:

1)打開結(jié)果文件;

2)創(chuàng)建載荷步對(duì)象

3)創(chuàng)建幀對(duì)象

4)讀取位移和應(yīng)力場(chǎng)

5)進(jìn)行場(chǎng)數(shù)據(jù)運(yùn)算

6)設(shè)置默認(rèn)的變形

7)選擇創(chuàng)建的應(yīng)力場(chǎng)作為場(chǎng)輸出

8)顯示云圖

代碼解釋如下;

 

from abaqus import *

from abaqusConstants import *

import visualization

#引入相關(guān)模塊

 

myViewport = session.Viewport(name='Superposition example',

    origin=(10, 10), width=150, height=100)

#創(chuàng)建一個(gè)視圖窗口,通過Viewport函數(shù),名稱是Superposition example,這個(gè)視圖被賦值給變量myViewport

 

#打開已經(jīng)存在的odb結(jié)果文件,通過path指定odb文件,此文件需要在工作目錄下面

myOdb = visualization.openOdb(path='viewer_tutorial.odb')

 

#在當(dāng)前視圖窗口顯式結(jié)果對(duì)象,設(shè)置默認(rèn)的plot對(duì)象

myViewport.setValues(displayedObject=myOdb)

 

#創(chuàng)建兩個(gè)載荷步對(duì)象,firstStepsecondStep

firstStep = myOdb.steps['Step-1']

secondStep = myOdb.steps['Step-2']

 

#創(chuàng)建兩個(gè)幀對(duì)象,-1表示最后一幀

frame1 = firstStep.frames[-1]

frame2 = secondStep.frames[-1]

 

#讀取兩個(gè)載荷步最后一幀的位移場(chǎng),賦值給displacement1displacement2

displacement1 = frame1.fieldOutputs['U']

displacement2 = frame2.fieldOutputs['U']

 

#讀取兩個(gè)載荷步最后一幀的應(yīng)力場(chǎng),賦值給stress1stress2

stress1 = frame1.fieldOutputs['S']

stress2 = frame2.fieldOutputs['S']

 

#創(chuàng)建新的輸出場(chǎng),兩個(gè)位移場(chǎng)和應(yīng)力場(chǎng)之差作為新的輸出場(chǎng)

deltaDisplacement = displacement2 - displacement1

deltaStress = stress2 - stress1

 

#設(shè)置形狀變形是依據(jù)新的位移場(chǎng),Abaqus通過這個(gè)變量來顯示變形形狀

myViewport.odbDisplay.setDeformedVariable(deltaDisplacement)

 

#創(chuàng)建新的應(yīng)力場(chǎng)云圖,場(chǎng)數(shù)據(jù)是新的應(yīng)力場(chǎng),輸出位置是積分點(diǎn),顯式其中的Mises應(yīng)力

myViewport.odbDisplay.setPrimaryVariable(field=deltaStress,

    outputPosition=INTEGRATION_POINT,

    refinement=(INVARIANT, 'Mises'))

 

#顯式新的Mises云圖,并且在變形后的圖形上顯示,Deformation打開

myViewport.odbDisplay.display.setValues(plotState=(

                                          CONTOURS_ON_DEF,))

登錄后免費(fèi)查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺(tái)客服

TOP

6