有限元分析收斂方面的一些經驗

0.webp.jpg

接觸分析收斂不管怎么說總還是一個很大的問題,而我們經常在一個地方卡了很長的時間,怎么也找不到解決和提高的辦法。而aba_aba在abaqus常見問題匯總中給了我們模型改進的方向和一些方法。在我分析的過程當中,怎么找到模型中的影響收斂的關鍵問題所在也是一個很讓我迷茫了很長時間。下面談一下我個人的一些經驗和看法。如有錯誤還望大家指出,也希望大家給出自己更多的經驗分享。

abaqus的隱式求解就是求算出一個很大的剛度矩陣的解,這個方程能否通過一次一次的迭代到最后達到一個系統默認的收斂準則標準的范圍之內,就決定了這一次計算能否收斂。因此要收斂的話,系統與上一個分析步的邊界條件區別越小的話,系統就越容易找到收斂解。針對這一點,我們可以得到下面的幾種方法來盡可能的使系統的方程的解盡可能的接近上一步,以達到收斂。下面的方法的指導思想是:盡可能小的模型,前后兩個分析步的改變盡可能的少。

1. 接觸分析真正加載之前,設置一個接觸步讓兩個面接觸上來,在這個步驟里面,接觸面的過盈小一點好,比如0.001.接下去再把作用與兩個接觸體的力及接觸方向的自由度放開。

2. 如果系統的載荷很多的話,將系統的載荷分做多步進行加載,一次性全上可能使系統無法在規定的迭代次數內收斂。所以根據需要分開,讓abaqus的內核慢慢消化去。少吃多餐在這邊好像也是成立的。

3. 系統有多個接觸的話,也最好如載荷一樣,分成幾個step讓他們接觸上。這樣的做法會讓你以后在模型的修改中更有方向性。

4. 模型還是不收斂的話,你可以看一下是在哪一步或者那個inc不收斂。對于第一步直接不收斂的話,如果模型是像我上面把載荷和接觸分成很多步建立的話,可以把載荷加載的順序換一下。如果你把第二個加載的載荷換到第一步以后,計算收斂了,那影響收斂的主要問題應該就是原來第一個加載或著接觸影響的。這種情況下面一般算到這個加載的時候還是不會收斂。這個時候可以考慮是否有什么其他辦法能夠使步驟的變化與上一步變動小一點,比如第一點里面提到,或者繼續把這個載荷細分呢?

5. 對于接觸分析不收斂的情況,可以自己看一下模型的接觸面。有時候是overclosure,這個時候在assemble里面將模型相對位置稍微移動下或者用接觸里面的那個adjust only to remove overclose,不過或一種方法會使你的網格扭曲變形。問題不大也是可以用的。有的時候是因為,模型中的兩個接觸面變成了一個點和一個面接觸,而點或者面中有一個位置并不是很穩定。這個時候就會出現了dividing,有時候求解無法成功。這時候可以看一下是不是能夠將模型該處稍微改一下呢?或者將該處的網格細化一下。

6. 模型實在是比較大的話,可以修改solver的設定,將迭代次數改大一點。對于開始計算就不收斂的,而在迭代次數到了以后時間增量還不是很小的話,可以將initial和minimum改小一點。模型越大的話這邊可以改的越小,特別是前后兩個step變化比較大的情況下。但對于模型不是很大的情況下,太小的時間增量是意義不大的,問題應該從模型當中是否有錯誤去考慮。

7. 模型太大的話會導致求解的方程太大,不需要的不重要的接觸最好從模型當中去除。這樣的話對結果影響也不會很大,而且可以是計算時間大大的減少。

8. 對于收斂準則的修改還是很不推薦的,應作為下下策使用。

文章來源于網絡

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

7
5
3