time step過小的element編號顯示位置

Q:

當Model 有設DATABASE_ASCII_option輸出與使用MPP計算時, (也有設mass scaling, DT2MS=負值)。

換成MPP計算後,原本在SMP計算時,記錄在的d3hsp檔案的訊息有些會寫在glstat, 但錯誤訊息, 不像SMP計算時,會顯示哪個Element編號Timestep過小,導致停止計算。

下圖是使用SMP計算, 有顯示哪個Element編號造成停止計算。

下2圖則是使用MMP計算時,來自d3hsp or message 的錯誤訊息,可以看到當中只有說明停止計算的原因,是因為Timestep過小,但沒有寫出是哪幾個元素造成的。

所以, 我想知道, 當Model 有設DATABASE_ASCII_option輸出與使用MPP計算時, (也有設mass scaling, DT2MS=負值)

哪個Element編號導致停止計算, 是藏在哪裡呢?

A:

1.首先,附上您提供的SMP計算結果,導致計算錯誤是因為負體積(negative volume)的問題。

雖然這也可能是time step過小造成的,但造成負體積的原因有很多,您可以參考:如何避免負體積(Negtive Volume)的狀況之整理發生負體積的位置 來解決這個問題,或是提供您的k檔,讓我們幫您找出問題。

2.欲得知是哪個元素造成time step過小

其實運算視窗上就會顯示timestep過小的元素編號,沒有顯示的原因和使用SMP或MPP計算無關。而是因為設定DT2MS後,全部元素的time step都會變成您所設定的time step,所以無法得知是哪幾個元素造成計算時的錯誤。

補充一下,d3hsp也有記錄timestep過小的元素編號,且比message更多,建議可先從message著手;message記錄的就是運算視窗的訊息,詳細可參考: 發生負體積的位置

下方範例提供您做參考:第一張圖是拿掉DT2MS的結果,第二張圖是加入DT2MS結果。

KEYWORD : time step大小、*control_timestep、dt2ms