
發(fā)布
注冊
/
登錄結(jié)果提取的案例
ANSYS的get命令常用操作(信息提取和結(jié)果結(jié)果提取)
ANSYS的get命令常用操作(信息提取和結(jié)果結(jié)果提取)
在ANSYS分析過程中,*get命令作為一個提取信息的常用命令,作用非常大,不管是在前處理、求解還是后處理過程中,都能夠有發(fā)揮的空間,尤其是后處理過程,對結(jié)果的批量輸出來說不可缺少。
*get能夠提取的信息相當(dāng)多,其命令語句如下:
*GET, Par, Entity, ENTNUM, Item1, IT1NUM, Item2, IT2NUM
Par:定義的變量名稱,用于存儲提取的數(shù)據(jù);
Entity:關(guān)鍵字,是信息提取的對象,包括NODE, ELEM, KP, LINE, AREA, VOLU, PDS等;
ENTNUM:當(dāng)前對象的數(shù)字標(biāo)識,比如節(jié)點(diǎn)的節(jié)點(diǎn)號,單元的單元號等;
Item1:提取的信息,可用的非常多,后面展開;
IT1NUM:和Item1配合使用。
由于*get的功用實(shí)在太多,不就一一列舉,單就常用的枚舉。
展開 ansys workbench rst 文件應(yīng)力、位移和坐標(biāo)結(jié)果提取
采用python語言提取rst 文件結(jié)果提取
在abaqus中采用python提取結(jié)果-平均應(yīng)力 ¥5
Python腳本操作ODB文件進(jìn)行計(jì)算結(jié)果數(shù)據(jù)的提取。
因?qū)?em>結(jié)果分析需求,需提取某單元集的每一分析步(包含每一子步)的平均應(yīng)力,目前網(wǎng)上雖有很多代碼是關(guān)于單元集的平均應(yīng)力的提取,但并未有針對每一子步都需要提取結(jié)果的代碼。故針對此需要編寫了python代碼。
針對ABAQUS掃頻odb結(jié)果各頻率下最大位移快速提取Python程序 ¥2
本帖是針對ABAQUS掃頻仿真項(xiàng)目中遇到的最大值提取需求而產(chǎn)生的具體應(yīng)用。一般掃頻結(jié)束后有對各頻率下最大位移結(jié)果進(jìn)行提取并繪制曲線的需求,通常手動提取僅可用于較少頻率提取情況,當(dāng)頻率點(diǎn)較多(如500時)手動提取將是災(zāi)難性的操作方法。
這里利用python程序?qū)哳lodb最大值進(jìn)行提取。方法分兩類:遍歷節(jié)點(diǎn)法和Visualization顯示值提取法。前者在《python語言在ABAQUS中的應(yīng)用》一書中有節(jié)點(diǎn)應(yīng)力提取案例描述,優(yōu)點(diǎn)是不需對ABAQUS界面進(jìn)行python操作,可定位具體節(jié)點(diǎn)信息,缺點(diǎn)是速度慢;后者相反。
后一方法的應(yīng)用也可應(yīng)用到最大Mises應(yīng)力等結(jié)果數(shù)據(jù)的快速提取方面。
如有疏漏,煩請指教。
展開 
星辰技文|ABAQUS結(jié)果提取大于某值的區(qū)域體積-Python方法 ¥10
上一篇技文《ABAQUS結(jié)果提取大于某值的區(qū)域體積-CAE方法》中帶大家使用ABAQUS CAE界面直接提取大于100e6 Mises等效應(yīng)力的區(qū)域體積,方法雖然比較好操作,但也存在明顯的缺點(diǎn):
方法太繁瑣;統(tǒng)計(jì)歷程曲線時會顯得非常麻煩,因此我們找到了代步工具:Python。
精度較低;這是由于一個單元內(nèi)只需要一個積分點(diǎn)滿足數(shù)值要求,整個單元都會顯示出來,但一個單元可能存在多個積分點(diǎn),比如演示案例中采用六面體二階減縮積分單元(C3D20R)存在8個積分點(diǎn),單元內(nèi)部分積分點(diǎn)可能不滿足條件,也會被統(tǒng)計(jì)在內(nèi),從而導(dǎo)致統(tǒng)計(jì)的體積偏大,我們對比下CAE方法和Python方法的結(jié)果差異如下圖,最少都差32%!
樣的誤差雖然可以通過提高網(wǎng)格密度來減緩,但并不能完全避免,因此也就有必要對這些單元內(nèi)所有積分點(diǎn)值進(jìn)行判斷,獲得單元內(nèi)滿足條件的積分點(diǎn)所占比例,再對其體積進(jìn)行加權(quán)相加。而這樣的操作過程顯然不適合手動統(tǒng)計(jì),再一次將目光投向了我們的代步工具:Python!
沒有Python基礎(chǔ)的小伙伴,建議先看曹金鳳姐姐的《Python語言在Abaqus中的應(yīng)用》或江丙云哥哥的《ABAQUS Python二次開發(fā)攻略》,不然會有些吃力。雖然代碼備注的已經(jīng)非常詳細(xì),但還是需要一些背景支撐的。
【編程需求與分解】
為了與CAE過程進(jìn)行對比,我們還是將需求定義為:提取懸臂梁加載過程中Mises等效應(yīng)力大于100e6的區(qū)域體積。
展開 利用Python提取ABAQUS的計(jì)算結(jié)果(ODB)信息
圖10 生成的NodalDisplacement.xls的excel文件
04
結(jié)果驗(yàn)證
將上述excel表格中的結(jié)果繪制成曲線,即U-XYZ點(diǎn)三個方向的位移隨幀數(shù)變化的曲線,如圖11所示。根據(jù)圖12,再結(jié)合odb文件中的變形圖(第623幀)可以判斷U-XYZ點(diǎn)在后期的X(U1)為負(fù),Y(U2)為正,Z(U3)為正,與圖11曲線是一致的。
圖11 U-XYZ點(diǎn)三個方向的位移隨幀數(shù)變化的曲線
圖12 模型后處理結(jié)果圖(第623幀)
最后再與在Abaqus里進(jìn)行GUI(即點(diǎn)點(diǎn)點(diǎn))對U-XYZ三個方向位移處理的結(jié)果圖進(jìn)行對比,即通過XY Data對U-XYZ三個方向的位移進(jìn)行輸出繪圖,注意到坐標(biāo)軸為時間,與Python后處理圖11的幀數(shù)是一一對應(yīng)的。可以知道,Python后處理結(jié)果與ABAQUS的GUI操作得到的結(jié)果幾乎完全一致。
圖13 Abaqus里進(jìn)行GUI操作的后處理結(jié)果(關(guān)于U-XYZ三方向位移)
該模型關(guān)于體積、應(yīng)變、應(yīng)力等方面(包括場輸出和歷史輸出)的Python導(dǎo)入excel的后處理留在下期,敬請關(guān)注。
最后,歡迎大家通過微信公眾號聯(lián)系我們。
微信公眾號:320科技工作室。
同時,更多ABAQUS二次開發(fā)的精彩內(nèi)容,歡迎大家關(guān)注微信公眾號: 土木科研編程與數(shù)值模擬
展開 如何用Excel一鍵提取模態(tài)結(jié)果?
有時候想查看某個模型的模態(tài)結(jié)果,又不想打開ODB,其實(shí)計(jì)算完的dat文件里就保存了各階模態(tài)數(shù)值,但是在動輒幾千上萬行的dat里翻到模態(tài)那一行也費(fèi)點(diǎn)功夫。
這里閑著無聊,搞了個Excel版的提取模態(tài)結(jié)果,東西很簡潔,希望對大家有用處 :)
小工具在我發(fā)的文檔歷史可以找到,或者直接點(diǎn)擊下面圖片。
python提取abaqus場輸出結(jié)果
最近寫了一個簡單的python讀取abaqus結(jié)果中的場輸出數(shù)據(jù),就在這里簡單的講一下整個流程。后續(xù)采用abaqus讀取場輸出結(jié)果應(yīng)用也挺廣泛。整個過程的流程圖可以用下圖來概括,因?yàn)椴皇怯?jì)算機(jī)專業(yè),考慮沒那么細(xì)致,很多python函數(shù)也是即查即用,當(dāng)然程序后續(xù)根據(jù)要求也可以不斷更改。
Ansys Workbench 利用APDL后處理命令,提取模態(tài)結(jié)果,結(jié)合VBA語言自動編制報(bào)告 ¥10
本例在常規(guī)模態(tài)計(jì)算的基礎(chǔ)上,通過插入后處理APDL命令,實(shí)現(xiàn)對X、Y、Z三個方向的模態(tài)有效質(zhì)量和模態(tài)階次頻率的提取,并統(tǒng)計(jì)導(dǎo)出為結(jié)果文件夾下的“modalResultRecord.txt”文檔。進(jìn)一步的實(shí)現(xiàn)對仿真word報(bào)告的自動化編寫。
效果展示:
對圖示結(jié)構(gòu)進(jìn)行模態(tài)分析,提取模態(tài)結(jié)果,利用word自身的VBA開發(fā)工具,實(shí)現(xiàn)模態(tài)統(tǒng)計(jì)表的自動創(chuàng)建。
常規(guī)模態(tài)計(jì)算:
模態(tài)信息提取自動編制報(bào)告:
操作演示:
1.:在常規(guī)模態(tài)計(jì)算的solution下插入Commands 命令,在命令行中寫入附錄1中的命令。
(該命令可以提取模態(tài)實(shí)現(xiàn)對X、Y、Z三個方向的模態(tài)有效質(zhì)量和模態(tài)階次頻率的提取,并導(dǎo)出為結(jié)果文件夾下的“modalResultRecord.txt”文檔)
2:在仿真文件夾內(nèi)找到該txt文檔,放置在合適位置;記下目錄;
3:在word開發(fā)工具中,利用VBA語言編寫如下附錄2命令。
4:修改txt文件的目錄,保持與步驟2一致。(將附錄中VBA程序復(fù)制到word開發(fā)工具內(nèi),點(diǎn)擊運(yùn)行即可在,word文檔中創(chuàng)建模態(tài)統(tǒng)計(jì)表)
(將類似功能匯總即可完成仿真報(bào)告的自動化創(chuàng)建,本文僅涉及一部分)
附錄1:Ansys Workbench 模態(tài)仿真后處理中插入的APDL命令
!提取模態(tài)仿真的X、Y、Z方向有效模態(tài)質(zhì)量,APDL命令:
! 模型單位制:mm kg N s
finish
/post1 !進(jìn)入后處理
*dim,direction,CHAR,3,1 !
展開 LS_DYNA接觸力:分面提取與正面提取結(jié)果有區(qū)別?
同時建立segment set使用*FORCE_TRANSDUCER_PENALTY提取自接觸力,一個件分面提取,一個件整體提取:
接觸面3
ji
接觸面4
接觸面5
接觸面6
接觸面7整體提取接觸力
模型校核:
讀出來個接觸面接觸力如下
接觸面3、4、5碰撞過程中接觸力均為0,接觸面7的接觸力比接觸面6要大1.1%。
本人理解接觸面6與接觸面7碰撞條件相同,接觸力也應(yīng)相等,數(shù)值差異是否可以看做是誤差。
Matlab“稍作修改”Abaqus-odb結(jié)果 | 提取三維裝配體Mises應(yīng)力
數(shù)據(jù)及函數(shù)文件獲取方式:
Matlab“稍作修改”Abaqus-odb結(jié)果 | 提取三維裝配體Mises應(yīng)力
https://mp.weixin.qq.com/s/l45KSgNxkJ-oCCrDMrUgHA

Python 提取odb結(jié)果
### python腳本提取解釋
# 導(dǎo)入模塊
from odbAccess import *
from abaqusConstants import *
from odbMaterial import *
from odbSection import *
import math
# 打開odb文件
odb = openOdb(path=r'G:\CABLE_CON\TEXT2\Job-1.odb')
Step_1=odb.steps['Step-1']
# 鎖定目標(biāo)繩索
region = Step_1.historyRegions['Element ASSEMBLY.1']
xy1=region.historyOutputs['CTF1'].data[300]
# 取最后一幀數(shù)據(jù),并將括號刪掉
s=str(xy1)
s = s.replace("(", "")
s = s.replace(")", "")
# 將繩力輸出到 F1.txt 文件
disFile=open('F1.txt','w')
disFile.write(s)
disFile.close()
# 取最后一幀數(shù)據(jù)
lastFrame=Step_1.frames[-1]
Zuobiao=lastFrame.fieldOutputs['COORD']
Regioncare=odb.rootAssembly.nodeSets['RP']
Coor1=Zuobiao.getSubset(region=Regioncare)
Zuobiao_x=Coor1.values[0].data[0]
Zuobiao_y=Coor1.values[0].data[1]
Zuobiao_z=Coor1.values[0].data[2]
Zhuanjiao=lastFrame.fieldOutputs
展開 ANSOFT計(jì)算結(jié)果提取
ANSOFT進(jìn)行計(jì)算時為了優(yōu)化計(jì)算精度和網(wǎng)格數(shù)量,網(wǎng)格通常都采用軟件自帶的自適應(yīng)剖分算法,當(dāng)然軟件也支持外部網(wǎng)格導(dǎo)入,這里針對軟件自適應(yīng)網(wǎng)格劃分情況介紹一下結(jié)果數(shù)據(jù)的導(dǎo)出,導(dǎo)出的數(shù)據(jù)可以用MATLAB等軟件進(jìn)行任意需要的后處理。總體來說,導(dǎo)出數(shù)據(jù)主要有以下幾種常見情況:
(1)導(dǎo)出既定曲線上的結(jié)果數(shù)據(jù);
先在model中繪畫需要導(dǎo)出數(shù)據(jù)的曲線,然后用Results – Create Field Report畫出曲線上變量的曲線,然后右鍵Export可將結(jié)果導(dǎo)出為EXCEL可打開的.csv文件,之后的操作就簡單了。
(2)導(dǎo)出既定體空間的結(jié)果數(shù)據(jù);
ANSOFT的Field Calculator(Field Overlays -> Calculator)支持兩種數(shù)據(jù)導(dǎo)出,第一種操作簡單,如圖1所示,選取需要導(dǎo)出的變量,然后點(diǎn)擊output項(xiàng)里的Export彈出Export Solution對話框,輸入結(jié)果文件的春放位置和文件名,右下角有是否在結(jié)果文件里包含坐標(biāo)值的選項(xiàng),可根據(jù)需要勾選,點(diǎn)選Calculate grid points,然后輸入x、y、z的范圍和坐標(biāo)間隔,點(diǎn)擊ok,由于所選點(diǎn)并非軟件的直接計(jì)算值,需要通過插值獲得,當(dāng)輸出節(jié)點(diǎn)較多時,速度會較慢。
展開 在仿真結(jié)果中提取扭矩問題
Ls-dyna中做刀具切削仿真實(shí)驗(yàn)時,將刀具設(shè)為剛體;仿真后處理中,在rcforc文件中可以將其所受的橫向切向力提取出來,不過如果想得到其扭矩,應(yīng)該怎么提取或計(jì)算。勞煩高手能夠幫幫小弟,不勝感激
其切削圖與提取的應(yīng)力曲線如下所示
Simulation picture.rar
利用Python提取ABAQUS的.odb結(jié)果中的輪軌接觸信息 ¥500
ABAQUS 顯式explicit計(jì)算時所有結(jié)果都將寫入到.odb文件中,在GUI界面進(jìn)行數(shù)據(jù)提取時效率較低,且有些詳細(xì)結(jié)果不能直接從.odb中獲取。因此,需要利用python讀取.odb,然后進(jìn)行提取關(guān)心的數(shù)據(jù),以此進(jìn)行下一步計(jì)算。