對ABAQUS中的umat和vumat的一些理解【轉發(fā)】
2017-06-15 by:CAE仿真在線 來源:互聯(lián)網(wǎng)
1.
If UMAT is used with reduced-integration elements or shear flexible
shell or beam elements, the hourglass stiffness and the transverse
shear stiffness must be specified with the *HOURGLASS STIFFNESS and
*TRANSVERSE SHEAR STIFFNESS options, respectively.
2.
1/The difficulty for passing SDV with UMAT or VUMAT is exactly the
SAME ! Only slight differences ! The syntax is always :
SDVNew=SDVOld+dSDV or SDVNew=function(blablabla) But you already
know that !!!!! 2/There are no conveniences except using your
little fingers to transform a UMAT to a VUMAT. 3/VUMAT is easier to
code because it doesn't require the Jacobian computation
DDSDDE(i,j). BenZ. --- In ABAQUS@xxxxxxxxxxxxxxx, "meyh2002" wrote:
> Hi, Benz, > > What you said are hundred percent correct
and I agree with them.I > disscuss the viscos progrm with you
just wanting to get the hints of > how to pass and update
variables in UMAT.I got confused because I used > UMAT instead
of VUMAT, which seems easier to pass and update stress > and
variable.Maybe I should change my UMAT into VUMAT.I will chek the
> manual on the difference of the user subroutines. So far I
think at > least I should change the integration scheme and user
subroutine > interface. Is there a convenience way to do that?
> > By the way, you really have a sharp head and are familar
with ABAQUS? > How long have you been working on it, if you
don't mind to tell? > Because sometimes I feel frustrated
because BAQAUS is so complicated > that you can not understand
the whole view of it.This make people > waste time and strength.
> > > meyh ------------------------ Yahoo! Groups Sponsor
--------------------~--> $9.95 domain names from Yahoo!.
Register anything.http://us.click.yahoo.com/J8kdrA/y20IAA/yQLSAA/PMYolB/TM--------------------------------------------------------------------~->
Next Message by Date:
Re: problem during running UMAT
--- In ABAQUS@xxxxxxxxxxxxxxx, "benjamin_hagege" wrote: Thanks.I am working on it now.Hope I can get it done soon. meyh > 1/The difficulty for passing SDV with UMAT or VUMAT is exactly the > SAME ! Only slight differences ! The syntax is always : > SDVNew=SDVOld+dSDV or SDVNew=function(blablabla) > But you already know that !!!!! > 2/There are no conveniences except using your little fingers to > transform a UMAT to a VUMAT. > 3/VUMAT is easier to code because it doesn't require the Jacobian > computation DDSDDE(i,j). > > > BenZ. > > > --- In ABAQUS@xxxxxxxxxxxxxxx, "meyh2002" wrote: > > Hi, Benz, > > > > What you said are hundred percent correct and I agree with them.I > > disscuss the viscos progrm with you just wanting to get the hints of > > how to pass and update variables in UMAT.I got confused because I > used > > UMAT instead of VUMAT, which seems easier to pass and update stress > > and variable.Maybe I should change my UMAT into VUMAT.I will chek > the > > manual on the difference of the user subroutines. So far I think at > > least I should change the integration scheme and user subroutine > > interface. Is there a convenience way to do that? > > > > By the way, you really have a sharp head and are familar with > ABAQUS? > > How long have you been working on it, if you don't mind to tell? > > Because sometimes I feel frustrated
3.stateold是上一步的狀態(tài)變量,如果你沒有用到狀態(tài)變量,這個一直就是0,不是應變。vumat和umat不一樣。
vumat本構更新是這樣的:stressnew=stressold+D*straininc,不會自動保存應變
而umat里面是這樣的:stress=C*strain,應變是作為一個變量保存起來的。
http://forum.simwe.com/forum.php?mod=viewthread&tid=1009357&highlight=VUMAT
4.LS-Dyna的本構子程序,把輸入,輸出變量的名稱改一下就直接可以用在Vumat上,不會有任何問題,甚至你都可以用Matlab測試你的本構子程序。
我對于您的問題是這樣認為的
1.首先是stressnew的問題,對于小變形來說,基本是stress算到多少,后處理現(xiàn)實的就是多少,如果存在旋轉的話,那么可能兩者不一致,因為應力=應力+應力增量,這個是簡單的公司、、公式,可是在vumat中你計算的只是這個應力增量的一部分,還有一部分是共旋所引起的,這個你可以參考一下應力客觀率的介紹,比如Jaumann率,這個時候應力增量有三部分組成第一部份為變形導致的應力增加,后面兩部分為旋轉導致的,這兩個部分應力增量abaqus會在你計算完stressnew以后給你增加上。
2.一般對于使用vumat的還都到載荷作用的區(qū)域,我會選擇將這一位置設置為彈性體,這是個比較常用的方式,如果你的計算感興趣區(qū)域不再載荷作用位置。這個解釋起來很簡單,圣維南原理解釋得很清楚,還有這個一般不會影響你的計算結果,如果你想問為什么,這個其實可以開個帖子來說,這里不詳細說明了。
3.這個問題就是個人觀點了,首先對于下降段出現(xiàn)的問題,本身就是控制函數(shù)發(fā)生了變化,從橢圓問題退化到雙曲問題,我是只這個函數(shù)在空間上的控制方程的變化,這個時候一般會有震顫(因為存在間斷解),但是存在震顫并不是人家abaqus計算的不對,而是本來就應該有震顫,好比流體激波行為,差分出來的解本來就是有震顫的。但是這個震顫可以消除就是通過數(shù)值耗散的方法,但是數(shù)值耗散其實是一中數(shù)值誤差,他將原本正確的震蕩解變?yōu)榱似交慕?。但是這樣曲線看起來好看多了。至于為什么abaqu的只帶模型好使,就是因為人家增加了數(shù)值耗散。
這個問題我在這個帖子中回了,你可以看看http://forum.simwe.com/viewthrea ...
F0??&page=2
http://forum.simwe.com/forum.php?mod=viewthread&tid=995145&highlight=VUMAT
5.http://forum.simwe.com/forum.php?mod=viewthread&tid=1112102&highlight=VUMAT
VUMAT中如何調用或表示初始彈性剛度矩陣
————————————————————————————————————————
2015年1月25日 周日
非線性靜態(tài)不穩(wěn)定問題:
http://forum.simwe.com/forum.php?mod=viewthread&tid=1083142&highlight=不穩(wěn)定
"如果結構局部變形不穩(wěn)定的話,我看到abaqus help里提到會施加阻尼"
關于這個前段時間我也碰到過這樣的問題,兩個模型,有一個尺寸不同,改變了載荷后其中一個不收斂了,后來找別人解決的,就是添加了個穩(wěn)定因子,contact
control ,,,,stabilization=1。就收斂了,結果還比較符合
后來查了些資料,說是增加了阻尼,讓結構盡快的穩(wěn)定,在這個過程中誤差小于默認的值,才會收斂的。
本構模型中需計算各個時刻積分點的真實應變,也就是對數(shù)應變 logarithmic strain。樓主說的true strain
就是應該是 logarithmic strain,所以沒有任何問題的
與這些相對應的應該是engineering strain or nominal strain
-----------------------------
2015年1月25日 周一 陰
1.
靜力問題選擇了explicit算法的求解時間預估
http://forum.simwe.com/forum.php?mod=viewthread&tid=1106152&highlight=Explicit
由于模型較復雜,接觸較多,雖然是靜力問題,但是我選擇了explicit算法,模型的詳細參數(shù)如下:單元數(shù)量約30W,最小單元尺寸為1.4mm,為了保證單元質量,沒辦法在增大了,我使用了質量縮放,但是時間步長也僅僅是2.8e-7,模型的加載為3個集中力、3個彎矩、1個重力載荷。我想問問有做過類似案例的同仁,這樣的模型計算時間需要設定多久?我說的是inp文件里面總的計算時間設定多少秒合適?我第一次采用explicit算法計算靜力問題,沒經(jīng)驗,所以咨詢一下,謝謝!
自問自答吧,1.首先求解出系統(tǒng)的第一階頻率(系統(tǒng)最低頻率),根據(jù)頻率算系統(tǒng)的周期,這就是準靜態(tài)顯式求解的最小求解時間要求,如果條件允許,將求解時間放大10倍,求解絕對精準。我已經(jīng)實踐過了,沒問題。
2.
[高級討論區(qū)] 采用能量判斷Explicit擬靜力分析結果的方法總結及疑問
http://forum.simwe.com/forum.php?mod=viewthread&tid=1117632&highlight=Explicit
在用Explicit開展一個具有多個接觸關系模型的擬靜力分析,理想的情況當然是使用implicit,但是如果接觸很多且接觸關系在不斷變化的彈塑性屈曲分析,implicit收斂就很困難,因此選用implicit,畢竟每一步不是力的平衡計算,總感覺需要對結果進行嚴格的判別后才能使用,因此在論壇和Manual上找了一下相關準則,現(xiàn)總結如下:(聲明:本帖內容不屬于原創(chuàng),僅是總結,論壇里已有很多大俠對這一問題進行過論述,對我?guī)椭艽?但由于看了很多帖子,就不一一注明出處了,在此一并謝過!)
分析類型:具有多個接觸的彈塑性擬靜力分析,采用Abaqus/explicit模塊
1、Etotal應保持常量,或近似常量(1%變化幅度);
問題:我的模型始終沒有達到,一直為負且變化幅度大于1%,且在計算的某一時刻會突然變正,且持續(xù)增大到一個很大的量級(伴隨著ALLVD的突然增大),增加Linear
Bulk
Viscosity后,情況會好點,能夠算更多的步數(shù),但是增加這個參數(shù)后對結果的影響還有疑問,是否應該判斷ALLVD/ALLIE的比值,比如小于5%?
2、如果采用縮減積分單元,應控制沙漏能,ALLAE/ALLIE應控制在一定范圍(5%);
問題:Manual里講ALLAE應該和ALLSE或ALLKE相比是可以忽略的,那么這個可以忽略的應該如何控制呢?我認為應該比5%有所放寬吧,畢竟ALLIE與ALLSE相比要大很多,另外當擬靜力分析時,ALLKE本來控制的就很小,此時不應該再用ALLKE來控制了。
3、如是擬靜力分析,應控制ALLKE/ALLIE小于1%,我覺得這一條還是相對容易達到的。
4、Manual上提到,ALLCW和ALLPW應該接近于零;
問題:我的模型中ALLCW可以保持始終為零,但是ALLPW卻為負值,且絕對值在增大,我認為我的Etotal為負也可能與這一原因有關(論壇上說,Etotal為負的一個可能原因是沙漏能導致模型能量損失),有什么辦法可以減少ALLPW呢?
5、關于Manual里提到的Etotal應當恒定為一個常數(shù),我的理解是:
1)對于初始就有應變能,動能的系統(tǒng),Etotal的值應該從分析開始時就等于這一應變能/動能的值(從Manual的Benchmark模型的結果可以看出);
2)如果系統(tǒng)初始沒有能量存在,那么Etotal在分析過程中應該接近于0;
3)關于實際計算時,Etotal不能保持恒定,而是始終在變化,我猜想可能是數(shù)值計算引起的誤差(誤差產(chǎn)生后,其值可正可負);
4)具體到我的模型,我認為由于模型在分析過程中出現(xiàn)多次的屈曲,每一次屈曲可能帶來計算誤差的累積,造成Etotal的值在變化,每次屈曲后,Etotal都會在新的平衡值附近震蕩;
以上是我對采用能量輸出判斷Explicit進行擬靜力分析結果的方法總結以及一些還未解決的問題,尤其是第5條,屬于個人猜想,還沒找到理論依據(jù),希望各位高手指點迷津!
3.[土木] 素砼梁位移加載下降段-Stabilization/Riks/Explicit(呼喚大神@敦誠)
http://forum.simwe.com/forum.php?mod=viewthread&tid=1069815&highlight=Explicit
---------------------------------------
2015年1月30日
本構模型有較為強烈的下降段時,計算容易表現(xiàn)出部化效應(損傷、塑性變形、或者應變在局部單元集中)導致計算不穩(wěn)定,出現(xiàn)所謂網(wǎng)格依賴特性,就是網(wǎng)格劃分少時計算結果好,劃分多時表現(xiàn)出局部化效應計算不穩(wěn)定,打個比方來說,對于一個truss單元,承受受壓荷載,如果其材料本構有明顯下降段,在explicit分析中如果劃分1-3個單元,計算能穩(wěn)定性好,能計算出比較好的承載力曲線,如果劃分10個以上單元,在計算時構件中的一個單元會率先進入下降段,其壓縮應變迅速增長,其它單元會出現(xiàn)拉伸(雖然此時構件總體還是處于壓縮狀態(tài)),計算根本得不到下降段曲線,一旦越過最高點,構件的承載力就迅速降為0,理論上要通過所謂的梯度理論才能解決這個問題,但梯度理論目前很不成熟,需要顛覆傳統(tǒng)有限元的單元構建方式,使用困難,目前能較好解決方法就是如敦誠版主版主所說的引入粘滯。對于你的情況,建議你將模型中的損傷變量粘滯化使之能考慮應變率效應,看效果是不是好一些。給一篇文獻希望對你有幫助。
[子程序] 損傷在vumat中的實現(xiàn)
損傷在vumat中的實現(xiàn)
http://forum.simwe.com/thread-966598-1-1.html
(出處:
Simwe仿真論壇(forum.simwe.com),CAE/CAD/CAM/,FEA/FEM/有限元分析論壇---(手機驗證注冊))
http://forum.simwe.com/forum.php?mod=viewthread&tid=966598&highlight=VUMAT
關于step,increment,attempt,iteration的關系的認識
http://forum.simwe.com/thread-795512-1-1.html
(出處:
Simwe仿真論壇(forum.simwe.com),CAE/CAD/CAM/,FEA/FEM/有限元分析論壇---(手機驗證注冊))
step,increment,attempt,iteration,的關系
1)step
分析步
2)increment
時間增量步
3)attempt
減小增量步的嘗試,即“cutback”
4)iteration
迭代
在一個計算中有可能用到多步分析,比如建一個土石壩,每激活(add)一個填筑層就
是一個分析步step;
在每個step中,如果考慮非線性,step就會分成幾個增量步(increment)進行計算;
在每個increment中,會有減小增量步的嘗試(attempt),在每個attemp中,要進行
迭代計算(iteration)
如果迭代收斂,則在下一個increment中會增大時間增量步(比如第一個
increment=0.2,則下一個會增大為0.3)
如果迭代無法達到收斂,則ABAQUS會自動減小時間增量步(減小increment),即
所謂的“cutback”,如果仍然不能收斂,則會繼續(xù)減小時間增量步,默認的cutback
最大次數(shù)為5次,也就是attempt最大=5,如果5次之后仍不能收斂則ABAQUS會停止分
析,顯示錯誤:too many attempts made for this increment:analysis
terminated.
increment時間增量步有最小值,默認的是1e-5,如果increment減小到比這還小
,ABAQUS就會停止分析,出現(xiàn)錯誤:time increment required is less than the
minimum specified.
increment的值可以在關鍵字*static中修改:
*static
1., 1., 1e-05, 1.
分別為初始增量步,分析時間步,最小增量步,最大增量步
可以用關鍵字*Step設定一個分析步中increment的最大步數(shù),如:
*Step,INC=600 (the maximum number of increments
in a step,默認的是100 )
*static和*Step中的increment是相同的,*Step,INC默認為100,而*static中默認為
1e-5,并不是100*(1e-5)=1,這兩個數(shù)都是限值,即number of increments最大為100
,而increment最小為1e-5。
關于explicit質量放大的一點小心得
http://forum.simwe.com/thread-828207-1-1.html
(出處:
Simwe仿真論壇(forum.simwe.com),CAE/CAD/CAM/,FEA/FEM/有限元分析論壇---(手機驗證注冊))
本構模型有較為強烈的下降段時,計算容易表現(xiàn)出部化效應(損傷、塑性變形、或者應變在局部單元集中)導致計算不穩(wěn)定,出現(xiàn)所謂網(wǎng)格依賴特性,就是網(wǎng)格劃分少時計算結果好,劃分多時表現(xiàn)出局部化效應計算不穩(wěn)定,打個比方來說,對于一個truss單元,承受受壓荷載,如果其材料本構有明顯下降段,在explicit分析中如果劃分1-3個單元,計算能穩(wěn)定性好,能計算出比較好的承載力曲線,如果劃分10個以上單元,在計算時構件中的一個單元會率先進入下降段,其壓縮應變迅速增長,其它單元會出現(xiàn)拉伸(雖然此時構件總體還是處于壓縮狀態(tài)),計算根本得不到下降段曲線,一旦越過最高點,構件的承載力就迅速降為0,理論上要通過所謂的梯度理論才能解決這個問題,但梯度理論目前很不成熟,需要顛覆傳統(tǒng)有限元的單元構建方式,使用困難,目前能較好解決方法就是如敦誠版主版主所說的引入粘滯。對于你的情況,建議你將模型中的損傷變量粘滯化使之能考慮應變率效應,看效果是不是好一些。給一篇文獻希望對你有幫助。
粘滯化不僅僅是為了考慮應變加載速率效應對本構行為的影響,它能提高模型的穩(wěn)定性,在一定程度上消除網(wǎng)格依賴,在考慮應變率的本構模型中如果將加載時間取的足夠長,則可認為沒有考慮應變率效應,但這樣處理卻能提高模型的穩(wěn)定性,部分的消除網(wǎng)格依賴和局部化效應。
單元為1的時候邊界都是施加在這個單元上的,這樣就相當于增加了單元的約束,提高了剛度,所以衰減行為可以比較緩慢的釋放,而多個單元模型中很多單元沒有這個優(yōu)勢,所以還是快速衰減,并發(fā)生扭曲和失效,建議你定義一個單元刪除變量,
讓單元在damage達到一定數(shù)值的時候立刻刪除。同時在單元類型里面設置一下比較大的體積粘滯系數(shù),看看還有沒有這種情況。
最后減小增量步!做兩個分析部一個讓材料基本接近損傷的起始,第二個分析部設置步長很小,比如1e-9,然后讓他每一步一存儲。來看看損傷行為的發(fā)展是不是被explicit跳躍了。這樣做可能odb文件會很大,但是值得,我以前做過,odb文件甚至達到過20G。
損傷在vumat中的實現(xiàn)
http://forum.simwe.com/thread-966598-1-1.html
(出處:
Simwe仿真論壇(forum.simwe.com),CAE/CAD/CAM/,FEA/FEM/有限元分析論壇---(手機驗證注冊))
-----------------------------------------------
2015年1月31日
對本構方程積分的方法有exlicit and
implicit,前者不需要迭代,運算較快,但是它是有條件穩(wěn)定算法,而且精確度不高,還可能引起不正常卸載的情況發(fā)生,因此多半人們采用后者積分.對implicit算法的本構方程是一個非線性方程組,用Newton-Raphson方法求解.這個就是叫做return
mapping的算法,那個radial return method只是它的一個特列.
當要求解軟化材料的問題時,剛度矩陣會變負,現(xiàn)在的解決方法有引入附加條件,比如sphercial path control and
arc-length control.參考:
1.Simo, J.C., Hughes, T.J.R., 1998. Computational Inelasticity.
Springer-Verlag, New York.
2.O. C. Zienkiewicz and R. L. Taylor, The Finite Element
Method
3.Crisfiled MA. Non-linear Finite Element Analysis of Solids and
Structures. Volume 1: Essentials. Wiley:. Chichester, 1997
http://www.baisi.net/thread-680016-1-1.html
-------------------------------------------------
2015年3月10日
用顯示算法進行動力學分析時,monitor里面的total energy一會負值一會正值,這個是為什么啊。還有那個kinetic
energy和total energy 是什么意義,有什么關系?
kinetic energy是動能;total energy 是總能量,
在進行動力學分析時,一般來說在整個計算過程中能量是守恒的,即計算過程中,total energy 應該不變的,但是kinetic
energy應該是變化的,除非速度和質量不變,同時可能在求解過程中存在摩擦能、沙漏能、外力做功、內能與動能的相互轉換等等,所以求解過程中可能會出現(xiàn)各種能量之間的互相轉換,你要全權監(jiān)控,total
energy的變化是由什么引起的?可以肯定的是如果是有沙漏能引起的,那結果就是不可靠的。
轉自http://blog.sina.com.cn/s/blog_64fe8b9d0102vipx.html
相關標簽搜索:對ABAQUS中的umat和vumat的一些理解【轉發(fā)】 abaqus分析培訓 abaqus技術教程 abaqus巖土分析 鋼筋混凝土仿真 abaqus分析理論 abaqus軟件下載 abaqus umat用戶子程序編程 Abaqus代做 Abaqus基礎知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓