fluent計(jì)算錯(cuò)誤分析
2017-01-11 by:CAE仿真在線 來(lái)源:互聯(lián)網(wǎng)
1. FlUENT
1.1 求解方面
1.1.1 floating point error是什么意思?怎樣避免它?
Floating point error已經(jīng)提過(guò)很多次了并且也已經(jīng)對(duì)它討論了許多。下面是在Fluent論壇上的一些答案:
從數(shù)值計(jì)算方面看,計(jì)算機(jī)所執(zhí)行的運(yùn)算在計(jì)算機(jī)內(nèi)是以浮點(diǎn)數(shù)(floating point number)來(lái)表示的。那些由于用戶的非法數(shù)值計(jì)算或者所用計(jì)算機(jī)的限制所引起的錯(cuò)誤稱為floating point error。
1)非法運(yùn)算:最簡(jiǎn)單的例子是使用Newton Raphson方法來(lái)求解f(x)=0的根時(shí),如果執(zhí)行第N次迭代時(shí)有,x=x(N),f’(x(N))=0,那么根據(jù)公式x(N+1)=x(N)-f(x(N))/ f’(x(N))進(jìn)行下一次迭代時(shí)就會(huì)出現(xiàn)被0除的錯(cuò)誤。
2)上溢或下溢:這種錯(cuò)誤是數(shù)據(jù)太大或太小造成的,數(shù)據(jù)太大稱為上溢,太小稱為下溢。這樣的數(shù)據(jù)在計(jì)算機(jī)中不能被處理器的算術(shù)運(yùn)算單元進(jìn)行計(jì)算。
3)舍入錯(cuò)誤:當(dāng)對(duì)數(shù)據(jù)進(jìn)行舍入時(shí),一些重的數(shù)字會(huì)被丟失并且不可再恢復(fù)。例如,如果對(duì)0.1進(jìn)行舍入取整,得到的值為0,如果再對(duì)它又進(jìn)行計(jì)算就會(huì)導(dǎo)致錯(cuò)誤。
避免方法
計(jì)算和迭代 我認(rèn)為設(shè)一個(gè)比較小的時(shí)間步長(zhǎng)會(huì)比較好的?;蛘吒某尚〉那匪神Y因子也會(huì)比較好。從我的經(jīng)驗(yàn)來(lái)看,我把欠松馳因子設(shè)為默認(rèn)值的1/3;降低欠松馳因子或使用耦合隱式求解;改變欠松馳因子,如果是非穩(wěn)態(tài)問(wèn)題可能是時(shí)間步長(zhǎng)太大;改善solver-control-limits比例或許會(huì)有幫助;你需要降低Courant數(shù);如果仍然有錯(cuò)誤,不選擇compute from初始化求解域,然后單擊init。再選擇你想從哪個(gè)面初始化并迭代,這樣應(yīng)該會(huì)起作用。另外一個(gè)原因可能是courant數(shù)太大,就樣就是說(shuō)兩次迭代之間的時(shí)間步太大并且計(jì)算結(jié)果變化也較大(殘差高)。
網(wǎng)格問(wèn)題 當(dāng)我開(kāi)始縮放網(wǎng)格時(shí)就會(huì)發(fā)生這個(gè)錯(cuò)誤。在Gambit中,所有的尺寸都是以mm為單位,在fluent按scale按鈕把它轉(zhuǎn)換成m,然后迭代幾百次時(shí)就會(huì)發(fā)生這種錯(cuò)誤。但是當(dāng)我不把網(wǎng)格縮放到m時(shí),讓它和在Gambit中一樣,迭代就會(huì)成功;我認(rèn)為你應(yīng)當(dāng)檢查網(wǎng)格,你的網(wǎng)格數(shù)太多了,使用較少的網(wǎng)格問(wèn)題就會(huì)解決;網(wǎng)格太多,計(jì)算機(jī)資源不夠用,使使比較粗的網(wǎng)格。
邊界條件 在我的分析中,我設(shè)了一個(gè)wall邊界條件來(lái)代迭axis邊界條件,結(jié)果fluent拒絕計(jì)算并告訴我floating point error。你的邊界條件不能代表真實(shí)的物理現(xiàn)象;錯(cuò)誤的邊界條件定義可能會(huì)導(dǎo)致floating point error。例如把內(nèi)邊界設(shè)成interior;一次我使用對(duì)稱邊界條件模擬2D區(qū)間時(shí)也遇到這種問(wèn)題,我把symmetry設(shè)為axe symmetric,就發(fā)生了floating point error;檢查你設(shè)的湍流參數(shù),減小湍流強(qiáng)度,先進(jìn)行50次迭代。
多處理器問(wèn)題 我近來(lái)在進(jìn)行多處理器模擬時(shí)也遇到相似的問(wèn)題。問(wèn)題的解決方法是在單個(gè)處理器上運(yùn)行,這樣就運(yùn)算得很好。
錯(cuò)誤迭代 以錯(cuò)誤的條件來(lái)初始化,在開(kāi)始迭代時(shí)就會(huì)發(fā)生floating point error。
1.1.2 coupled和segregated求解有什么區(qū)別?
Coupled會(huì)同時(shí)求解所有的方程(質(zhì)量守恒方程、動(dòng)量守恒方程和能量守恒方 程)而不是單個(gè)方程求解(方程互相分離)。當(dāng)速度和壓力高度耦合(高壓和高速)時(shí)應(yīng)該使用耦合求解,但這樣會(huì)需要較長(zhǎng)的計(jì)算時(shí)間。
在耦合求解中,能量方程中總是包含組分?jǐn)U散(Species Diffusion Term)項(xiàng)。
相關(guān)標(biāo)簽搜索:fluent計(jì)算錯(cuò)誤分析 Fluent培訓(xùn) Fluent流體培訓(xùn) Fluent軟件培訓(xùn) fluent技術(shù)教程 fluent在線視頻教程 fluent資料下載 fluent分析理論 fluent化學(xué)反應(yīng) fluent軟件下載 UDF編程代做 Fluent、CFX流體分析 HFSS電磁分析