
發布
注冊
/
登錄abaqus中場變量的案例
Abaqus動態分析中,如何快速查看整個響應過程中場輸出結果的最值 ¥9.9
結果輸出中是不會直接輸出的,只能看到每幀場輸出中的最值,又不可能自己逐幀場輸出結果里去看,然后找到所有幀中的最值,那么Abaqus軟件內如何實現呢?</p><p><br></p><p><span style="background-color: rgb(255, 255, 255); color: rgb(25, 27, 31);">原創聲明:未經本人同意,禁止抄襲、二次創作及轉載!</span></p>
[原創]Abaqus UFIELD 和 USDFLD子程序詳解
UFIELD和USDFLD子程序詳解
———公眾號‘CAE仿真實驗室’出品
UFIELD和USDFLD是Abaqus極具迷惑性的兩個子程序,這兩個家伙長得就比較像兄弟,而且都是用來自定義場變量的,同時還有一個狀態變量state variable摻和在中間,再加上幫助里面的解釋也基本上不是人話,很容易就把人搞二了,今天帖主就來理一理這兩個子程序。
1、自定義場變量
Abaqus中場變量可以先簡單的理解為每個單元或者每個節點都有一個值的變量,像結果輸出中的溫度、應力和應變等。有時候我們也需要定義Abaqus中不存在的一些稀奇古怪,有意義或無意義的場變量,比如濃度場,固化度場,損傷度。場變量最場用于定義變化的材料參數,即讓材料屬性如密度,彈性模量和一個場變量相關,通過更新場變量的值來改變材料參數(這一點和溫度相關的材料參數本質上是一致的),而場變量的更新在這兩個子程序中均可以完成,UFIELD是用來指定預定義場變量的,USDFLD對積分點的場變量重新定義。
展開 ABAQUS案例-場變量的應用及材料彈性模量隨場變量而變化 ¥3
ABAQUS中的場變量具有較高的應用價值,可以在一些復雜的工程應用中極大的減輕工作量。本實例即是展示一個場變量應用——材料彈性模量隨場變量而變化,其中它涉及到關鍵字的編輯(關鍵字的具體編輯也在附件中)。本實例在附件的inp文件中。
ABAQUS UMAT調用后為什么損傷變量出現負值?
ABAQUS UMAT調用后為什么損傷變量和單元刪除出現負值和大于1得值?
調用子程序后,計算復合材料損傷過程,損傷變量和單元刪除出現負值和大于1得值,真誠求助。附上子程序,請老師指教
20251203.txt

ABAQUS模擬多道次變形的變量繼承方法
一、引言
使用ABAQUS進行多道次加工時,往往牽扯道次之間變量的繼承(如晶粒尺寸、累積損傷等),這對多道次變形模擬結果的準確性有較大的影響。本文以VUHARD子程序及簡單的熱壓縮模型為例,分享雙道次壓縮之間的晶粒尺寸的繼承方法。
abaqus后處理插件—場變量結果標注 ¥45
abaqus后處理界面中探針功能附帶的標記樣式非常丑陋,基于abaqus的試圖注釋功能進行二次開發,形成了場變量標注插件,方便快速的標注關心區域的應力應變等結果。
插件介紹:
按鈕介紹
從左至右依次是:標記按鈕、隱藏標記按鈕、恢復顯示按鈕、刪除按鈕
示意動畫
使用方法:
1) Probe查看節點結果,并勾選需要標記的節點項;
2)點擊工具欄中的標記按鈕,進行標記。
特點
1) 標記速度快,即使在單元數目達到百萬級及以上的模型中,標記速度仍無明顯延遲;
2)所有標記注釋均在試圖注釋功能界面里,有利于對美觀度有更高要求者進一步修改美化。
展開 Abaqus python腳本開發 第三章 各類指令的方法對象變量
該部分主要介紹以Python scripting guidance為基礎的對象方法變量,在一些較難理解的模塊部分提供代碼示例,供讀者參考。
3.1 Mdb command
3.1.1 Mdb object
Mdb對象是高級Abaqus模型數據庫,其中儲存了模型和分析控制信息。
3.1.1.1 Mdb()
建立一個空的Mdb對象
可選變量
pathName
默認保存為.cae文件
返回值
Mdb對象
3.1.1.2 importDxf()
從AutoCAD .dxf 文件建立一個ConstraintedSketch對象
需要的參數
fileName
返回值
Mdb對象
importDxf(fileName=‘’)
3.1.1.3 openMdb()
打開現有的model databse file
必要參數:
pathName
一段用來指定打開路徑的字符串, 如果不提供擴展名的話,Abaqus/CAE會打開帶 .cae后綴的文件。
展開 Abaqus后處理-云圖變量含義(部分)
結果中分量說明:
S11、S22、S33指各軸正應力;
S12指作用于XZ平面(與“2”,即Y軸垂直的平面)內,沿1方向剪應力;
S13指作用于XY平面內,沿1方向剪應力;
S23指作用于XY平面內,沿2方向剪應力。
若為柱坐標,S12、S13、S23分別指:由徑向向環向的剪應力、由徑向向軸向的剪應力、由環向向軸向的剪應力。
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變量解讀:教你讀懂應力/應變/損傷
結語
ABAQUS中的變量雖多,但歸根結底都是為描述材料行為和判斷結構狀態服務的。理解每個變量的物理意義,結合實際分析目標選擇合適的輸出,才能讓仿真結果真正“說話”。
如果你對某個變量還有疑問,或者想了解更深入的應用場景,歡迎在評論區留言!
ABAQUS顯式子程序調用規則及nblock變量解釋
ABAQUS在調用VUHARD子程序時,每次向子程序提供136個單元(單元數<136則提供所有單元)進行計算,使用(do k=1,nblock → end do)計算每一個單元的相關變量。因此對于1000單元來說,一共調用8次子程序。
設置全局變量commom /globals/ kdtest,在ABAQUS每一次調用子程序之后,給其加一,統計模擬過程中的總循環數,在(do k=1,nblock → end do) 循環內部輸出變量kdtest的值。(全局變量可以不跟著k的循環而變化,用戶可以根據需求設置其在代碼中的功能),結果截圖如下:
共1000個數據,1~7各重復了136次,8重復了48次,與上述分析一致。
因此在nblock實際代表的是ABAQUS提供給子程序的材料點塊,這個塊區包含的單元數與模型單元數有關,而k則是對該材料點塊實現一個遍歷,確保每個單元都被考慮到。本研究僅針對于單核計算來講,多核模擬將在后續展開介紹。
展開 
getMask()討論:Abaqus Part對象的成員變量常用函數 ¥1
但是當開始寫程序的時候才發現一個巨大的坑點:Part對象的Skin函數不接受列表類型的參數或者數組類型的參數,它只接受ABAQUS特定的幾何數組類型或者序列類型,按理說list類型屬于序列類型,但是該函數并不接受。如果通過getSequenceFromMask生成可用faces,mask究竟如何獲得又是一個問題。
mask為什么難以獲得呢?因為getMask()函數是FaceArray對象的成員函數,而該對象的建立是通過part對象建立的(p.faces),它會生成所有faces的合集(比如[0,1,2,3,4,5,6]),而我要進行skin的cell只包含這些faces中的一部分,并且編號是隨機的不可預測的,但是組成該cell的face編號可以通過c.getFaces()((2,3.4,5))。按照我最初的想法,我有了這些面的ID號,把它們從p.faces中讀取出來重新組合就可以了,但是組合完成的類型是list,Skin函數不接受它作為參數。我嘗試了多種方法均不能將最終的結果轉化成Skin可以使用的格式。并且由于組合后的不是abaqus的幾何數組類型,所以它并沒有getMask()方法,也就無法通過該方法獲得可以使用的mask。
無奈之下只好使用getSequenceFromMask函數,這就要解決一個麻煩的問題:getSequenceFromMask的mask值究竟怎么來?目前看來唯一的辦法就是解密getMask()函數。(未知原因,公司網絡連接不了ABAQUS幫助文件。)
展開 Abaqus后處理插件——云圖場變量查詢器 ¥50
基于Python對Abaqus進行后處理的二次開發,形成了場變量查詢插件,寫論文寫報告的實用小工具,話不多說直接上圖。
其實Abaqus后處理模塊本身具有場變量查詢功能(Tools-Query-Probe values),可以滿足使用需求,但其顯示效果非常不友好,以節點(單元)編號+場變量值的形式顯示,理工科氣息十足。不得不說,Abaqus在操作體驗方面而言和Workbench還是有一些差距。
PS:常規的二次開發通過fieldvariable.getsubset方式查詢到的場變量為節點直接插值的計算結果,即節點上的值是從相鄰單元插值后未經過平均化的值,是離散的,而結果顯示云圖默認是按75%平均化處理后的結果,更接近實際。
本插件查詢到的場變量為平均化之后的結果,和云圖的顯示的值一致。
展開 ABAQUS中隱式和顯式的節點和單元的輸出變量解析
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腳本開發 第三章 各類指令的方法對象變量 (2)
Abaqus Python腳本開發持續更新中
微信公眾號:山石結構
Bilibili:happyleo7