使用ABAQUS作為自編有限元程序后處理

在自編有限元程序時,通常在計算完成后希望用云圖的方式顯示以獲得更為直觀的視覺效果。魯迅說過“云圖是否美觀是有限元計算的重要評判標準,計算做得好不好,就看云圖好不好”。

使用ABAQUS作為自編有限元程序后處理的圖1

   因此,如果自編有限元程序最終的計算結果僅僅是呆板的數據,那逼格將大大降低,無論是發論文還是寫報告都顯得不太高端。

使用ABAQUS作為自編有限元程序后處理的圖2

在學術圈,后處理云圖常見的軟件通常有ParaviewtecplotMatlab等,利用上述軟件可以一定程度上對位移,應力等數據結果進行云圖顯示。

使用ABAQUS作為自編有限元程序后處理的圖3使用ABAQUS作為自編有限元程序后處理的圖4


本文則提供一種將自編有限元程序的計算結果用abaqus顯示的方法。

具體實施方式:以某二維桿單元計算結果為例:

使用ABAQUS作為自編有限元程序后處理的圖5

桿單元的節點坐標如下:

1,-1.000000,1.000000

2,1.000000,1.000000

3,.000000,.000000

4,2.000000,.000000

5,-2.000000,.000000

桿單元連接如下:

1,1,2

2,3,2

3,3,4

4,2,4

5,1,3

6,5,3

7,1,5

上述數據中第1列是單元編號,第2-3列是桿單元的第1-2節點。

節點位移如下:

0.2491870E-04,-0.5192824E-04

-0.5461379E-06,-0.4556203E-04

0.6366207E-05,-0.6147756E-04

0.000000,0.000000

0.000000,0.000000

上述數據中第一列為節點位移UX,第二列為UY




    新建py文件plot.py,按照以下格式輸入內容:

使用ABAQUS作為自編有限元程序后處理的圖6


可復制文字版:

from odbAccess import *

odb = Odb(name='C3D4Model',path='displacementplot.odb')

part1 = odb.Part(name='T2D2',embeddedSpace=TWO_D_PLANAR,type=DEFORMABLE_BODY)

nodeData=((1,-1.000000,1.000000),

(2,1.000000,1.000000),

(3,.000000,.000000),

(4,2.000000,.000000),

(5,-2.000000,.000000),)

part1.addNodes(nodeData=nodeData)

elementData=((1,1,2),

(2,3,2),

(3,3,4),

(4,2,4),

(5,1,3),

(6,5,3),

(7,1,5),)

part1.addElements(elementData=elementData, type='T2D2')

instance1 = odb.rootAssembly.Instance(name='part-1-1',object=part1)

step1 = odb.Step(name='step-1',description='first step',domain=TIME, timePeriod=1)

nodeLabelData = (1,

2,

3,

4,

5)

analysisTime=1

frame1= step1.Frame(incrementNumber=1,frameValue=analysisTime,description='results frame for time '+str(analysisTime))

uField = frame1.FieldOutput(name='U',description='Displacements',type=VECTOR)

dispData=((.2491870E-04,-.5192824E-04),

(-.5461379E-06,-.4556203E-04),

(.6366207E-05,-.6147756E-04),

(.000000,.000000),

(.000000,.000000),)

uField.addData(position=NODAL, instance=instance1,labels=nodeLabelData,data=dispData)

step1.setDefaultDeformedField(uField)

odb.save()

odb.close()

print'output finished!'

上述內容即為通過py腳本文件形成abaqus的后處理odb文件displacement.odb。其中,第3行的embeddedSpace=TWO_D_PLANAR需要和實際的空間維度相對應,即如果為平面應力,平面應變,二維梁單元或者二維桿單元即為TWO_D_PLANAR,如果為三維實體單元,三維梁單元等則為THREE_D。

4-8行為節點坐標,第10-16行為單元連接,第20-24行為節點編號,第28-32行為對應的節點的位移。

按照上述格式寫成plot.py后,打開abaqus command,運行abaqus script=plot.py或者打開abaqus cae,采用file-run script,再選擇plot.py即可。等到abaqus cae界面底部出現output finished!即表明已經運行成功,形成了相應的odb文件。接下來直接打開相應的displacement.odb即可看到相應的位移云圖。


使用ABAQUS作為自編有限元程序后處理的圖7

【完】


歡迎關注公眾號 有限元術

使用ABAQUS作為自編有限元程序后處理的圖8

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

29
13
50