About mass_scaling
一、mass scaling簡介
在explicit方法中,需要非常小的timestep來維持數值穩定,但是,小步長使得常規分析工作不能有所作用。為了降低CPU成本並提高性能,這個時候通常就會使用mass scaling, 來增加每個周期的時間步長。
LSDYNA有幾個方法能完成mass scaling,最簡單的方法就是對blank(空白)處使用大的質量密度。另外,使用者可以在*control_timestep指定最小的時間步長;一共有四種方法,詳細內容參考手冊。
增加太多質量可能會導致嚴重的穿透問題,並顯著增加動力效應,且結果可能是不能接受的。因此,必須仔細的監控穿透和動能,來得到好的結果。
二、conventional(常規的) mass scaling (CMS)
這個方法是通過增加小或剛性元素的質量,以防止出現非常小的時間步長。因此,增加影響所有特徵頻率(包括剛體模組)的人造慣性力。這意味著,必須非常小心的使用額外加入的質量,才能不讓結果的非物理慣性效應主導整體的解決方法。使用這個方法時,質量大部分增加在low frequancy modes。
三、selective mass scaling (SMS)
使用SMS只影響high frequancies,而low frequancies(rigid body modes)不受影響。因此,可以在不摻雜整體解決方法的情況下,加入大量的人造質量到系統中;如果在限定區域中需要非常小且關鍵性的時間步長時,這個方法是非常有效的。
(1) *CONTROL_TIMESTEP的IMSCL
啟動mass scaling後,才能啟動sms。sms不會對剛體作用,所以會更加準確。由於內存和cpu密集,因此它僅適用於小型精細的網格零件。使用者選擇零件(part set ID),做selective mass scaling的動作(也就是對被選擇的零件,依frequancy modes,做更準確的mass scaling)。
EQ.0:沒有sms, EQ.1:所有零件都進行sms, LT.0:對所選擇的零件進行sms,其他零件進行一般的mass scaling(CMS)
IMSCL=1(sms for all parts)和傳統方法CMS是不一樣的。差別在於CMS是直接改變材料的ρ (密度) ; 而IMSCL=1則是依使用者設定的timestep為標準,用數學方法調整ρ (密度)值,對每個元素增加或減少質量,使每個元素的timestep一致。兩種方法都比較難驅使結果合理。推薦使用IMSCL<0,是針對timestep過小(也是element size過小)的元素增加質量,達到一定的timestep。所以一般來說,從結果來看added low frequancy mass=0是比較好的,代表沒有使用到cms。
(2)*CONTROL_TIMESTEP的DT2MS
mass scaled solutions 的time step。
GT0.0: 為了準靜態分析或在慣性的影響不重要時的time history分析
LT0.0: TSSFAC*|DT2MS|是可允許timestep的最小值。當增加的質量不重要時,這個選項可以用在暫態分析
(3)*CONTROL_TIMESTEP的TSSFAC
計算timestep的scale factor。
預設值=0.9。如果使用高爆炸物,預設值會降至0.67。如果穩定性的問題在於TSSFAC的預設值0.9,試試看改成0.8或0.7。如果你減少TSSFAC,你可以依比例增加|DT2MS|,因此他們的產物timestep就不用改變。(TSSFAC*|DT2MS|=const)
四、Mass scaling詳述
任何時候你在動態分析時為了增加時間步長而加入非物理質量,會影響到結果(F=m*a).有時候影響是不大的,且在那些案例中加入非物理質量是合理的。這種情況的實例,可能包括將質量添加到幾個非臨界區域的幾個小元素中,或速度低且動能相對於峰值內能小很多的準靜態模擬。
人們可以通過人工增加你想要mass scale零件的材料密度,達到以選擇性的方式採用mass scaling。這種手動形式的質量縮放與*control_timstep中DT2MS引起的自動調整質量縮放無關。
當DT2MS(*control_timestp)輸入負值時,質量只會增加到那些timestep小於|DT2MS|的elements上。透過增加質量,使這些elements的timestep等於|DT2MS|。無限多組的 TSSFAC和DT2MS會給出相同的產物,就是timestep,但每種組合增加的質量會有所不同。它的趨勢是: 越大的|DT2MS|(越小的TSSFAC,當TSSFAC*|DT2MS|=const),質量會增加的越多。作為回報,當TSSFAC減少時會改善穩定性(就像沒有mass scaled solutions一樣)。
如果穩定性的問題在於TSSFAC的預設值0.9,試試看改成0.8或0.7。如果你減少TSSFAC,你可以依比例增加|DT2MS|,因此他們的產物timestep就不用改變。
要決定增加質量的位置及時間,請寫入glstat和matsum檔中。這些檔案可以讓你分別得到整個模型及個別零件的added mass和時間的關係圖。
以下是在*control_timestep的DT2MS使用正負號的不同處 :
負值 : 質量會增加到那些時間步長小於TSSF*|DT2MS|的元素上。當mass scaling適當時,推薦這個方法。
正值 : 元素會被加入或拿走質量,去達到每個元素的時間步長是相等的。這個方法不比使用-DT2MS更有優勢,且它也比較難合理化。
在*control_timestep的MS1ST,只有在初始化期間(MS1ST=1)或任何時候有需要透過DT2MS維持指定所需的時間步長(MS1ST=0)時,控制是否增加質量。
在增加一定的質量後(只有在automatic mass scaling啟動時),可以用*control_termination的endmas去阻止計算。
楊亦錚 翻譯
keyword : *control_timestep、DT2MS、質量縮放