學習FLUENT簡單問題解答,常見問題匯總
1 現(xiàn)在用FLUENT的UDF來加入模塊,但是用compiled udf時,共享庫老是連不上?
解決辦法:
1〉你的計算機必須安裝C語言編譯器。
2〉請你按照以下結構構建文件夾和存放文件:
libudf/src/*.c (*.c為你的源程序);
libudf/ntx86/2d(二維為2d,三維為3d)/makefile(由makefile_nt.udf改過來的)
libudf/ntx86/2d(二維為2d,三維為3d)/user_nt.udf(對文件中的SOURCE,VERSION,P
ARALLEL_NODE進行相應地編輯)
3〉通過命令提示符進入文件夾libudf/ntx86/2d/中,運行C語言命令 nmake,如果C預言
編譯器按裝正確和你的源程序無錯誤,那么此時會編譯出Fluent需要的庫文件(*.lib)
這時再啟動Fluent就不會出錯了。
2 在使用UDF中用編譯連接,按照幫助文件中給出的步驟去做了,結果在連接中報錯“系統(tǒng)找不到指定文件”。
udf 文件可能不在工作目錄中,應該把它拷到工作目錄下,或者輸入它的全部路徑.
3 這個1e-3或者1e-4的收斂標準是相對而言的。在FLUENT中殘差是以開始5步的平均值為基準進行比較的。如果你的初值取得好,你的迭代會很快收斂,但是你的殘差卻依然很高;但是當你改變初場到比較不同的值時,你的殘差開始會很大,但隨后卻可以很快降低到很低的水平,讓你看起來心情很好。其實兩種情況下流場是基本相同的。
由此來看,判斷是否收斂并不是嚴格根據(jù)殘差的走向而定的。可以選定流場中具有特征意義的點,監(jiān)測其速度,壓力,溫度等的變化情況。如果變化很小,符合你的要求,即可認為是收斂了。
一般來說,壓力的收斂相對比較慢一些的。
是否收斂不能簡單看殘差圖,還有許多其他的重要標準,比如進出口流量差、壓力系數(shù)波動等等盡管殘差仍然維持在較高數(shù)值,但憑其他監(jiān)測也可判斷是否收斂。最重要的就是是否符合物理事實或試驗結論。
殘差曲線是否滿足只是一個表面的現(xiàn)象,還要看進口和出口總量差不得大于1%,而且即使這樣子,收斂解也不一定準確,它和網(wǎng)格劃分/離散化誤差,以及屋里模型的準確性都有關系.所以得有試驗數(shù)據(jù)做對比活著理論分析了
當然最終是否正確是要看是否與實驗數(shù)據(jù)相符合!但既然有殘差圖的話,總應該可以大概的看出是否收斂吧?是否要殘差要小到一定的程度,或者是殘差不在增長,就可以一定程度上認為是收斂的
殘差的大小不能決定是否收斂,我在用FLUENT計算時,多采用監(jiān)測一個面的速度(或者是壓力、紊動能等參數(shù))基本上不隨著計算時間的推移而變化,就認為基本達到收斂
4 據(jù)質量守恒,收斂時進、出口的流量數(shù)值應大致相等(一般認為進出口質量差值比上入口質量的相對值小于0.5%時收斂,但是對特殊情況可能不同 ),但符號相反,一般出口流量是負值。
5 在進行穩(wěn)態(tài)計算時候,開始殘差線是一直下降的,可是到后來各種殘差線都顯示為波形波動,是不是不收斂阿?
答:
有些復雜或流動環(huán)境惡劣情形下確實很難收斂。計算的精度(2階),網(wǎng)格太疏,網(wǎng)格質量太差,等都會使殘差波動。
經(jīng)常遇到,一開始下降,然后出現(xiàn)波動,可以降低松弛系數(shù),我的問題就能收斂,但如果網(wǎng)格質量不好,是很難的。通常,計算非結構網(wǎng)格,如果問題比較復雜,會出現(xiàn)這種情況,建議作網(wǎng)格時多下些功夫 。
理論上說,殘差的震蕩是數(shù)值迭代在計算域內傳遞遭遇障礙物反射形成周期震蕩導致的結果,與網(wǎng)格亞尺度雷諾數(shù)有關。例如,通常壓力邊界是主要的反射源,換成OUTFLOW邊界會好些。
這主要根據(jù)經(jīng)驗判斷。所以我說網(wǎng)格和邊界條件是主要因素。
6 殘差——是cell各個Face的通量之和,當收斂后,理論上當單元體內沒有源相時各個面流入的通量也就是對物理量的輸運之和應該為0。最大殘差或者RSM殘差反映流場與所要模擬流場(指收斂后
應該得到的流場,當然收斂后得到的流場與真實流場之間還是存在一定的差距)的差距,殘差越小越好,由于存在數(shù)值精度問題,不可能得到0殘差,對于單精度計算一般應該低于初始殘差1e-03以下為好,但還要看具體問題。
一般在Fluent里可以添加進出口流量監(jiān)控(print or plot),當殘差收斂到一定程度后,還要看進出口流量是否達到穩(wěn)定平衡,才可以確認收斂與否。
殘差在較高位震蕩,需要檢查邊界條件是否合理,其次檢查初始條件是否合適,比如在有激波的流場,初始條件不合適,會帶來流場的震蕩。有時流場可能有分離或者回流,這本身是非定常現(xiàn)象,計算時殘差會在一定程度上發(fā)生震蕩,這時如果進出口流量是否達到穩(wěn)定平衡,也可以認為流場收斂了(前提是要消除其他不合理因數(shù))。另外Fluent缺損地采用多重網(wǎng)格,在計算后期,將多重網(wǎng)格設置為零可以避免一些波長的殘差在細網(wǎng)格上發(fā)生震蕩。
7 模型比較復雜,是在pro/E中建的模,然后用igs導入gambit,不過這樣就產生了很多碎線和碎面并且在一些面交界的地方還存在尖角。我曾經(jīng)做成功過把它們統(tǒng)統(tǒng)merge成一個虛面,中間設置了一個可以容忍尖角的參數(shù),也可以劃分網(wǎng)格,但把生成的msh文件導入fluent就會出錯,這是virtual geometry
的原因還是因為尖角的原因?還有,virtual geometry和普通的真實的幾何體到底有什么區(qū)別?好像最大的區(qū)別是virtual geometry不能進行布爾操作,布爾操作(boolean operation)又是什么?
使用virtual geometry需要注意哪些問題?
virtual geometry是很頭疼的問題。你把它們統(tǒng)統(tǒng)merge成一個虛面按理說全是虛的也是可以算的。可能是因為尖角的原因,虛實最大差別:是virtual geometry不能進行布爾操作,boolean operation即是并
對于復雜外形的網(wǎng)格生成,不可避免的會用到virtual geometry,virtual face ,和virtual edge等,1。作網(wǎng)格的時候,把所有的面全部合成一個虛面的做法不好,特別是對于復雜外形的網(wǎng)格生成,你最好在模型變化劇烈的地方多分幾個面,這樣會更有效的控制網(wǎng)格能夠在模型表面曲率比較大的地方能夠生成規(guī)則的結構或者非結構網(wǎng)格。
2對于你輸入gambit的時候產生很多碎片的問題,你可以適當?shù)陌裵roe里面的模型精度和它的公差降低,因為gambit的建模工具精度本事就不高。
3。布爾運算就是對于面與面,體與體的聯(lián)合,相減等運算。這個在所有的cad建模過程中是經(jīng)常見到的問題。
4。對于虛體生成的計算網(wǎng)格,和實體生成的計算網(wǎng)格,在計算的時候沒有區(qū)別,關鍵是看你網(wǎng)格生成的質量如何,與實體虛體無關。
我在作復雜模型計算的時候,大部分都是用的虛體,特別是從其他的建模軟件里面導進來的復雜模型,基本上不能夠生成實體。
至于計算的效果如何,那是你對于fluent的設置問題和網(wǎng)格的質量問題,與模型無關。
可以用gambit里面的check功能檢查一下你的網(wǎng)格質量,看看質量怎么樣
實體、實面與虛體、虛面的區(qū)別
在建模中,經(jīng)常會遇到實...與虛...,而且虛體的計算域好像也可以進行計算并得到所需的結果,對二者的根本區(qū)別及在功能上的不同
對于求解是沒有任何區(qū)別的,只要你能在虛體或者實體上劃分你需要的網(wǎng)格
--------------------------------------------------------------------------------
gambit的實體和虛體在生成網(wǎng)格和計算的時候對于結果沒有任何影響,實體和虛體的主要區(qū)別有以下幾點:
1。實體可以進行布爾運算但是虛體不能,雖然不能進行布爾運算,但是虛體存在merge,split等功能。
2,實體運算在很多cad軟件里面都有,但是虛體是gambit的一大特色,有了虛體以后,gambit的建模和網(wǎng)格生成的靈活性增加了很多。
3。在網(wǎng)格生成的過程中,如果有幾個相對比較評彈的面,你可以把它們通過merge合成一個,這樣,作網(wǎng)格的時候,可以節(jié)省步驟,對于曲率比較大的面,可能生成的網(wǎng)格質量不好,這時候,你可以采取用split的方式把它劃分成幾個小面以提高網(wǎng)格質量
8 問題一:在畫體網(wǎng)格時總出現(xiàn)initialization failed perturb boundary nodes and try again.
但是還在繼續(xù)畫。我想一定是有問題的。但不知道問題出現(xiàn)在哪里?謹請各位大蝦賜教!
問題二:在畫面網(wǎng)格時已經(jīng)定義了spacing,那么在畫體網(wǎng)格時再定義,會不會有沖突?還有,究竟怎樣定義才是合理的?
第一個問題:在做網(wǎng)格時,所有的錯誤提示都表明部分網(wǎng)格生成要么有問題沒有生成,要么生成的質量很差,要重新檢查一下幾何體和網(wǎng)格類型.
第二個問題:如果能夠生成網(wǎng)格的話,重復定義沒有問題,但是可能會出現(xiàn)生成面網(wǎng)格的spacing和體網(wǎng)格的spacing不一致而產生沖突,這種情況下gambit會自動處理,但生成的網(wǎng)格質量未必好.
9 在用gambit生成體網(wǎng)格的時候,出現(xiàn)了問題,提示是
Initialization failed to mesh 23 nodes .
ERROR:TG_mesh_domain failed with error code 1.
ERROR:Tegrahedral meshing has failed for volume v_volume.1.
this is usually caused by problems in the face meshs.
check hte skewnesses of your face meshes and make sure the face mesh size are not too large in areas of small gaps .
我明白這是因為模型中的狹長面太多,但是在修改了大量的狹長面以后,還是存在這個問題,每一個面我都挨著做了一下網(wǎng)格,看看生成的質量怎么樣,檢查應該沒有問題了,但是在生成體網(wǎng)格的時候,又出現(xiàn)這個問題,不知道該怎么辦
解決辦法
1.減小體網(wǎng)格size,當有多個體的時候,體網(wǎng)格從小到大過渡要合理,跨度不要太大
2.合并小面(小面與小面合并,小面并入大面),變成虛體我覺得合并小面是個很有效的方法,網(wǎng)格質量也可以得到提升
關鍵是兩個小面之間的夾角很大,合并之后會出現(xiàn)一個像角鐵一樣的拐角面,做網(wǎng)格的時候效果更差了,老兄說的合并成虛面的情況應該是兩個面的夾角不是太大的情況,減小size我也試驗了,但是減小了以后,我的網(wǎng)格數(shù)量就太多了,算東東的時候機子跑不動
那就把夾角很大的那兩個小面部分單獨切為一個體算了,對這個體給個很小的size
再試試吧,不行就把它忽略掉
Gambit生成的網(wǎng)格質量向來讓人很頭疼的,用ICEM幾乎不出現(xiàn)負體積,這可能跟Gambit的算法有關系,對于曲率比較大的區(qū)域,只能增加該處的網(wǎng)格密度,只能這樣了。
**********10 1 FLUENT的初始化面板中有一項是設置從哪個地方開始計算(compute from),選擇從不同的邊界開始計算有很大的區(qū)別嗎?該怎樣根據(jù)具體問題選擇從哪里計算呢?
比如有兩個速度入口A和B,還有壓力出口等等,是選速度入口還是壓力出口?如果選速度入口,有兩個,該選哪個呀?有沒有什么原則標準之類的東西?
一般是選取ALL ZONE,即所有區(qū)域的平均處理,通常也可選擇有代表性的進口(如多個進口時)進行初始化。對于一般流動問題,初始值的設定并不重要,
因為計算容易收斂。但當幾何條件復雜,而且流動速度高變化快(如音速流動),
初始條件要仔細選擇。如果不收斂,還應試驗不同的初始條件,甚至逐次改變邊界條件最后達到所要求的條件。
2 要判斷自己模擬的結果是否是正確的,似乎解的收斂性要比那些初始條件和邊界條件更重要,可以這樣理解嗎?也就是說,對于一個具體的問題,初始條件和邊界條件的設定并不是唯一的,為了使解收斂,需要不斷調整初始條件和邊界條件直到解收斂為止,是嗎?如果解收斂了,是不是就可以基本確定模擬的結果是正確的呢?
對于一個具體的問題,邊界條件的設定當然是唯一的,只不過初始化時可以選擇不同的初始條件(指定常流),為了使解的收斂比較好,我一般是逐漸的調節(jié)邊界條件到額定值( "額定值"是指你題目中要求的入口或出口條件,例如計算一個管內流動,要求入口壓力和溫度為10MPa和3000K,那么我開始疊代時選擇入口壓力和溫度為1MPa和500K(假設,這看你自己問題了),等流場計算的初具規(guī)模、收斂的較好了,再逐漸調高壓力和溫度,經(jīng)過好幾次調節(jié)后最終到達額定值10MPa和3000K,這樣比一開始就設為10MPa和3000K收斂的要好些)這樣每次疊代可以比較容易收斂,每次調節(jié)后不用再初始化即自動調用上次的解為這次的初始解,然后繼續(xù)疊代。
即使解收斂了,這并不意味著就可以基本確定模擬的結果是正確的,還需要和實驗的結果以及理論分析結果進行對比分析。
*********11 這個shadow從何而來?其邊界層應當如何設定?
你定義了屬性不同的兩個計算域(例如A和B區(qū)域),兩個區(qū)域形成共同的交界面。
其中A計算域的面取以前的名稱,而B計算域的面則取該名稱.shadow的名字。
在邊界條件中將該表面定義為interior,則可以將該兩區(qū)域結合成相連的計算域。
請問shadow 是自動生成的還是要自己去定義?
自動生成的
******shadow面通常在兩種情況下出現(xiàn):
1.當一個wall兩面都是流體域時,那么wall的一面被定義為wall.1,wall的另一面就會被軟件自動定義為wall.1_shadow,它的特性和wall是一樣的,有關它的處理和wall面沒有什么區(qū)別;
2.另外一種情況就是當你在fluent軟件中,把周期性面的周期特性除去時,也會出現(xiàn)一個shadow面,這種情況比較好理解,shadow面和原來的面分別構成周期性的兩個面.
shadow也出現(xiàn)在wall的一面是流體,而另一面是固體的情況。此時可以進行流體-固體的耦合計算。
******靜溫和總溫度
總溫即駐點溫度,速度完全滯止時的溫度
靜溫即當?shù)氐臒崃W溫度
兩者有計算關系式的,和總壓、靜壓差不多
也有區(qū)別呀……
比如說總溫可以看作流體能量的一個度量,總壓就不可以……
絕熱流總溫沿流線不變,總壓是下降的(不等熵)……
速度嘛就是流體宏觀運動的速度呀,由能量守衡知道,機械能和熱能的總和是守衡的,當機械能全部轉化為熱能,準確點說這里應該指動能全部轉化的時候,即速度為0的時候,那一點的溫度就是駐點溫度,也就是總溫,這樣的點在實際流場中可能存在,如前駐點,也可能不存在,只是一種換算而已,用來描述流體總能量的參量。
靜溫就是一般意義上的溫度,就是你在那一點能測量出來的溫度,比如你說的火場,那么實際溫度,比如說1000度,這個就是靜溫:)靜溫是區(qū)別總溫的
****怎樣判斷計算結果是否收斂!
1、觀察點處的值不再隨計算步驟的增加而變化;
2、各個參數(shù)的殘差隨計算步數(shù)的增加而降低,最后趨于平緩;
3、要滿足質量守恒(計算中不牽涉到能量)或者是質量與能量守恒(計算中牽涉到能量)。
特別要指出的是,即使前兩個判據(jù)都已經(jīng)滿足了,也并不表示已經(jīng)得到合理的收斂解了,因為,如果松弛因子設置得太緊,各參數(shù)在每步計算的變化都不是太大,也會使前兩個判據(jù)得到滿足。此時就要再看第三個判據(jù)了。
還需要說明的就是,一般我們都希望在收斂的情況下,殘差越小越好,但是殘差曲線是全場求平均的結果,有時其大小并不一定代表計算結果的好壞,有時即使計算的殘差很大,但結果也許是好的,關鍵是要看計算結果是否符合物理事實,即殘差的大小與模擬的物理現(xiàn)象本身的復雜性有關,必須從實際物理現(xiàn)象上看計算結果。比如說本斑最近在算的一個全機模型,在大攻角情況下,解震蕩得非常厲害,而且殘差的量級也總下不去,但這仍然是正確的,為什么呢,因為大攻角下實際流動情形就是這樣的,不斷有渦的周期性脫落,流場本身就是非定常的,所以解也是波動的,處理的時候取平均就可以呢:)
標簽: 點擊: 評論: