
發布
注冊
/
登錄abaqus數據濾波的案例
abaqus cae數據文件損壞如何修復? abaqus data
將jnl文件復制一份,重命名后綴為.py的文件,打開abaqus,file-->run script, 運行一遍該py文件。但要注意你原始導入的幾何或孤立網格文件還在原來的文件夾位置下。
abaqus數據傳遞 ¥2
最近在學習abaqus數據傳遞功能。abaqus中數據傳遞的方法大體有三種,一種是我們常用的重啟動,一種是數據傳遞,還有一種是提取初始應力場再導入。
1.重啟動的步驟如下:
1)在原模型中設置restart輸出請求;
2)在重啟動模型中設置重啟動請求:
單擊菜單Model/edit attributes,選擇重啟動模型名稱,設置重啟動分析步名稱以及重啟動迭代步;
基于Python向Abaqus導入txt、dat數據(附abaqus中python二次開發課程)
這次推送聚焦于解決采用Python向Abaqus里導入txt、dat數據的問題(dat文件只需要將txt文件的后綴名改為dat就可以生成dat文件),Abaqus基于Python讀入txt、dat數據主要有read()、readlines()、readlines()、numpy.loadtxt()函數,導入的txt文件放在工作目錄temp中。
1. read() 函數
可以一次性讀取txt文件中的內容,并以字符串的結果返回來,如下列代碼所示:
with open("xyplot.dat", "r") as f: #打開文件
data = f.read() #讀取文件
print(data)
其中,
r是讀取人工書寫的數據,書寫的時候是什么樣子,讀出來就是什么樣。
rb是讀取二進制文件,非人工書寫的數據,如.jpeg等這些。
將該命令在Abaqus/CAE的命令行接口(Command Line Interface, CLI)運行后,結果如圖1所示(圖中#注釋后的亂碼為作者安裝abaqus采用英文版,沒有漢化所致):
圖1 read()讀取txt、dat數據到Abaqus
需要注意的是,以上data數據類型都是為字符,如下圖所示。調用data[0]為字符,因此data[0][0]也為字符,以及后續的data[20][0],data[60][0]等也都為字符。
展開 Abaqus Python 二次開發-歷程輸出數據提取的python實現 ¥3.49
在Abaqus中,歷程變量的輸出,尤其是反力及位移,經常是如下的格式。
此時,如果想提取數據,一些關于Abaqus 二次開發的書籍里提供的方式是:odb.step['Step-1'].historyRegions['Node PART-TRIMMED-MESH.288422']. historyOutputs['U1'].data 。這種方式,需要輸入 'Node PART-TRIMMED-MESH.288422' 這種很長的字符串,繁瑣且容易出錯。
在付費內容中,提供了一種便捷的方法,得到長字符串,提取相關的數據,并將數據保存為csv文件。
展開 
Abaqus的歷史數據輸出的問題
Abaqus的歷史數據輸出的問題
Abaqus結果輸出時有場輸出(Field Output)和歷史輸出(History Output),場變量輸出用于描述某個量隨空間位置的變化,歷史變量用于描述某個量隨時間的變化,區別是場變量輸出大量的單元或節點上的計算結果,寫入odb文件的頻率低,用與生成后出的各個圖。歷史變量輸出少量單元或節點上的計算結果,寫入Odb的頻率高,用于生成X-Y圖。歷史變量允許單獨輸出某個獨立分量,經常用到的就是這個獨立分量的輸出,比如輸出結構最大點的位移變化曲線,或者盈利最大點的應力變化過程等。
在輸出歷史數據時,大多數的輸出結果比如位移和應力等,不能實現整個模型全部輸出,也就是需要指定set(參考集),需要設置相關的set后,結果輸出才會有這些數據。
定義Set的對話框如圖1所示,定義Set的類型時有三個,按照以往的理解,一般經常用到的應該是Node,也即節點集,想要輸出這個節點在求解過程中的Mises應力變化過程,選擇某個節點,通過Step模塊的History Output Requests,如圖2所示。
圖1
圖2
選擇剛才設置的Set,選擇需要輸出的結果項,此處為Mises。之后計算,計算后提取結果時,發現并沒有輸出該節點的Mises歷史數據。
筆者很快想到了,有可能是不能輸出節點的應力,因為涉及到節點解和單元積分點解的問題,這個之前已經討論過。基于此考慮,那么輸出該節點的位移場肯定沒問題,因為節點位移解是最先得到的節點解。
將Mises換成UT,如圖3所示。
同時,新建一個Element Set,因為Node Set無法輸出歷史數據,那么采用Element Set也肯定能夠輸出單元積分點的數據,如圖4所示。
展開 abaqus 運行完的ODB 數據提取
為什么之前運行完的ODB 文件可以正常提取數據,現在再對這個文件,在相同的位置卻提出不出來數據,就是一條橫線,這是什么問題呢
ABAQUS批量提交Job與Python讀取ODB結果應力應變數據
問題2
如何從ODB結果文件中讀取計算結果數據
第二個問題是大家經常要面對的,常規的數據提取采用ABAQUS自帶的后處理工具已經能滿足需求了,但是如果我們需要進行一些寫出文本,數據篩選,數據的二次計算處理。。。,我們就需要用程序語言的幫助了。
針對今天的問題——
提取結果并寫出到文本
,如果用自帶的工具,可以導出abaqus.rpt文件,不過這種方式并不能滿足我們較為苛刻的要求,用python程序會的自由度會更大一些。
另外需要說明的是,如果我們僅僅只是看看某單元或者節點的各種計算結果,或者簡要的數據處理,臨時用一用,可以采用如下方式,不必費心寫復雜的程序,不值當浪費時間,
青春易逝,頭發寶貴
。當然了,通過阿信這里給出的基本程序改一改,能省幾根頭發。
限于時間關系,這里只列出基本的應力提取程序,寫入文本比較簡單,隨意百度即可實現,不再給出。
展開 Abaqus利用region讀取結果數據
Abaqus利用region讀取結果數據
長安CAE
Abaqus計算完成后,為輸出某部分模型的結果數據,需要用到region,并且配套使用的是getSubset函數。
示例一創建一個變量center,將一個叫做PUNCH的節點set賦值給這個變量,通過整個模型的位移場displacement得到該節點set的輸出數據,代碼如下:
center = odb.rootAssembly.instances['PART-1-1'].nodeSets['PUNCH']
centerDisplacement = displacement.getSubset(region=center)
centerValues = centerDisplacement.values
for v in centerValues:
print v.nodeLabel, v.data
其中的displacement是已經創建好的位移場數據,centerDisplacement變量得到該節點集的所有數據,centerValues變量得到該節點集的數值數據,通過循環輸出節點號和當前數據。
展開 Abaqus利用region讀取結果數據
單元質心點
轉自公眾號——ABAQUS大世界
旨在分享,若侵即刪.
ABAQUS odb數據解析系列文章---總綱
“使用python進行ABAQUS后處理的二次開發是非常便捷的, 可以通過自動解析實現在一定程度上提高工作效率. 此系列文章將著手于odb文件的結構特征, 進而使得在后處理插件開發過程中少走彎路, 少做重復性工作.”
python是一種面向對象的高級語言, 那么在使用python處理odb的時候就要著手于對象, 將odb文件的對象譜系梳理清晰. 在完成上述工作之后, 再進行后處理二次開發的時候就可以直接按圖索驥, 快速找到自己需要使用的方法了.
01
—
解析過程中的重要工具
ABAQUS為其定義的所有類提供了兩個特別有用的方法:
object.__methods__: 可以查看該類內部的所有方法
object.__members__: 可以查看該類內部的所有屬性
這兩個方法為梳理ABAQUS對象譜系起到了很大的作用, 避免了使用python自帶的dir方法(因其將對象內部所有的方法與屬性同時返回, 導致解析困難).
ABAQUS還提供了優化了的print方法, 該方法位于ABAQUS的textRepr中, 名為prettyPrint.
展開 用Python從Abaqus導出txt、dat數據
__biz=MzIzNzcyMDE3OA==&mid=2247484080&idx=1&sn=1b34a15a8bf79e8f9cdf901f43aac9b1&chksm=e8c505addfb28cbb54225ef35bf7c6750ee21673d696b63fe13df9067320f1215cae6861c6a5&token=667787181&lang=zh_CN#rd</strong></a></p><p><strong>以下內容均來自于本人微信公眾號(圖片版可能缺失內容,完整版請關注查看公眾號內容),有興趣請關注一波,共同學習ANSYS和ABAQUS有限元技術,我理解為兩把神器,屠龍刀和倚天劍,用好可行走有限元江湖,做個大俠。</strong></p><p><strong>同濟大學優秀畢業生創立,研究Abaqus、ANSYS在土木領域的科研編程和數值模擬技術,涉及到多尺度、多物理場耦合等計算力學問題,以及基于Python、子程序、INP的Abaqus建模,和ANSYS APDL、Workbench二次開發。
展開 
星辰技文|Abaqus中提取裂縫數據并用matplotlib庫繪圖
目前在Abaqus中,基于全局或局部嵌入Cohesive單元,以模擬非均質材料的裂縫擴展的方法已經相當普遍。我想POLARIS_InsertCohElem插件起到不小的作用。
后處理方面,也推出的POLARIS_CrackGeo插件提取Cohesive單元和XFEM模擬獲得的裂縫數據。但如何出圖來展示裂縫形態,成為插件用戶的一大痛點。
在Abaqus中,Cohesive單元模擬的裂縫路徑可以通過顯示特征邊的方式進行展示,但這種方法有幾個方面的缺點:
1. 雖然可以疊加顯示出裂縫周邊實體單元的應力、孔壓等場量輸出,但在表現裂縫自身場量結果時沒有線圖直觀,如下例中顯示縫寬的效果對比;
2. 很難像線圖那樣凸顯天然裂縫或顆粒邊界以及其它特殊位置的Cohesive單元;
3. 由于全局嵌入Cohesive單元,在單元共節點位置存在孔洞,部件變形后,孔洞呈現出小黑點的形式,無法去除,線圖就完全不存在這些問題;
常用的編程繪圖工具,目前以Matlab和Python matplotlib為主,Abaqus2021版本之后就已經內置了matplotlib庫,因此本文以matplotlib庫為基礎,帶大家繪制POLARIS_CrackGeo插件提取的裂縫線圖。
展開 晶體塑性模擬,EBSD數據導入abaqus
[圖片]
Abaqus GUI Odb數據提取插件開發
Abaqus GUI Odb數據提取插件開發
Abaqus利用Python腳本獲取不同Part上的數據 ¥5.99
在Abaqus計算結果文件中,當一個模型有多個Part對應的Instance,如果想獲取指定Instance上的FieldOutput數據,可以采用getSubset函數,其region參數指定為需要獲取數據的instance對象即可。
可以查閱相關用戶手冊來獲得相關使用方法。也可以直接下載本文附件查看示例代碼。
比如一個計算結果中包括了三個懸臂梁,三個懸臂梁分別受到不同壓力作用,產生不同的位移和應力分布。
附件中的代碼為分別獲取三個Part在X方向上的最大位移和X方向最大正應力,代碼在Abaqus/CAE中運行結果如下圖所示:
展開