您當(dāng)前的位置:檢測資訊 > 科研開發(fā)
嘉峪檢測網(wǎng) 2022-04-25 21:20
仿真中最難的是什么?不是算出個結(jié)果,也不是算出個很復(fù)雜的結(jié)果,而是知道自己算的對不對,知道自己算出的結(jié)果誤差有多大。
我們的教科書和老師,一直在教我們“正確”的仿真方法,但是沒有告訴我們,“正確”的仿真方法誤差有多大?如果你不會使用仿真軟件,有師哥師姐指點你,如果你不會處理復(fù)雜算例,有仿真高手幫你。但是,有誰可以告訴你誤差有多大?不知道誤差多大,你不敢拍著胸脯保證仿真結(jié)果可靠,你不敢按照仿真結(jié)果定方案。
那么,仿真的結(jié)果又有多大用處?讓你的仿真有價值,就要知道誤差范圍。如果你去問高人,高人雖然不知道誤差是多少,告訴你仿真誤差范圍是個不得了的難題,給你寫個長長的任務(wù)列表:網(wǎng)格無關(guān)性分析、模型依賴性分析、邊界影響分析……;標準算例對比分析、試驗與仿真對比分析、不同軟件對比分析……。
等你做完這些分析,誤差范圍不一定能找到,做仿真的時間肯定用完了。
我推薦你用一些簡單方法估計誤差范圍,在仿真的過程中“順手”找誤差范圍。你沒有必要為了找誤差范圍,專門算很多仿真算例,你只需要做個有心人,把你的仿真過程認真看一看。
01零點偏差 — 基本誤差
很多算例會有零點,理論上應(yīng)該是0,但是仿真會算出個小小的數(shù)值,這個數(shù)值就體現(xiàn)了你的仿真誤差大小。
例如:一個水平的流動,理論上垂直方向的作用力應(yīng)該是0,但是你的計算結(jié)果,在垂直方向有1牛頓的作用力,1牛頓是力的基本誤差。代表著這個仿真的誤差很難小于1牛頓。這個軟件和這套算法和這套網(wǎng)格的最小誤差,大約是1牛頓的量級。
知道基本誤差,你就知道了這套仿真的局限性。如果你用這套仿真做優(yōu)化設(shè)計,減小了1牛頓的力,這個優(yōu)化結(jié)果很可能只是個誤差,不值一提。
02標準點偏差 — 系統(tǒng)誤差
算例中除了零點還有標準點,標準點上的值與理論值的偏差,就是仿真的系統(tǒng)誤差。
例如:物體正對來流的點,這個點的壓力的理論值,就是來流的滯止壓力。你把這個點的壓力寫出來,發(fā)現(xiàn)比滯止壓力小了5%??梢圆鲁鰜磉@套仿真的受力偏小5%。
例如:物體做自由落體運動的時刻,加速度應(yīng)該是重力加速度。你把計算結(jié)果寫出來,發(fā)現(xiàn)加速度比重力加速度大了10%??梢圆聹y其他時刻的加速度也偏大10%。
這種差別往往不是隨機變化,總是偏小或者偏大,代表了這套仿真的系統(tǒng)誤差的范圍。
記住這個誤差的范圍,你就知道了你的仿真結(jié)果大概率的是偏小或者偏大了多少。
03收斂過程偏差 — 波動誤差
仿真有個漫長的計算過程,在這個過程中,數(shù)據(jù)如同股市的曲線,混亂的上上下下波動??吹竭@些波動范圍越來越小,我們說仿真收斂了,這個時候的波動范圍就是仿真的波動誤差。
例如:仿真收斂前100步,速度在99~101的范圍波動,速度的波動誤差范圍就是2%。
記住這個波動誤差范圍,你寫報告的時候,可以明確地說,由于時間有限,仿真的計算收斂不夠充分,可能帶來的誤差不超過2%。
04模型差異 — 模型誤差
常用的方法是對比不同模型的計算結(jié)果,相差多少就是誤差范圍。
這個方法不靠譜,即使你保持網(wǎng)格不變、邊界不變,只換個模型,帶來的變化也不一定是模型誤差。也許模型的差異被網(wǎng)格磨滅了,或者模型放大了邊界的影響而產(chǎn)生差異。這個方法看起來很合理,往往獲得很不合理的誤差范圍。
有一個簡單辦法,查找文獻。你不可能從文獻中找到一個準確的模型,但是你可以對比這些“不太準確”的模型。
這些“不太準確”之間的差異,就是模型誤差的范圍。
05網(wǎng)格形式差異 — 網(wǎng)格誤差
沒有必要把網(wǎng)格加密后看結(jié)果有沒有變化,這種網(wǎng)格無關(guān)性分析方法很可能沒有抓住網(wǎng)格的相關(guān)性。
你在做仿真過程中會做不同形式的網(wǎng)格,即使網(wǎng)格總數(shù)沒有變化,網(wǎng)格形式變化帶來的誤差更真實。
例如:一百萬的非結(jié)構(gòu)網(wǎng)格對比一百萬的結(jié)構(gòu)化網(wǎng)格,一百萬頭部密集網(wǎng)格對比一百萬尾部密集網(wǎng)格,它們之間的差異就是網(wǎng)格誤差范圍。
06有無之間的差異 — 最大誤差
以上這些方法可能只發(fā)現(xiàn)了比較小的誤差范圍,萬一出現(xiàn)特別大的誤差怎么辦?如何快速找到最大誤差范圍?
用有、無之間的差異找到最大誤差:
湍流模型的最大誤差 < 湍流與層流之間的差異
壁面網(wǎng)格的最大誤差 < 壁面無粘與有粘之間的差異
邊界的最大誤差 < 無窮遠與附近邊界之間的差異
知道最大的誤差能大到什么程度,你就可以對仿真結(jié)果放心了。
07隨機對比 — 正常誤差
其實,估計誤差范圍很簡單。同一個仿真,你在調(diào)試計算過程中,改來改去,發(fā)現(xiàn)某些數(shù)總在一個范圍變化,這個變化范圍差不多就是誤差范圍。
但是,很多初入行的人在這個過程中被嚇死了。在調(diào)試仿真的過程中發(fā)現(xiàn),改一個設(shè)置、改一點網(wǎng)格,結(jié)果數(shù)據(jù)就會成倍地增加、成倍地減小。仿真結(jié)果和試驗不一致,和別人的仿真也不一致,誤差大得不可思議。
出現(xiàn)這種情況和基本誤差、系統(tǒng)誤差、波動誤差、模型誤差、網(wǎng)格誤差,和所有的誤差都沒有關(guān)系,就是出錯了,而且是出了很低級的錯誤。
只有當(dāng)你的計算結(jié)果比較固定,而且與試驗、與別人的結(jié)果大致一樣,你才有資格討論誤差,否則你只能討論錯誤。
誤差:當(dāng)你消除了低級錯誤,與各種來源的數(shù)據(jù)都接近,這點似是而非的差異,就是誤差范圍。
防止出現(xiàn)低級錯誤,就可以保證你的仿真結(jié)果基本可用。
沒有必要專門分析仿真誤差,留意仿真過程中隨機產(chǎn)生的各種差異,就是真實的誤差范圍。
誤差不會破壞你的設(shè)計,錯誤才會。

來源:陸姐說