
發布
注冊
/
登錄abaqus結果提取技巧的案例
利用Python提取ABAQUS的.odb結果中的輪軌接觸信息 ¥500
ABAQUS 顯式explicit計算時所有結果都將寫入到.odb文件中,在GUI界面進行數據提取時效率較低,且有些詳細結果不能直接從.odb中獲取。因此,需要利用python讀取.odb,然后進行提取關心的數據,以此進行下一步計算。
python提取abaqus場輸出結果
最近寫了一個簡單的python讀取abaqus結果中的場輸出數據,就在這里簡單的講一下整個流程。后續采用abaqus讀取場輸出結果應用也挺廣泛。整個過程的流程圖可以用下圖來概括,因為不是計算機專業,考慮沒那么細致,很多python函數也是即查即用,當然程序后續根據要求也可以不斷更改。
在abaqus中采用python提取結果-平均應力 ¥5
Python腳本操作ODB文件進行計算結果數據的提取。
因對結果分析需求,需提取某單元集的每一分析步(包含每一子步)的平均應力,目前網上雖有很多代碼是關于單元集的平均應力的提取,但并未有針對每一子步都需要提取結果的代碼。故針對此需要編寫了python代碼。
Python提取Abaqus SPH結果粒子位置 ¥9.99
Abaqus軟件后處理中SPH粒子的渲染真的太差了,粒子大小、光照等都沒有有效的調整方法,于是想著從ODB文件中讀取出粒子位置信息,提取出來的信息還可以用于其他后處理及渲染等。
但是有很多問題:1. PC3D粒子的信息怎么輸出?與節點關系如何對應?2. 可以在界面上選擇節點編號查詢節點,但是批量怎么讀取?3. fieldOutput中物理量只有位移等,沒有當前坐標。
想了一個笨辦法:
先在后處理模塊中用“Display Group”功能顯示所有流體粒子,然后利用查詢功能獲得所有當前粒子的label,存到一個列表中;
在odb文件的assembly對象中獲得上面粒子label編號列表對應的節點的坐標,就是初始坐標。
在steps.frames對象中獲得位移場變量,位移是一個容器,里面存儲了所有節點的位移,找出流體對應節點的位移,位移與初始坐標的和就是當前坐標。
將查詢到的結果(包括節點當前坐標、節點位移值等)按照節點順序寫入vtk文件,利用paraview進行可視化。
如下為讀取及寫入vtk文件的Python代碼
展開 
ABAQUS結果提取重構插件【ODB Extractor and Builder Tool】 ¥19.89
當我們用abaqus對一個模型計算完成后,會得到一個odb結果文件,該文件可大可小,有的結果文件甚至高達幾十上百G,如果我們想把該odb結果文件的部分信息提供給其他人查看,出于保密原因考慮,我們不能提供完整的結果文件,所以這個時候我們就可以使用插件OEBT來完成,提取我們想要的部分或全部結果信息。
這個插件提供了一種方法來重新創建Abaqus結果數據庫(.odb)的一部分作為一個新的.odb文件。具體有以下特點:
1 和分析團隊/外部合作伙伴分享部分結果數據信息;
2 減少odb數據庫加載時間(通過刪除不必要的數據);
3 通過縮減odb文件以只存儲某些相關結果來減少存儲空間占用;
OEBT插件界面
插件使用方法:
將壓縮包解壓,復制到*D:\SIMULIA\CAE\2019\win_b64\code\python2.7\lib\abaqus_plugins
下即可使用
注意:最新版插件名字已經由之前的OEBT改為了ORB,該插件對abaqus2018及以后的版本兼容,對早期低版本不兼容。
附件是該ORB2.3.0插件和使用說明書
展開 利用Python提取ABAQUS的計算結果(ODB)信息
圖5 U-XYZ點Set
對于第7行表示提取該幀的位移U的場變量并賦值給U,然后在第8行采用getSubset基于U提取RefPointSet區域的位移值。
圖6在ABAQUS命令行接口(基于Python的Abaqus靜力分析操作實例)表示的應該是最后一次循環后各變量的值,可以看出RefU表示的nodeSets['U-XYZ']的位移值,圖6中顯示為一個索引;而RefUValues則表示該節點集中每個節點的位移值,體現在values中;而values[0]表示第一個節點的位移值,由于存在三個方向的位移,U1,U2,U3,則后續通過data[0],data[1],以及data[2]分別表示三個方向的位移值。
圖6 運行相關結果查看(通過ABAQUS命令行接口)
特別的,由于U-XYZ只有一個點存在于Set中,如果我們在這里用values[1],看會出現什么樣的效果?如圖7。可以明顯看到Sequence index out of range表示超出了范圍,因為RefUValues[1]表示提取第二個節點,但我們這里只有一個節點存在于U-XYZ點Set中,所以出現了范圍超過的報錯提示。
圖7 可以存在RefUValues[1]嗎?(通過ABAQUS命令行接口)
需要說一下的,如果大家覺得ABAQUS命令行接口的查看范圍太窄,可以往上拉動窗口,這樣就可以看到更多的代碼,如圖8所示,但與之相反的就是模型就會顯得很小,與我們一般的常規abaqus操作有點相反。
展開 Matlab“稍作修改”Abaqus-odb結果 | 提取三維裝配體Mises應力
數據及函數文件獲取方式:
Matlab“稍作修改”Abaqus-odb結果 | 提取三維裝配體Mises應力
https://mp.weixin.qq.com/s/l45KSgNxkJ-oCCrDMrUgHA
Python提取Abaqus計算結果的History Output并用Matplotlib繪圖
采用Python可以提取Abaqus計算結果的歷史輸出數據,提取出來后保存到本地并采用Matplitlib繪制折線圖,記錄一下代碼:以下三張圖片分別是讀取etotal歷史數據并保存到本地的代碼、繪制折線圖的代碼和etotal歷史變化折線圖。
ABAQUS結果提取大于某值的區域體積(轉載)
我們將帶大家探索ABAQUS后處理的兩種提取方法:CAE界面提取 和 Python后處理二次開發提取。本節先介紹第一種方法。
還是以最簡單的懸臂梁為例,提取加載歷程下大于100e6 Mises等效應力下單元體積:
1)顯示應力變形云圖,并通過云圖顯示設置,可將超過指定數值的云圖范圍顯式為灰色,便于觀察和對比:
2)顯示指定應力范圍內的單元:找到按鈕,或菜單欄Tools->DisplayGroup->Create...,點擊后激活Create Display Group對話框,選擇Item為Elements、method為Result value,并設置最小值(Min value)100e6和最大值(Max value)1e10,點擊Apply可顯示出范圍內的單元,如下圖所示。
注意:同時點擊底部的Save As...按鈕,保存名字為DisplayGroup-2。
3)測量顯示單元體積:找到按鈕,或者菜單欄Tools->Query...命令,找到Mass properties選型,并點擊后激活查詢質量流程,在提示信息欄將讓選擇單元,修改選擇方法為Display groups,并選擇剛剛生成的DisplayGroup-2;由于是測量質量,針對材料中沒有定義密度的情況,ABAQUS友好的提供了Options選項,可以設置材料密度和平面shell的厚度,這里均設置為1。如下圖所示。
重新選擇顯式組后,在底部信息框中將顯示測量的體積、體積中心、質量、質量中心以及質量距等數據。
4)匯總不同時刻的數值,繪制時程曲線如下:
同時,該方法不僅適用于應力數值范圍,基本所有的云圖范圍單元體積的測量都是可以滿足的。
展開 ABAQUS結果提取大于某值的區域體積-CAE方法
以最簡單的懸臂梁為例,提取加載歷程下大于100e6 Mises等效應力下單元體積:
1)顯示應力變形云圖,并通過云圖顯示設置,可將超過指定數值的云圖范圍顯式為灰色,便于觀察和對比:
2)顯示指定應力范圍內的單元:找到按鈕,或菜單欄Tools->DisplayGroup->Create...,點擊后激活Create Display Group對話框,選擇Item為Elements、method為Result value,并設置最小值(Min value)100e6和最大值(Max value)1e10,點擊Apply可顯示出范圍內的單元,如下圖所示。
注意:同時點擊底部的Save As...按鈕,保存名字為DisplayGroup-2。
3)測量顯示單元體積:找到按鈕,或者菜單欄Tools->Query...命令,找到Mass properties選型,并點擊后激活查詢質量流程,在提示信息欄將讓選擇單元,修改選擇方法為Display groups,并選擇剛剛生成的DisplayGroup-2;由于是測量質量,針對材料中沒有定義密度的情況,ABAQUS友好的提供了Options選項,可以設置材料密度和平面shell的厚度,這里均設置為1。如下圖所示。
重新選擇顯式組后,在底部信息框中將顯示測量的體積、體積中心、質量、質量中心以及質量距等數據。
4)匯總不同時刻的數值,繪制時程曲線如下:
同時,該方法不僅適用于應力數值范圍,基本所有的云圖范圍單元體積的測量都是可以滿足的。
作者:陳佳敏cn
來源:CAE技術資訊
展開 星辰技文|ABAQUS結果提取大于某值的區域體積-Python方法 ¥10
上一篇技文《ABAQUS結果提取大于某值的區域體積-CAE方法》中帶大家使用ABAQUS CAE界面直接提取大于100e6 Mises等效應力的區域體積,方法雖然比較好操作,但也存在明顯的缺點:
方法太繁瑣;統計歷程曲線時會顯得非常麻煩,因此我們找到了代步工具:Python。
精度較低;這是由于一個單元內只需要一個積分點滿足數值要求,整個單元都會顯示出來,但一個單元可能存在多個積分點,比如演示案例中采用六面體二階減縮積分單元(C3D20R)存在8個積分點,單元內部分積分點可能不滿足條件,也會被統計在內,從而導致統計的體積偏大,我們對比下CAE方法和Python方法的結果差異如下圖,最少都差32%!
樣的誤差雖然可以通過提高網格密度來減緩,但并不能完全避免,因此也就有必要對這些單元內所有積分點值進行判斷,獲得單元內滿足條件的積分點所占比例,再對其體積進行加權相加。而這樣的操作過程顯然不適合手動統計,再一次將目光投向了我們的代步工具:Python!
沒有Python基礎的小伙伴,建議先看曹金鳳姐姐的《Python語言在Abaqus中的應用》或江丙云哥哥的《ABAQUS Python二次開發攻略》,不然會有些吃力。雖然代碼備注的已經非常詳細,但還是需要一些背景支撐的。
【編程需求與分解】
為了與CAE過程進行對比,我們還是將需求定義為:提取懸臂梁加載過程中Mises等效應力大于100e6的區域體積。
展開 
針對ABAQUS掃頻odb結果各頻率下最大位移快速提取Python程序 ¥2
本帖是針對ABAQUS掃頻仿真項目中遇到的最大值提取需求而產生的具體應用。一般掃頻結束后有對各頻率下最大位移結果進行提取并繪制曲線的需求,通常手動提取僅可用于較少頻率提取情況,當頻率點較多(如500時)手動提取將是災難性的操作方法。
這里利用python程序對掃頻odb最大值進行提取。方法分兩類:遍歷節點法和Visualization顯示值提取法。前者在《python語言在ABAQUS中的應用》一書中有節點應力提取案例描述,優點是不需對ABAQUS界面進行python操作,可定位具體節點信息,缺點是速度慢;后者相反。
后一方法的應用也可應用到最大Mises應力等結果數據的快速提取方面。
如有疏漏,煩請指教。
展開 Abaqus實用技巧:彎矩、軸力、剪力提取方法詳解
1
前言
最近在一個交流群里有人問到Abaqus中彎矩、軸力、剪力等內力的提取方法,我就好奇的查閱資料并實踐了一下。基本上通過Abaqus的gui界面操作可以獲取任意截面在任意時刻的內力,總的來看方法都是一樣的,小差異在于軟件中的某些選項的設置。在使用Abaqus進行結構分析時,提取彎矩、軸力和剪力是非常常見的需求。下面我將詳細介紹一些在Abaqus中提取這些結果的實用技巧。
2
操作步驟
1.進入后處理,點擊view cut,如下圖
2.選擇截面位置和截面數量,具體見下圖
3.進入report,點擊free body cut,然后進行下圖的設置
4.把導出的數據復制到excel中即可,分析和繪圖等
3
結語
最近在學習和對比一些界面本構的差異和效果,發現網上一些cohesive單元插入插件使用起來不僅方便,而且可以實現一些特殊的效果,如果大家有這方面的插件希望分享下,我也是剛開始接觸,這些對我也很重要,后續我也會繼續分享使用所得的技巧和收集的相關資料。
文章來源:力學混子愛AI
展開 abaqus二次開發:后處理批量提取場輸出和歷程輸出結果(源碼帶注釋) ¥198
abaqus二次開發:后處理批量提取場輸出和歷程輸出結果(購買后需要加V私聊獲取使用教程)
購買后,請加V:wzd_1021_
更多插件內容,請私聊
同時提供定制hypermesh/hyperview/abaqus前后處理插件開發。
Abaqu后處理小技巧之路徑Path數據的不同提取方式對比
[圖片]