ansys非線性收斂總結

文章來源於網路,講解很系統,可以經典收藏,由於無法查證出處,無意冒犯,如有不妥,請聯繫原文作者智創模擬和我

ansys計算非線性時會繪出收斂圖,其中橫坐標是cumulative iteration number 縱坐標是absolute convergence norm。他們分別是累積迭代次數和絕對收斂範數,用來判斷非線性分析是否收斂。

ansys在每荷載步的迭代中計算非線性的收斂判別準則和計算殘差。其中計算殘差是所有單元內力的範數,只有當殘差小於準則時,非線性疊代才算收斂。

ansys的收斂是基於力的收斂的,以力為基礎的收斂提供了收斂量的絕對值,而以位移為基礎的收斂僅提供表現收斂的相對量度。一般不單獨使用位移收斂準則,否則會產生一定偏差,有些情況會造成假收斂.(ansys非線性分析指南--基本過程Page.6) 。因此ansys官方建議用戶盡量以力為基礎(或力矩)的收斂誤差,如果需要也可以增加以位移為基礎的收斂檢查。

ANSYS預設是用L2範數控制收斂。其它還有L1範數和L0範數,可用CNVTOL命令設置。在計算中L2值不斷變化,若L2<criterion的時候判斷為收斂了。也即不平衡力的L2範數小於設置的criterion時判斷為收斂。

由於ANSYS預設的criterion計算是全部變數的平方和開平方(SRSS)*valuse(你設置的值),所以crition也有小小變化。如有需要,也可自己指定crition為某一常數, CNVTOL,F,10000,0.0001,0就指定力的收斂控制值為10000*0.0001=1。

另外,非線性計算中用到的一個開關是SOLCONTROL,如關閉SOLCONTROL 選項,那麼軟體默認收斂準則:力或彎矩的收斂容差是0.001,而不考慮位移的收斂容差;如果打開SOLCONTROL 選項,同樣的默認收斂準則:力或彎矩的收斂容差是0.005,而位移收斂容差是0.05。

非線性收斂非常麻煩,與網格精度、邊界條件、荷載步等一系列因素有關,單元的特點對收斂的影響很大,單元的性態不好收斂則困難些;合理的步長可以使求解在真解周圍不至於振蕩,步長過小,計算量太大,步長過大,會由於過大的荷載步造成不收斂。網格密度適當有助於收斂,網格太密計算量太大,當然太稀計算結果會有較大的誤差。究竟多少往往要針對問題進行多次試算。

1、如果不收斂,可以考慮一下方法改進

1.放鬆非線性收斂準則。

(CNVTOL #Sets convergence values for nonlinear analyses).

2.增加荷載步數。

(NSUBST #Specifies the number of substeps to be taken this load step)

3.增加每次計算的迭代次數(默認的25次)

(NEQIT #Maximum number of equilibrium iterations allowed each substep)

4 重新劃分單元試試,後續會得到不同的答案。

就我的經驗,前兩種方法效果好一些,後一種方法不一定奏效。但應注意到,放大收斂準則其實是在降低計算精度的條件下得到近似解,並且放大的收斂準則是否與實際相符或有實際意義應仔細考慮。

2、問非線性計算的收斂和速度

Q:我在計算一個大型結構,地震荷載,BEAM188 計算時間太長一個小時可能計算了1秒總共40秒而且越來越慢,不小心早上還停了電如何能使計算加快?或者怎麼才能即使突然結束以後還能繼續算?

A:調整優化非線性計算的收斂和速度可以說幾乎是一種藝術, 即沒有固定的可循規則。

我的經驗是, 你的結構的"非線性"越小, 非線性的變化越規則, 就越容易收斂. 想像一下如果你是手算這個非線性問題, 對你來講較容易的, 對ANSYS的相應演算法也會容易些.

可以把你的地震時程分析拿出幾點, 做一下靜態的非線性分析, 同時調整模型看看分析出來的結果是否合理. 如果這一步還沒有做, 那花大量時間做出的時程分析是廢品的可能性十分之大.

一定要記住有限元分析是一個"簡化"問題的過程. 建立一個模型一定要由淺到深. 線性的模型沒有搞透不要貿然進攻非線性. 靜態沒有搞透不要碰時程分析.

A:影響非線性收斂穩定性及其速度的因素很多,我們可以看看這幾點:

1.影響非線性收斂穩定性及其速度的因素:

1)模型——主要是結構剛度的大小。

對於某些結構,從概念的角度看,我們可以認為它是幾何不變的穩定體系。但如果結構相近的幾個主要構件剛度相差懸殊,或者懸索結構的索預應力過小(即它的剛度不夠大),在數值計算中就可能導致數值計算的較大誤差,嚴重的可能會導致結構的幾何可變性——忽略小剛度構件的剛度貢獻。 如果還不能理解,我們可以進一步說:我們有一種通用的方法判斷結構的幾何可變性,即det(K)=0。在數值計算中,要得到det(K)恆等於零是不可能的,我們也就只能讓它較小時即認為結構是幾何可變的。對於上述的結構,他們的K值是很小的,故而也可判斷為幾何可變體系。事實上這類結構在實際工程中 也的確是非常危險的。

為此,我們要看看模型有沒有問題。如出現上述的結構,要分析它,就得降低剛度很大的構件單元的剛度,可以加細網格劃分,或著改用高階單元(BEAM->SHELL,SHELL->SOLID)。構件的連接形式(剛接或鉸接)等也可能影響到結構的剛度。

2、線性演算法(求解器)

ANSYS中的非線性演算法主要有:稀疏矩陣法(SPARSE DIRECT SOLVER)、預共軛梯度法(PCG SOLVER)和波前法(FRONT DIRECT SLOVER)。

稀疏矩陣法是性能很強大的演算法,一般默認即為稀疏矩陣法(除了子結構計算默認波前法外)。預共軛梯度法對於3-D實體結構而言是最優的演算法,但當結構剛度呈現病態時,迭代不易收斂。為此推薦以下演算法:

1)BEAM單元結構,SHELL單元結構,或以此為主的含3-D SOLID的結構,用稀疏矩陣法;

2)3-D SOLID的結構,用預共軛梯度法;

3)當你的結構可能出現病態時,用稀疏矩陣法;

4)當你不知道用什麼時,可用稀疏矩陣法。

3)非線性逼近技術

在ANSYS里還是牛頓-拉普森法和弧長法。牛頓-拉普森法是我們常用的方法,收斂速度較快,但也和結構特點和步長有關。弧長法常被某些人推崇備至,它能算出力載入和位移載入下的響應峰值和下降響應曲線。但也發現:在峰值點,弧長法仍可能失效,甚至在非線性計算的線性階段,它也可能會無法收斂。

為此,我們盡量不要從開始即激活弧長法,還是讓程序自己激活為好(否則出現莫名其妙的問題)。子步(時間步)的步長還是應適當,自動時間步長也是很有必要的。

2.如何加快計算速度

在大規模結構計算中,計算速度是一個非常重要的問題。下面就如何提高計算速度作一些建議:

充分利用ANSYS MAP分網和SWEEP分網技術,儘可能獲得六面體網格,這一方面減小解題規模,另一方面提高計算精度。 在生成四面體網格時,用四面體單元而不要用退化的四面體單元。比如95號單元有20節點,可以退化為10節點四面體單元,而92號單元為10節點單元,在此情況下用92號單元將優於95號單元。

選擇正確的求解器。對大規模問題,建議採用PCG法。此法比波前法計算速度要快10倍以上(前提是您的計算機內存較大)。對於工程問題,可將ANSYS預設的求解精度從1E-8改為1E-4或1E-5即可。

設置直接影響到收斂。應該注意以下幾點:

1)足夠大的荷載步(將MAXMIUM SUBSTEP=1000000),可以更容易收斂,避免發散的出現(nsub,nsbstp,nsbmx,nsbmn);

2)足夠大的平衡迭代步數,默認為25,可以放大到很大(100)(eqit,eqit);

3)將收斂準則調整,以位移控制時調整為0.05,以力控制為0.01(CNVTOL,lab,value,toler,norm,minref)。

4)對於線性單元和無中間節點的單元(SOLID65和SOLID45),關閉EXTRA DISPLACEMENTS OPTIONS(在OPTIONS中)。

5)對於CONCRETE材料,可以關閉壓碎功能,將CONCRETE中的單軸抗壓強度設置為-1(tadata,mat,shrcf-op,shrcf-cl,UntensSt,UnCompSt(-1))。

3.非線性計算無法收斂原因

非線性計算無法收斂是非常頭疼的問題,往往不同的分析過程會有不同的提示,總結不收斂的原因,主要可從以下幾大類著手:

1)檢查模型是否存在不完全約束或剛體位移的情況:這主要是通過施加合理的約束方法來誰解決。如果剛體位移不可避免,可以人為施加合理的約束使其收斂,workbench就是通過施加弱彈簧來消除剛體位移的。

2)檢查網格:尤其是錯誤信息提示有「單元出現嚴重扭曲」的語句時,這種情況發生在原模型計算前存在嚴重網格畸變的情形,可以通過 check,esle,warn 選擇存在警告的單元位於何處,找到位置後再在該處細化。

3)檢查載荷子步和時間步設置:一般是增加子步數或者減少時間步長,這點不用多說了,很實用很有效的方法。

4)檢查材料參數設置:這一錯誤通常不容易發現,然而非常重要。材料模型不正確意味著不合理的應力應變關係,在施載入荷後往往出現不合理的結構響應,導致自由度位移過大而不收斂。具體說就是材料的EX,PRXY,金屬材料的雙線性和多線性參數等是否正確。

5)檢查結構是否有不穩定:如果我們分析的結構是一個局部或全局不穩定結果,這一點必須考慮。比如在結構變形過程中出現了屈曲、剛度突變的情況,這個錯誤是非線性不收斂的一個重要錯誤。

6)檢查接觸的設置:接觸是一個狀態非線性問題,ansys中可選的參數很多,對於不同的接觸其中的參數需要個別設置,其中主要的參數有接觸行為方式,法向罰剛度因子,pingball域,初始穿透等等。

7)檢查積分參數的設置:在瞬態分析採用完全求解方法時,默認的方法是Newmark方法,四個積分參數由γ控制,在一些特殊情況下,考慮數值衰減效果更加理想的HHT方法,或者手動設置四個積分參數(但是這必須在你非常清楚積分參數的影響和保證無條件收斂的情況下才可以)。

8)檢查非線性求解器的選擇:ansys默認的求解方法是iterative,即迭代法,即Newton-Raphson迭代,很多情況下該方法是可行的,但有時候直接迭代法direct能更好的收斂。

9)變形分析中約束方程的設置,一旦約束方程的節點的位移不滿足方程存在的條件的話就會產生變形不合理、不收斂的情況。

,最好的方法就是從out信息中尋找突破點。

"點擊查看完整文章ansys非線性收斂總結"

對文章有任何疑問歡迎前去「技術鄰」官網諮詢

也可以關注我們的微信公眾號「技術鄰CAE學院」了解更多資訊


推薦閱讀:

有什麼因為細節而釀成大禍的故事?
[python]正則表達式的學習---處理鋼筋文字

TAG:ANSYS | 结构工程 | 收敛 |