?
仿真分析與誤差的糾葛 一、什么是誤差 對(duì)于誤差,首先你得分清楚它和錯(cuò)誤的區(qū)別。其實(shí)這兩者有本質(zhì)的區(qū)別,誤差就是你通過努力后還是無法消除的偏差。我們用4個(gè)等式來區(qū)分: 數(shù)據(jù)有偏差+大家都知道(除了你只有你不知道)=錯(cuò)誤 數(shù)據(jù)有偏差+別人可消除(只有你做不到)=錯(cuò)誤 數(shù)據(jù)有偏差+無人知曉=未知的誤差 數(shù)據(jù)有偏差+無人消除=已知的誤差 只要你的仿真達(dá)到平均水平,你的實(shí)驗(yàn)數(shù)據(jù)就叫有誤差而不是有錯(cuò)誤。這個(gè)世界上就沒有絕對(duì)正確的事情。沒有人敢說自己的模型絕對(duì)準(zhǔn)確,自己的算法精度絕對(duì)夠高,自己的網(wǎng)格最密。所以,只要你有了仿真計(jì)算,最后取得的結(jié)果就都會(huì)有偏差。當(dāng)然你要保證,這個(gè)偏差不是一個(gè)內(nèi)行可以輕松消除的偏差。 二、有多少種誤差 1、建模錯(cuò)誤 指一個(gè)物理系統(tǒng)的區(qū)別及其數(shù)學(xué)模型。它應(yīng)該保持在一個(gè)可接受的程度。否則,需要修正的數(shù)學(xué)模型。通常,簡(jiǎn)化了數(shù)學(xué)模型。在模型中,例如,可能小洞和其他幾何結(jié)構(gòu)中的違規(guī)行為被忽視;載荷簡(jiǎn)化;邊界條件理想化,治療一個(gè)組件作為剛性較大的剛度。通常一個(gè)二維問題研究,忽視其三維特征;執(zhí)行靜態(tài)分析,忽略了動(dòng)態(tài)特性。 2、離散化誤差 自由度的數(shù)學(xué)模型有無數(shù),但有限的自由度用于有限元分析。有限元的解決方案是影響模型中元素的個(gè)數(shù),每個(gè)節(jié)點(diǎn)的自由度,數(shù)值積分規(guī)則,等。實(shí)際上,這種錯(cuò)誤已經(jīng)在第一部分的最后一章討論。 3、截?cái)嗾`差和舍入誤差 它指損失的信息由于截?cái)嗷蛏崛氲臄?shù)字來適應(yīng)一個(gè)有限的計(jì)算機(jī)字長。 4、累積誤差 這種錯(cuò)誤出現(xiàn)在全球方程解決多次非線性或動(dòng)態(tài)問題。術(shù)語數(shù)值誤差的綜合結(jié)果截?cái)嗷蛏崛胝`差和累積誤差。 有限元的誤差比較重要的例如: (1)有限元的形函數(shù)不能包括所有的變形方式,比如線性單元,通常剛度偏(2)尤其是三角形單元,這也是題中所謂的位移下限性的來源。 ?。?)單元形狀不良,造成單元的變換矩陣接近奇異,帶入數(shù)值計(jì)算誤差。 有人說,他做的仿真特別困難,沒有合適的模型,誰也沒有辦法降低誤差,所以這種仿真沒法做。其實(shí)不然,如果仿真特簡(jiǎn)單,大家都能夠把誤差降到很低,請(qǐng)問你要將誤差降到多低,才叫做的好?設(shè)計(jì)員接受你的數(shù)據(jù)也會(huì)提出無比高的要求,那時(shí)你會(huì)發(fā)現(xiàn)所謂特別成熟特別好做的仿真,其實(shí)最不好做。 比如你做平板層流,計(jì)算精度會(huì)要求達(dá)到1%。你做一個(gè)有湍流轉(zhuǎn)捩又有分離的流動(dòng),計(jì)算精度達(dá)到10%就算高水平。如果是一種誰都不知道是什么的流動(dòng),你能夠告訴參數(shù)的量級(jí)就算高水平。 既然誤差無所不在,那我們就要擺正心態(tài),盡自己最大的努力去面對(duì)它,完全沒有必要因?yàn)橛姓`差就否定自己的實(shí)驗(yàn)結(jié)果,有誤差的結(jié)果也是一種結(jié)果,而且通過努力讓有誤差的結(jié)果有用。 三、如何讓誤差有用 如何讓誤差的結(jié)果有用?其實(shí)這是句廢話,既然所有的結(jié)果都有誤差,當(dāng)然有誤差的結(jié)果是有用的,否則全世界的研究都無用了。所以要讓別人敢于使用你有誤差的結(jié)果,以下四個(gè)問題至少要提前說清楚一個(gè): 1、體現(xiàn)自己對(duì)于實(shí)驗(yàn)數(shù)據(jù)的判斷準(zhǔn)則 結(jié)果可靠不可靠,主要還是要看判斷準(zhǔn)則是合乎常理。每個(gè)現(xiàn)象要有起源、有過程。從無數(shù)個(gè)角度,分析它的成長過程是否合理。拿到結(jié)果,很熟練地切出大家都看的那幾個(gè)位置,永遠(yuǎn)讀出那幾個(gè)數(shù)據(jù),然后對(duì)比大家熟知的規(guī)律。請(qǐng)你忘記那些慣例,重新建立你自己的常識(shí)。專門切出你以前不看的位置,畫出你以前不看的數(shù)據(jù),假裝已有的規(guī)律是錯(cuò)誤的,重新證明他們正確。 2.表明誤差的量級(jí) 知道誤差的量級(jí),知道誤差與某些現(xiàn)象和某些參數(shù)的關(guān)系。比如你告訴誤差是50%,我們只知道用這個(gè)數(shù)據(jù)要留出50%的偏差范圍,最好能說明誤差源于什么,誤差的大小和哪個(gè)某參數(shù)相關(guān)。比如誤差源于漩渦,誤差大小與速度梯度成正比,說得如此明白,讓用數(shù)據(jù)的人更放心了,原來只要沒有漩渦這個(gè)數(shù)據(jù)就很準(zhǔn)確了,如果速度梯度很大就要小心了。 3.說明誤差的極限值 有時(shí)候要明白誤差的量級(jí)有困難,可以用很簡(jiǎn)單的極限值辦法,為誤差畫一個(gè)范圍。比如一個(gè)流體特別復(fù)雜,無法想象湍流模型會(huì)帶來多大誤差。你可以做個(gè)簡(jiǎn)單的數(shù)值實(shí)驗(yàn),用層流(不使用湍流模型)對(duì)比用湍流模型的狀態(tài),兩者之間的差異就是湍流模型誤差的最大值。 湍流模型不同導(dǎo)致的模型誤差,小于有無湍流的差異,有無之間的差異就是誤差的極限值。同樣可以用:有浮力無浮力,有摩擦無摩擦,有傳熱無傳熱,來判斷浮力、摩擦、傳熱的誤差極限。 4.說清楚誤差的影響 說明誤差的大小,別人敢于在安全范圍使用你的數(shù)據(jù),但是到底如何使用你的數(shù)據(jù),這里必須分析誤差對(duì)后續(xù)工作的影響。 這需要了解別人如何使用你的數(shù)據(jù),會(huì)不會(huì)放大你的誤差,以致于一個(gè)誤差導(dǎo)致整個(gè)產(chǎn)品設(shè)計(jì)失敗。有一次別人要我計(jì)算阻力系數(shù),我預(yù)計(jì)誤差小于0.1,先問了一句,如果增加或減少0.1的阻力對(duì)設(shè)計(jì)有多大影響,回答沒有什么影響,于是我輕松地完成了工作。 如果四個(gè)問題下來,發(fā)現(xiàn)誤差很大,而且影響嚴(yán)重,那恭喜你,要投入精力徹底解決問題,或者干脆放棄這個(gè)方向。其實(shí),知道無路可走也是完成任務(wù)。 俗話的好:“世界上的垃圾,只有放錯(cuò)地方的東西”,只要在實(shí)驗(yàn)中將誤差表述清楚,有誤差的數(shù)據(jù)完全可以被采納。