
發布
注冊
/
登錄abaqus中文變量的案例
關于HuangUMAT代碼中變量的中文翻譯
注意:針對ABAQUS版本5.3(14-04-94)對*UMAT的修改
(1) 上面定義*UMAT子程序的變量列表,以及下面標注的第一個(標準)變量塊,與早期的 ABAQUS版本相比,添加了變量名稱。
(2) 聲明:include 'aba_param.inc' 必須添加如下。
(3) 從5.3版本開始,ABAQUS文件只使用雙精度。文件 aba_param.inc有一行“implicit real*8”,因為它包含在主子程序中,所以它將那里的變量定義為雙精度。 但是其他子程序仍然需要定義“implicit real*8”,因為可能存在未通過列表或公共塊傳遞給它們的變量。
(4) 這是ABAQUS 5.6版的最新版本。
(5) J. W. Kysar添加的注釋(1997年11月4日)。該 UMAT已被修改以跟蹤每個獨立滑移系中的累積剪切應變。需要此信息來糾正Bassani和Wu硬化法則執行時的錯誤。任何已添加或修改的代碼行都緊跟在以CFIXA開頭的行之前,并在以CFIXB開頭的行之后。添加或修改的任何注釋行都將以CFIX開頭。
Bassani和Wu的硬化定律執行不正確。該定律是雙曲正割平方和雙曲正切的函數。然而,sech和tanh的參數與單個滑移系統上的*total*slip相關。以前,UMAT通過在每個滑移系統上使用*當前*滑移來實施此硬化定律。問題就在于此。UMAT并未將當前滑移限制為正值。因此,當遇到帶有負號的滑移時,包含tanh的項會導致負的硬化率(因為tanh是一個奇函數)。
UMAT已通過添加狀態變量來固定,通過整合每個單獨滑動系統的滑移率絕對值來跟蹤每個滑動系統上的*總*滑動。這些“相關解變量”可用于后處理。輸入文件中唯一需要的更改是必須更改DEPVAR命令。
展開 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后處理-云圖變量含義(部分)
結果中分量說明:
S11、S22、S33指各軸正應力;
S12指作用于XZ平面(與“2”,即Y軸垂直的平面)內,沿1方向剪應力;
S13指作用于XY平面內,沿1方向剪應力;
S23指作用于XY平面內,沿2方向剪應力。
若為柱坐標,S12、S13、S23分別指:由徑向向環向的剪應力、由徑向向軸向的剪應力、由環向向軸向的剪應力。
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能量平衡輸出變量
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
Abaqus_Python 后處理結點數據提取、場變量云圖輸出 ¥1.99
今天體會了Python腳本操作ODB文件進行數據的輸出、處理等方面的快速高效。
首先介紹一下背景,同事的項目,計算case較多。每個case需要輸出幾個路徑上的部分節點值,而且需要針對不同的case、不同的幀、不同的視角截圖、保存云圖,如果人工出圖和提取節點數據,工作量會非常大,費時會遠遠超出計算所用時間;并且,同事還要求我根據case名稱、組件名稱(模型有多個組件組成,且網格是在part上畫的,所以同一個節點編號可能對應多個節點)等保存成不同的文件。
結點溫度數據沒有保存,因此沒有輸出。下圖是自動輸出的png格式云圖。
比較倉促,代碼也比價粗糙?;仡^做一個詳細的介紹。
主要代碼見下。