負體積(節點速度無限大)解決辦法

1.負體積照片

 

負體積(節點速度無限大)解決辦法的圖1

網格畸變                                     相互穿透

2.形成原因:

(1)材料參數設置有問題(比如單位未統一),選擇合適的材料模式

(2)沙漏模式的變形積累,嘗試改為全積分單元

(3)太高的局部接觸力(不要將force施在單一node上,最好分散到幾個node上以pressure的方式等效施加),嘗試調整間隙,降低接觸剛度或降低時間步。

(4)在容易出現大變形的地方將網格refine。

(5)材料換的太軟也會出現負體積

(6)網格質量(負體積地方相互作用網格極度不均勻容易負體積,網格太稀疏或太密都容易負體積)

(7)用SHELL單元的時候,如果厚度過大也會引起負體積和速度無窮大,

(8)有時候關鍵字里面多出一個空格也會出現負體積

(9)模型本身問題:比如把直角倒圓角,可能就消除了負體積

3.解決方法:

(1)嘗試減小時間步長從0.9減小到0.6或更小(首推很有效果,但不建議小于0.6,有人說小于0.6結果會不太準確)。

(2)使用全積分solid設置為2/3(在property卡片中把單元類型由默認的2改成16即可)

負體積(節點速度無限大)解決辦法的圖2

(3)實體包殼的作法可以用HM的find face厚度其實只要很薄一層(0.1mm就可以了);另外也可以采用ALE或是euler單元算法,用流固耦合功能代替接觸,控制網格質量,例如在承受壓力的單元在受壓方向比其他方向尺寸長

(4)+hourglass;用 solid單元1;調整contact

(5)增大彈模




4.官方給出的方案

材料負體積解決方法

      在仿真中,通常有材料的大變形問題,如泡沫材料,由于單元大扭曲而出現了單元負體積,這種情況一般出來在材料失效之前。在沒有網格光滑和網格從劃分的情況下,ls-dyna有一個內部的限制來調節lagrange單元的變形。負體積一般都會導致計算中止,除非你設置時間步長控制中的erode=1和設置終止控制中的dtmin為一非零數,這種情況下,出現負體積的單元將被自動刪除,計算也不會中止。不過就算你如上設置了erode與dtmin,負體積有時候也會導致計算出錯停止。

       一些常用的解決負體積的方法如下:

1、在材料出現大應變的情況下增強材料的應力-應變曲線中材料應力。這種方法往往非常有效果。

2、重新劃分網格,在出現大變形的地方把網格加密。

3、減小時間步長系數。默認的0.9系數可能不足以避免數值的不穩定。

4、避免采用全積分體單元(算法2和3),這會導致大變形和大扭曲的情況下計算相對不穩定。

5、采用默認的單元算法(單點體單元),采用沙漏控制type4和5。泡沫的沙漏控制算法為:在低速沖擊問題中采用type6,系數為1;在高速沖擊問題中采用type2和3。

6、泡沫材料網格劃分采用四面體網格,單元算法為10,雖然這樣會導致材料相對比較剛性。

7、增大材料(泡沫材料57號材料)的阻尼系數,推薦采用系數為0.5。

8、在泡沫接觸計算中,采用*contact中的選項卡B,關閉shooting node logic。

9、如果你采用的是126號材料,設置elform=0。

10、嘗試使用EFG算法(*SECTION_SOLID_EFG)




其他

特殊材料(泡沫)

有人說使用全積分,也有人說避免使用全積分體單元(算法2和3),這會導致大變形大扭曲下相對不穩定,采用默認的單元算法(單點體單元),采用沙漏控制type4和5。泡沫的沙漏控制算法為:在低速沖擊問題中采用type6,系數為1;在高速沖擊問題中采用type2和3。這與前面說的全積分不是矛盾了嗎?

一些常用的解決負體積的方法如下:

1、在材料出現大應變的情況下增強材料的應力-應變曲線中材料應力。這種方法往往非常有效果。

2、重新劃分網格,在出現大變形的地方把網格加密。

3、減小時間步長系數。默認的0.9系數可能不足以避免數值的不穩定。

4、避免采用全積分體單元(算法2和3),這會導致大變形和大扭曲的情況下計算相對不穩定。

5、采用默認的單元算法(單點體單元),采用沙漏控制type4和5。泡沫的沙漏

控制算法為:在低速沖擊問題中采用type6,系數為1;在高速沖擊問題中采用type2和3。

6、泡沫材料網格劃分采用四面體網格,單元算法為10,雖然這樣會導致材料相對比較剛性。

7、增大材料(泡沫材料57號材料)的阻尼系數,推薦采用系數為0.5。

8、在泡沫接觸計算中,采用*contact中的選項卡B,關閉shooting node logic。

9、如果你采用的是126號材料,設置elform=0

10、嘗試使用EFG算法(*SECTION_SOLID_EFG)。

11、對材料較軟的實體單元包殼處理。

 

負體積定義

負體積定義? Negitive volume

負體積是由于element本身產生大變形造成自我體積的內面跑到外面接著被判斷為負體積。

關于負體積的解決辦法?

負體積多是網格畸變造成的,和網格質量以及材料、載荷條件都有關系。有可能的原因和解決的方法大概有幾種:

(1)材料參數設置有問題,選擇合適的材料模式)

(2)沙漏模式的變形積累,嘗試改為全積分單元

(3)太高的局部接觸力(不要將force施在單一node上,最好分散到幾個node上以pressure的方式等效施加),嘗試調整間隙,降低接觸剛度或降低時間步。

(4)在容易出現大變形的地方將網格refine。

(5)材料換的太軟,是不是也會出現負體積!

(6)另外也可以采用ALE或是euler單元算法,用流固耦合功能代替接觸,控制網格質量。例如在承受壓力的單元在受壓方向比其他方向尺寸長。

(7)嘗試減小時間步長從0.9減小到0.6或更小。

經驗總結:

時間步長急劇變小,可能是因為單元產生了嚴重的畸變而導致的負體積現象,如果采用的是四面體單元,你可以用網格重劃分的方法來解決。如果你采用的是六面體單元,那目前就沒有很有效的方法,可以試一下*ELEMENT_SOLID_EFG,那對機器的要求相對就會比較高了。

Q1:材料負體積解決方法(全面、有效)

材料負體積解決方法

在仿真中,通常有材料的大變形問題,如泡沫材料,由于單元大扭曲而出現了單元負體積,這種情況一般出來在材料失效之前。在沒有網格光滑和網格從劃分的情況下,ls-dyna有一個內部的限制來調節lagrange單元的變形。負體積一般都會導致計算中止,除非你設置時間步長控制中的erode=1和設置終止控制中的dtmin為一非零數,這種情況下,出現負體積的單元將被自動刪除,計算也不會中止。不過就算你如上設置了erode與dtmin,負體積有時候也會導致計算出錯停止。

一些常用的解決負體積的方法如下:

在材料出現大應變的情況下增強材料的應力-應變曲線中材料應力。這種方法往往非常有效果。

2、重新劃分網格,在出現大變形的地方把網格加密。.

3、減小時間步長系數。默認的0.9系數可能不足以避免數值的不穩定。

4、避免采用全積分體單元(算法2和3),這會導致大變形和大扭曲的情況下計算相對不穩定。

5、采用默認的單元算法(單點體單元),采用沙漏控制type4和5。泡沫的沙漏控制算法為:在低速沖擊問題中采用type6,系數為1;在高速沖擊問題中采用type2和3。

6、泡沫材料網格劃分采用四面體網格,單元算法為10,雖然這樣會導致材料相對比較剛性。增大材料(泡沫材料57號材料)的阻尼系數,推薦采用系數為0.5。

8、在泡沫接觸計算中,采用*contact中的選項卡B,關閉shooting node logic。

9、如果你采用的是126號材料,設置elform=0。

10、嘗試使用EFG算法(*SECTION_SOLID_EFG)。

 

Q2:各位高手:我做分析時將terminate time設為0.006s時沒有負體積出現,但一旦延長求解終止時間就會出現負體積,比如將terminate time設為0.01s時就會出現負體積,請問是什么原因呢,怎么解決好呢?

1 把ADMAP的參數值設置為0.1,在材料屬性里面設置。

2 可以試試減小接觸厚度

3 解決方法是將timestep改小,就沒有負體積

4 修改*CONTROL_TIMESTEP里面的tssfac已經是改小時間步了

5 網格變形太大造成的。可以考慮一下改小失效應變和剪切應變,如果不影響計算結果的話

6 tssfac參數值已經變很小了,不管用.還有,設置的terminate time沒有大于施加載荷的最終時間

 

Q3:探討流固耦合中單元負體積出現的原因

1 當流體單元的長寬比大于5比1時,顯示的結果就不準確了;當大于20比1的時候,就會出現負體積,無法得到結果。

2 你可以把MIR設置為0.3以上試試

3 你可以把單元細化;

2 更改松弛系數(一般是增大)流體的單元一般的來說不能長寬比太大,特別是你把動網格ALE打開了的時候,所以可以把網格的長寬比縮小試試。

 

Q4:負體積出現的原理是什么?

1 負體積原因是雅閣比矩陣的行列式值為負值,一般減小時間步長參數,增加材料剛度,改變單元質量都可以的!

2 如果是金屬材料出現負體積,主要是單元質量問題,建議重新劃分網格,但如果是非金屬,這是常見現象,不一定是網格問題,可以尋求其他的方法,

3 發生的原因有可能是因為有initial penetration. 所以因該先檢查是不是有initial penetration:

再來如果是少數的節點受力也因為力量集中造成負體積,所以這時候就可以把接觸的網格劃分細一點

另外如果是用hex element會有hourglass的情形,可以檢查一下hourglass energy或者是兩個物體剛性相差太多, 像是foam的材料, 可以在foam的表面加一層shell element增加solid element的自由度與剛性

4 實體包殼的作法可以用HM的find face厚度其實只要很薄一層(0.1mm就可以了)

建議可以用不同的殼后測試一下,看看兩個有什么不同,如果差不多的話,當然是用比較薄的厚度

材料方面我是用mat_3 or mat_9 null,重量可以跟實體的參數是一樣的,另外不去設定contact

 

Q5:邊界層加密后出現負體積

我第一層網格只能取到0.1,再小了就出現負體積。這樣計算出來的結果和試驗差別較大,特別在分離區。在GAMBIT做網格不會出現這樣的問題,剛學習ICEM,不知道怎么處理這樣的問題,

1 調整一下block節點的位置

2 盡量不要讓網格塊扭曲或者夾角太小

3 在出現負體積附近切幾刀,產生新的節點,你可以慢慢調.

 

QQ::

負體積是由於element本身產生大變形造成自我體積的內面跑到外面接著被判讀為負體積,

控制使element不出現不合理變形的方法就如同dragonwen與ayke所說的幾點,注意使Hourglassing情形減少,有以下幾個方法可以試看看

1.避免單點loading=>不要將force施在單一node上,最好是分散到幾個node上以pressure的方式等效施加

2.在容易出現大變形的地方將網格refine

3.使用全積分元素=>全積分元素沒有Hourglassing問題,但計算速度慢且還有其他問題,是最不建議的作法

1 采用全積分單元

2 使用均勻網格,避免采用單點集中載荷)

3 全局增加模型的彈性剛度

全積分單元比減縮積分單元更容易出現負體積,但減縮積分單元要注意沙漏控制。

全局增加模型的彈性剛度會讓模型比實際剛硬,不是好方法。!

 

Q6:單元出現負體積 如何刪除該單元

970 key manaul里面在restart input data下……

使用方法是重啟動時用的,就是在某一步中用sw1中止,然后生成.r重啟動文件,刪除不需要的單元,然后計算……

應該是*delete_element_solid:

下面的參數是node set No.

 

Q7:為什么鋼鐵和泡沫碰撞會產生負體積

沙漏控制沒加阿!

建一個沙漏控制卡,選4號或6號,附給泡沫單元的part6

接觸中將soft改為1,將sfs和sfm改為0.1

 

負體積的原因是由于單元畸變引起的,單元節點編號有一個順序,當變形過大,或者不合理時, 某個或某些節點穿透所屬單元的面,造成負體積。對于接觸問題,控制收斂時,有時要設接觸反力或用其他辦法,把穿透接觸面的節點拉回去,這個反力過大時,單個時間步中,這個節點被拉回的位移就很大,穿透了所屬單元的面,這時就產生負體積,這時要減小時間步,或者修改接觸準則,很多辦法,

這幾天我也遇到這個問題很困擾,是個接觸問題,材料都是彈性的,有幾個單元計算到某一時間步的時候就出現負體積,節點速度到12次方量級,而且前一步都很正常,變形都不大。負體積那里是六面體單元,表面蒙有一層殼模擬夾層結構

這個典型是接觸時的負體積,修改一下接觸控制,減小穿透時的反力,還有你的節點速度太大,應該減小時間步。

減縮積分的殼很容易產生沙漏,殼單元沙漏有可能產生負體積,你可以看看殼的變形就知道了,如果不是特別的情況,應該不是由殼的沙漏引起的

 

負體積的解決辦法之一:

stiffen up the material stress-strain curve at large strains 將材料的彈模取大

 

Q8:關于實體單元負體積的問題

1:察看你的邊界約束條件是否正確

2:調整時間間隔,縮短時間步長

3:把單點積分該為全積分

4:重新選擇一下你的材料模型.

 

Q9:負體積和速度超限怎么解決?

通常的辦法是先檢查你的網格是否發生嚴重的畸變,如果沒有發生,可以適當減小時間步長因子。

 

Q10:完全重啟動后出現負體積怎么處理啊?solid164單元,由于計算機過程中網格變形很大,于是在計算機到一半時,講網格重新劃分了一下,結果出現很多負體積單元,

1.出現負體積是一件很痛苦的事情,尤其是算到一半,如果計算的結果已經滿足你想要的數據,勸你不要弄下去了。

如果,你非要堅持下去,最直接的辦法,重新建模型,調整網格大小,但是這樣并不能保證,一定不會出現負體積。

自己慢慢摸索吧。高手和凡人的差距往往就體現在劃分網格的水平之上!

 

Q11:我在做一個沖擊問題,老師出現負體積,怎么辦啊?我減小時間步長,減小網格都不行,

負體積多是網格畸變造成的,和網格質量以及材料、載荷條件都有關系.

可能的原因和解決的方法大概有幾種:

1 材料參數設置有問題,

2 選擇合適的材料模式

3 沙漏模式的變形積累,

4 嘗試改為全積分單元

5 太高的局部接觸力,嘗試調整間隙,

6 降低接觸剛度或降低時間步

另外也可以采用ALE或是euler單元算法,用流固耦合功能代替接觸,控制網格質量,例如在承受壓力的單元在受壓方向比其他方向尺寸長滑移網格?

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

TOP

9
66