
發布
注冊
/
登錄abaqus模態結果提取的案例
如何用Excel一鍵提取模態結果?
有時候想查看某個模型的模態結果,又不想打開ODB,其實計算完的dat文件里就保存了各階模態數值,但是在動輒幾千上萬行的dat里翻到模態那一行也費點功夫。
這里閑著無聊,搞了個Excel版的提取模態結果,東西很簡潔,希望對大家有用處 :)
小工具在我發的文檔歷史可以找到,或者直接點擊下面圖片。
Ansys Workbench 利用APDL后處理命令,提取模態結果,結合VBA語言自動編制報告 ¥10
問題:
工程中因為模態分析可以反應出結構產品的很多問題,因此對模態計算的需求很多。并且資料或經驗等對模態計算有一定的要求,例如模態頻率大于激勵頻率的1.5倍、模態有效質量大于75%等。
本例在常規模態計算的基礎上,通過插入后處理APDL命令,實現對X、Y、Z三個方向的模態有效質量和模態階次頻率的提取,并統計導出為結果文件夾下的“modalResultRecord.txt”文檔。進一步的實現對仿真word報告的自動化編寫。
效果展示:
對圖示結構進行模態分析,提取模態結果,利用word自身的VBA開發工具,實現模態統計表的自動創建。
常規模態計算:
模態信息提取自動編制報告:
操作演示:
1.:在常規模態計算的solution下插入Commands 命令,在命令行中寫入附錄1中的命令。
(該命令可以提取模態實現對X、Y、Z三個方向的模態有效質量和模態階次頻率的提取,并導出為結果文件夾下的“modalResultRecord.txt”文檔)
2:在仿真文件夾內找到該txt文檔,放置在合適位置;記下目錄;
3:在word開發工具中,利用VBA語言編寫如下附錄2命令。
4:修改txt文件的目錄,保持與步驟2一致。(將附錄中VBA程序復制到word開發工具內,點擊運行即可在,word文檔中創建模態統計表)
(將類似功能匯總即可完成仿真報告的自動化創建,本文僅涉及一部分)
附錄1:Ansys Workbench 模態仿真后處理中插入的APDL命令
!提取模態仿真的X、Y、Z方向有效模態質量,APDL命令:
! 模型單位制:mm kg N s
finish
/post1 !進入后處理
*dim,direction,CHAR,3,1 !
展開 利用Python提取ABAQUS的.odb結果中的輪軌接觸信息 ¥500
ABAQUS 顯式explicit計算時所有結果都將寫入到.odb文件中,在GUI界面進行數據提取時效率較低,且有些詳細結果不能直接從.odb中獲取。因此,需要利用python讀取.odb,然后進行提取關心的數據,以此進行下一步計算。
在abaqus中采用python提取結果-平均應力 ¥5
Python腳本操作ODB文件進行計算結果數據的提取。
因對結果分析需求,需提取某單元集的每一分析步(包含每一子步)的平均應力,目前網上雖有很多代碼是關于單元集的平均應力的提取,但并未有針對每一子步都需要提取結果的代碼。故針對此需要編寫了python代碼。

python提取abaqus場輸出結果
最近寫了一個簡單的python讀取abaqus結果中的場輸出數據,就在這里簡單的講一下整個流程。后續采用abaqus讀取場輸出結果應用也挺廣泛。整個過程的流程圖可以用下圖來概括,因為不是計算機專業,考慮沒那么細致,很多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插件和使用說明書
展開 考慮壩體-庫水相互作用的重力壩模態分析--對比分析ANSYS和ABAQUS重力壩流固耦合模態結果
分割線================================
此篇只簡單進行了兩個軟件的模態對比分析結果,熟悉了兩款軟件中流固耦合單元的設置方式與操作流程,得出結果供大家參考,后續會進一步推出相關計算案例。歡迎各位朋友交流指正。
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代碼
展開 利用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操作有點相反。
展開 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)匯總不同時刻的數值,繪制時程曲線如下:
同時,該方法不僅適用于應力數值范圍,基本所有的云圖范圍單元體積的測量都是可以滿足的。
展開 
Matlab“稍作修改”Abaqus-odb結果 | 提取三維裝配體Mises應力
數據及函數文件獲取方式:
Matlab“稍作修改”Abaqus-odb結果 | 提取三維裝配體Mises應力
https://mp.weixin.qq.com/s/l45KSgNxkJ-oCCrDMrUgHA
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應力等結果數據的快速提取方面。
如有疏漏,煩請指教。
展開