Abaqus后處理二次開發顯示運動軌跡

Abaqus的Visualization模塊提供了豐富的可視化、數據處理功能,但有時我們可能有一些“過分”的要求,比如想要在結果中顯示運動軌跡,在常規操作的情況下目前還實現不了,好在Abaqus提供了豐富的二次開發接口,使用Python可以很方便的實現這個“過分”的要求。

gifhome_523x519.gif

簡單的說一下通過*.rpy文件學習Python Scripts for Abaqus的方法:只要你在操作Abaqus,不管是否有存檔的動作,主工作目錄下的*.rpy文件都會像“阿賴耶識”一樣悄無聲息而準確地記錄你在GUI界面下的每一個操作,因為Python很直觀,所以你可以通過閱讀的方式來學習這個Replay File,從而提高自己使用Python來進行前、后處理的能力,遇到不懂的地方可以查找幫助文檔的Scripting部分,有詳細的內容可以參考。

捕獲.png

Abaqus幫助文檔-Scripting

我們最終的碼為tracing.py,使用它可以實現在Abaqus后處理時顯示節點的運動軌跡,下面是tracing.py的文字釋義與部分代碼:

#指定作業名(ODB文件名稱)、實例名稱、節點編號、軌跡顏色代碼
jobName = 'YourJobNAME'
instance='InstanceNAMEinODB!!!'
NLabel= 1
USim='#000000'
from abaqus import *
from abaqusConstants import *
from odbAccess import *
...
#定義視角、部件隱藏網格、變形顯示模式,并按part instance進行色彩渲染
session.viewports['Viewport: 1'].view.setValues(session.views['Iso'])
session.viewports['Viewport: 1'].odbDisplay.display.setValues(plotState=(    DEFORMED, ))
session.viewports['Viewport: 1'].enableMultipleColors()
session.viewports['Viewport: 1'].setColor(initialColor='#BDBDBD')
cmap=session.viewports['Viewport: 1'].colorMappings['Part instance']
session.viewports['Viewport: 1'].setColor(colorMapping=cmap)
session.viewports['Viewport: 1'].disableMultipleColors()
#顯示注釋,隱藏坐標、羅盤、圖例等其他信息
session.viewports['Viewport: 1'].viewportAnnotationOptions.setValues(triad=OFF,     legend=OFF, title=OFF, state=OFF, annotations=ON, compass=OFF)
#使用NodeSetFromNodeLabels抓取ODB中已指定編號的節點,并創建為新的節點集合對象,后面用
#以顯示軌跡,注意代碼中NodeSetFromNodeLabels抓取的是instance層級的節點對象,抓取assembly層
#級的參考點時請自行調整
...    
nodeSet = instance.NodeSetFromNodeLabels(name=nodeSetName, nodeLabels=(nodeLabel,))
...
#定義背景色彩等
session.graphicsOptions.setValues(backgroundStyle=SOLID,     backgroundColor='#FFFFFF')
session.printOptions.setValues(vpDecorations=OFF, vpBackground=ON)
#顯示軌跡、定義軌跡線型等
...

Abaqus案例應用

A. 在這個模型中,小球以一定的初速度扔進漏斗,彈跳幾下之后沿著漏斗曲面來回滾動,最終落入漏斗,圖中顯示的是球心的運動軌跡。

ezgif.com-optimize (1).gif

小球落入漏斗

B. 該模型為示意模型,演示了行星公轉時衛星繞行星的運動,圖中顯示的是衛星的運動軌跡。

gifhome_693x503.gif

衛星運動

C. 這個模型是一個三級球面擺,外圈以恒定的速度轉動,內圈在重力作用下做非規則運動,圖中顯示的是最內圈的擺端部中心點的運動軌跡。

gifhome_523x519.gif
三級球面擺

D. 最后這一個模型是之前的文章-奇妙的單擺中介紹過的,這里不再贅述,我們用此模型作為tracing.py的教學演示。

gifhome_615x645.gif

沖浪者單擺

本文章付費部分目錄

1. tracing.py使用方法詳細教學

2. tracing.py與沖浪者inp文件surfer.inp的Baidu網盤下載鏈接

以下內容為付費內容,請購買后觀看

   12人購買

1. tracing.py使用方法詳細教學 2. tracing.py與沖浪者inp文件surfer.inp的Baidu網盤下載鏈接

App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

27
11
14