
發(fā)布
注冊
/
登錄abaqus提取變量的案例
Abaqus_Python 后處理結(jié)點數(shù)據(jù)提取、場變量云圖輸出 ¥1.99
每個case需要輸出幾個路徑上的部分節(jié)點值,而且需要針對不同的case、不同的幀、不同的視角截圖、保存云圖,如果人工出圖和提取節(jié)點數(shù)據(jù),工作量會非常大,費時會遠(yuǎn)遠(yuǎn)超出計算所用時間;并且,同事還要求我根據(jù)case名稱、組件名稱(模型有多個組件組成,且網(wǎng)格是在part上畫的,所以同一個節(jié)點編號可能對應(yīng)多個節(jié)點)等保存成不同的文件。
結(jié)點溫度數(shù)據(jù)沒有保存,因此沒有輸出。下圖是自動輸出的png格式云圖。
比較倉促,代碼也比價粗糙。回頭做一個詳細(xì)的介紹。
主要代碼見下。
Python提取場變量-干貨 ¥1.9
提取各節(jié)點和單元的場變量,利用函數(shù)查看可提取的場變量有哪些。
在Abaqus的二次開發(fā)過程中,通常需要采用Python腳本語言將Abaqus的計算結(jié)果進(jìn)行輸出,然后再進(jìn)行處理。Python使Abaqus的內(nèi)核語言,使用較為方便,Abaqus運行Python語言的方式有多種,可以直接命令窗口,也可以讀入腳本,還可以采用類似批處理的方式。
本次以一個例子細(xì)說Python語言在Abaqus后處理中的應(yīng)用,模型的計算結(jié)果云圖如圖1所示。
2 輸出所有節(jié)點的Mises應(yīng)力
直接上Python代碼:
import os
myodb=openOdb(path='Job-1.odb')
cpFile=open('artlcF1.txt','w')
RF=myodb.steps['Step-1'].frames[1].fieldOutputs['S'].values
for i in range(len(RF)) :
cpFile.write('%10.3Fn' % (RF[i].mises))
展開 三步快速提取路徑單元變量 ¥2
<span style="font-family:'宋體';font-size:12.0pt;white-space:pre-wrap;ABAQUSref="https://www.yqgqt.org.cn/major/abaqus" style="text-decoration: none; cursor: text; color: #333;">ABAQUS后處理
三步快速提取路徑單元變量
例如提取沖擊載荷下,路徑上不同時刻的位移應(yīng)力等力學(xué)參數(shù)
截面路徑快速建立的方法
Visualization 模塊
1.創(chuàng)立Path路徑
Tool > Path > Create
展開 ABAQUS案例-場變量的應(yīng)用及材料彈性模量隨場變量而變化 ¥3
ABAQUS中的場變量具有較高的應(yīng)用價值,可以在一些復(fù)雜的工程應(yīng)用中極大的減輕工作量。本實例即是展示一個場變量應(yīng)用——材料彈性模量隨場變量而變化,其中它涉及到關(guān)鍵字的編輯(關(guān)鍵字的具體編輯也在附件中)。本實例在附件的inp文件中。

ABAQUS UMAT調(diào)用后為什么損傷變量出現(xiàn)負(fù)值?
ABAQUS UMAT調(diào)用后為什么損傷變量和單元刪除出現(xiàn)負(fù)值和大于1得值?
調(diào)用子程序后,計算復(fù)合材料損傷過程,損傷變量和單元刪除出現(xiàn)負(fù)值和大于1得值,真誠求助。附上子程序,請老師指教
20251203.txt
Abaqus后處理-云圖變量含義(部分)
結(jié)果中分量說明:
S11、S22、S33指各軸正應(yīng)力;
S12指作用于XZ平面(與“2”,即Y軸垂直的平面)內(nèi),沿1方向剪應(yīng)力;
S13指作用于XY平面內(nèi),沿1方向剪應(yīng)力;
S23指作用于XY平面內(nèi),沿2方向剪應(yīng)力。
若為柱坐標(biāo),S12、S13、S23分別指:由徑向向環(huán)向的剪應(yīng)力、由徑向向軸向的剪應(yīng)力、由環(huán)向向軸向的剪應(yīng)力。
abaqus后處理插件—場變量結(jié)果標(biāo)注 ¥45
abaqus后處理界面中探針功能附帶的標(biāo)記樣式非常丑陋,基于abaqus的試圖注釋功能進(jìn)行二次開發(fā),形成了場變量標(biāo)注插件,方便快速的標(biāo)注關(guān)心區(qū)域的應(yīng)力應(yīng)變等結(jié)果。
插件介紹:
按鈕介紹
從左至右依次是:標(biāo)記按鈕、隱藏標(biāo)記按鈕、恢復(fù)顯示按鈕、刪除按鈕
示意動畫
使用方法:
1) Probe查看節(jié)點結(jié)果,并勾選需要標(biāo)記的節(jié)點項;
2)點擊工具欄中的標(biāo)記按鈕,進(jìn)行標(biāo)記。
特點
1) 標(biāo)記速度快,即使在單元數(shù)目達(dá)到百萬級及以上的模型中,標(biāo)記速度仍無明顯延遲;
2)所有標(biāo)記注釋均在試圖注釋功能界面里,有利于對美觀度有更高要求者進(jìn)一步修改美化。
展開 ABAQUS能量平衡輸出變量
Total energy output quantities
ALLAE
“Artificial” strain energy associated with constraints used to remove singular modes (such as hourglass control), and with constraints used to make the drill rotation follow the in-plane rotation of the shell elements.
ALLCD
Energy dissipated by creep, swelling, and viscoelasticity.
ALLEE
Electrostatic energy.
ALLFD
Total energy dissipated through frictional effects. (Available only for the whole model.)
ALLIE
Total strain energy. (ALLIE = ALLSE + ALLPD + ALLCD + ALLAE + ALLQB + ALLEE + ALLDMD.)
ALLJD
Electrical energy dissipated due to flow of electrical current.
ALLKE
Kinetic energy.
ALLKL
Loss of kinetic energy at impact. (Available only for the whole model.)
ALLPD
Energy dissipated by rate-independent and rate-dependent
展開 ABAQUS螺栓滑移量批量提取工具,可以同時對多個工況多個面進(jìn)行提取 ¥100
適用所有螺栓滑移量提取,腳本與使用方法付費
螺栓滑移量提取1.pptx
ABAQUS變量解讀:教你讀懂應(yīng)力/應(yīng)變/損傷
結(jié)語
ABAQUS中的變量雖多,但歸根結(jié)底都是為描述材料行為和判斷結(jié)構(gòu)狀態(tài)服務(wù)的。理解每個變量的物理意義,結(jié)合實際分析目標(biāo)選擇合適的輸出,才能讓仿真結(jié)果真正“說話”。
如果你對某個變量還有疑問,或者想了解更深入的應(yīng)用場景,歡迎在評論區(qū)留言!
ABAQUS模擬多道次變形的變量繼承方法
一、引言
使用ABAQUS進(jìn)行多道次加工時,往往牽扯道次之間變量的繼承(如晶粒尺寸、累積損傷等),這對多道次變形模擬結(jié)果的準(zhǔn)確性有較大的影響。本文以VUHARD子程序及簡單的熱壓縮模型為例,分享雙道次壓縮之間的晶粒尺寸的繼承方法。

ABAQUS顯式子程序調(diào)用規(guī)則及nblock變量解釋
ABAQUS在調(diào)用VUHARD子程序時,每次向子程序提供136個單元(單元數(shù)<136則提供所有單元)進(jìn)行計算,使用(do k=1,nblock → end do)計算每一個單元的相關(guān)變量。因此對于1000單元來說,一共調(diào)用8次子程序。
設(shè)置全局變量commom /globals/ kdtest,在ABAQUS每一次調(diào)用子程序之后,給其加一,統(tǒng)計模擬過程中的總循環(huán)數(shù),在(do k=1,nblock → end do) 循環(huán)內(nèi)部輸出變量kdtest的值。(全局變量可以不跟著k的循環(huán)而變化,用戶可以根據(jù)需求設(shè)置其在代碼中的功能),結(jié)果截圖如下:
共1000個數(shù)據(jù),1~7各重復(fù)了136次,8重復(fù)了48次,與上述分析一致。
因此在nblock實際代表的是ABAQUS提供給子程序的材料點塊,這個塊區(qū)包含的單元數(shù)與模型單元數(shù)有關(guān),而k則是對該材料點塊實現(xiàn)一個遍歷,確保每個單元都被考慮到。本研究僅針對于單核計算來講,多核模擬將在后續(xù)展開介紹。
展開 getMask()討論:Abaqus Part對象的成員變量常用函數(shù) ¥1
但是當(dāng)開始寫程序的時候才發(fā)現(xiàn)一個巨大的坑點:Part對象的Skin函數(shù)不接受列表類型的參數(shù)或者數(shù)組類型的參數(shù),它只接受ABAQUS特定的幾何數(shù)組類型或者序列類型,按理說list類型屬于序列類型,但是該函數(shù)并不接受。如果通過getSequenceFromMask生成可用faces,mask究竟如何獲得又是一個問題。
mask為什么難以獲得呢?因為getMask()函數(shù)是FaceArray對象的成員函數(shù),而該對象的建立是通過part對象建立的(p.faces),它會生成所有faces的合集(比如[0,1,2,3,4,5,6]),而我要進(jìn)行skin的cell只包含這些faces中的一部分,并且編號是隨機的不可預(yù)測的,但是組成該cell的face編號可以通過c.getFaces()((2,3.4,5))。按照我最初的想法,我有了這些面的ID號,把它們從p.faces中讀取出來重新組合就可以了,但是組合完成的類型是list,Skin函數(shù)不接受它作為參數(shù)。我嘗試了多種方法均不能將最終的結(jié)果轉(zhuǎn)化成Skin可以使用的格式。并且由于組合后的不是abaqus的幾何數(shù)組類型,所以它并沒有g(shù)etMask()方法,也就無法通過該方法獲得可以使用的mask。
無奈之下只好使用getSequenceFromMask函數(shù),這就要解決一個麻煩的問題:getSequenceFromMask的mask值究竟怎么來?目前看來唯一的辦法就是解密getMask()函數(shù)。(未知原因,公司網(wǎng)絡(luò)連接不了ABAQUS幫助文件。)
展開 ABAQUS中隱式和顯式的節(jié)點和單元的輸出變量解析
FSLIP
Field: yes History: no .fil: no
Length of contact slip path at secondary nodes during contact (FSLIPEQ) and in some
cases (see About contact pairs in Abaqus/Explicit) components of net contact slip in local
tangent directions (FSLIP1 and FSLIP2). These variables remain constant while a
secondary node is not in contact.
FSLIPR
Field: yes History: no .fil: no
Magnitude of contact slip rate at secondary nodes during contact (FSLIPR) and in some
cases (see About contact pairs in Abaqus/Explicit) components of contact slip rate in local
tangent directions (FSLIPR1 and FSLIPR2). These variables are set to zero while a
secondary node is not in contact.
BONDSTAT
Field: no History: yes .fil: no
Spot weld bond status.
展開 Abaqus python腳本開發(fā) 第三章 各類指令的方法對象變量 (2)
Abaqus Python腳本開發(fā)持續(xù)更新中
微信公眾號:山石結(jié)構(gòu)
Bilibili:happyleo7