假穩(wěn)定現(xiàn)象、時間步長、單雙精度誤差帶來的問題

2016-10-06  by:CAE仿真在線  來源:互聯(lián)網(wǎng)

有時候如果時間步長太小,導致每個step變化的值很小,如果采用單精度計算則會導致精度不夠,從而引發(fā)數(shù)學上的誤差積累。

所以我們看到ansys官方的推薦做法是,在進行粗略的快速分析的時候使用單精度,而在最終用于生產(chǎn)的情況則使用雙精度進行計算。


下面是某個網(wǎng)友的值得借鑒的經(jīng)驗:


近來在做一個瞬態(tài)傳熱分析的case的時候總遇到一種“假穩(wěn)定”現(xiàn)象,困惑了我好久。現(xiàn)在問題解決了,把經(jīng)驗總結一下分享出來。

我所謂的“假穩(wěn)定”現(xiàn)象是指計算過程中流場中的某些物理量穩(wěn)定在了某個不可能的值或者不可能的范圍內(nèi),比如傳熱計算時溫度穩(wěn)定在了遠遠低于目標值的范圍內(nèi),或者計算壓力場時,壓力的分布穩(wěn)定在了一個不合理的范圍內(nèi)。如果你遇到過這種情況,我的經(jīng)歷可以提供參考。

我的這個case是計算一個壁厚為5.8mm、初始溫度為40℃的金屬制件內(nèi)部流過過溫度在60~120℃之間高頻波動的氣體時的傳熱情況,時間步長設置為5e-5s/step。計算前預計金屬制件的平均溫度將在數(shù)分鐘內(nèi)升溫到85℃,但實際計算到7s左右時,平均溫度上升到42℃左右,之后無論計算多久都不再上升了,而是在原地反復波動。這種現(xiàn)象在時間步長為2e-5s/step和1e-5s/step時也會出現(xiàn)。

后來檢查了計算輸出的溫度數(shù)據(jù)才明白這跟舍入誤差有關。我采用的是單精度求解器,數(shù)據(jù)只能精確到小數(shù)點后7位。當時間步長為5e-5s/step時,相鄰兩步的溫度增量只有約3e-5℃,這樣每一步的舍入誤差對溫度增量的影響非常大,導致這種“假穩(wěn)定”的出現(xiàn)。

解決方法非常簡單:
1.采用雙精度求解器
2.不影響計算精度的情況下增大時間步長。
雙管齊下后計算出的平均溫度終于以約0.6℃/s的速度逐漸升高。

這是一個舍入誤差對數(shù)值計算的影響的非常典型的例子。小的時間步長并不一定使計算精度提高,也有可能使每一步的誤差增大。


關于精度請看如下資料:


網(wǎng)上查了一下單精度和雙精度的區(qū)別:
單精度:具有7位精確小數(shù)位。
雙精度:具有15位精確小數(shù)位。
另外,雙精度需要占用兩倍的內(nèi)存空間,需要更長的時間完成計算。

看了一遍FLUENT幫助文件中對如何選擇單精度和雙精度求解器的說明,翻譯過來放在博客里,免得轉眼就忘了。

**************************************************************************************************
對大多數(shù)算例來說,單精度求解器已經(jīng)足夠精確。但是對以下幾種情況,雙精度求解器更適合:
1.流域具有顯著的長度尺度(例如一根細長的管道),用單精度表示點坐標可能不夠精確。
2.流域是幾個區(qū)域,彼此之間用小尺寸的管道連接起來(例如汽車發(fā)動機歧氣管),其中的一個區(qū)域的氣壓大大高于整個流域的平均水平,這種情況有必要用雙精度方案來求解壓差。
3.對于涉及到高的熱傳導率的共軛問題(共軛問題,我的理解是兩個區(qū)域的相鄰邊界傳熱或者邊界和區(qū)域內(nèi)流體相互傳熱)、或網(wǎng)格單元的長寬高尺寸比率很大的網(wǎng)格(扁的或狹長的網(wǎng)格),單精度求解器不能有效地傳遞邊界信息,會導致計算不收斂和不精確。
4.對于采用了population balance模式求解particle size分布可能包含數(shù)個數(shù)量級跨度的statistical moments的的多相流問題,適合用雙精度求解器。(沒用過population balance模式,完全不知道這一條什么意思FLUENT的單精度和雙精度求解器)
**************************************************************************************************
另外,我個人的經(jīng)驗,當計算瞬態(tài)問題的時間步長很小時,用雙精度求解器可以獲得更好的收斂性。

附:FLUENT幫助文件原文:
Single-Precision and Double-Precision Solvers

Both single-precision and double-precision versions of ANSYS FLUENT are available on all computer platforms. For most cases, the single-precision solver will be sufficiently accurate, but certain types of problems may benefit from the use of a double-precision version. Several examples are listed below:
If your geometry has features of very disparate length scales (e.g., a very long, thin pipe), single-precision calculations may not be adequate to represent the node coordinates.
If your geometry involves multiple enclosures connected via small-diameter pipes (e.g., automotive manifolds), mean pressure levels in all but one of the zones can be quite large (since you can set only one global reference pressure location). Double-precision calculations may therefore be necessary to resolve the pressure differences that drive the flow, since these will typically be much smaller than the pressure levels.
For conjugate problems involving high thermal-conductivity ratios and/or high-aspect-ratio meshes, convergence and/or accuracy may be impaired with the single-precision solver, due to inefficient transfer of boundary information.
For multiphase problems where the population balance model is used to resolve particle size distributions, which could have statistical moments whose values span many orders of magnitude.




開放分享:優(yōu)質有限元技術文章,助你自學成才

相關標簽搜索:假穩(wěn)定現(xiàn)象、時間步長、單雙精度誤差帶來的問題 Fluent培訓 Fluent流體培訓 Fluent軟件培訓 fluent技術教程 fluent在線視頻教程 fluent資料下載 fluent分析理論 fluent化學反應 fluent軟件下載 UDF編程代做 Fluent、CFX流體分析 HFSS電磁分析 

編輯
在線報名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復電話,謝謝!
驗證碼

全國服務熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com