學習Fluent的經驗匯總
1 現在用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中用編譯連接,按照幫助文件中給出的步驟去做了,結果在連接中報錯
“系統找不到指定文件”。
udf 文件可能不在工作目錄中,應該把它拷到工作目錄下,或者輸入它的全部路徑.
3 這個1e-3或者1e-4的收斂標準是相對而言的。在FLUENT中殘差是以開始5步的平均值為基準進行
比較的。如果你的初值取得好,你的迭代會很快收斂,但是你的殘差卻依然很高;但是當你改變初
場到比較不同的值時,你的殘差開始會很大,但隨后卻可以很快降低到很低的水平,讓你看起來心
情很好。其實兩種情況下流場是基本相同的。
由此來看,判斷是否收斂并不是嚴格根據殘差的走向而定的。可以選定流場中具有特征意義的點,
監測其速度,壓力,溫度等的變化情況。如果變化很小,符合你的要求,即可認為是收斂了。
一般來說,壓力的收斂相對比較慢一些的。
是否收斂不能簡單看殘差圖,還有許多其他的重要標準,比如進出口流量差、壓力系數波動等等
盡管殘差仍然維持在較高數值,但憑其他監測也可判斷是否收斂。最重要的就是是否符合物理事實
或試驗結論。
殘差曲線是否滿足只是一個表面的現象,還要看進口和出口總量差不得大于1%,而且即使這樣子,
收斂解也不一定準確,它和網格劃分/離散化誤差,以及屋里模型的準確性都有關系.所以得有試驗數
據做對比活著理論分析了
當然最終是否正確是要看是否與實驗數據相符合!但既然有殘差圖的話,總應該可以大概的看出
是否收斂吧?是否要殘差要小到一定的程度,或者是殘差不在增長,就可以一定程度上認為是收斂
的
殘差的大小不能決定是否收斂,我在用FLUENT計算時,多采用監測一個面的速度(或者是壓力、
紊動能等參數)基本上不隨著計算時間的推移而變化,就認為基本達到收斂
4 據質量守恒,收斂時進、出口的流量數值應大致相等(一般認為進出口質量差值比上入口質量的
相對值小于0.5%時收斂,但是對特殊情況可能不同 ),但符號相反,一般出口流量是負值。
5 在進行穩態計算時候,開始殘差線是一直下降的,可是到后來各種殘差線都顯示為波形波動,
是不是不收斂阿?
答:
有些復雜或流動環境惡劣情形下確實很難收斂。計算的精度(2階),網格太疏,網格質量太差,
等都會使殘差波動。
經常遇到,一開始下降,然后出現波動,可以降低松弛系數,我的問題就能收斂,但如果網格質
量不好,是很難的。通常,計算非結構網格,如果問題比較復雜,會出現這種情況,
建議作網格時多下些功夫 。
理論上說,殘差的震蕩是數值迭代在計算域內傳遞遭遇障礙物反射形成周期震蕩導致的結果,
與網格亞尺度雷諾數有關。例如,通常壓力邊界是主要的反射源,換成OUTFLOW邊界會好些。
這主要根據經驗判斷。所以我說網格和邊界條件是主要因素。
6 殘差——是cell各個Face的通量之和,當收斂后,理論上當單元體內沒有源相時各個面流入的通
量也就是對物理量的輸運之和應該為0。最大殘差或者RSM殘差反映流場與所要模擬流場(指收斂后
應該得到的流場,當然收斂后得到的流場與真實流場之間還是存在一定的差距)的差距,殘差越小
越好,由于存在數值精度問題,不可能得到0殘差,對于單精度計算一般應該低于初始殘差1e-03
以下為好,但還要看具體問題。
一般在Fluent里可以添加進出口流量監控(print or plot),當殘差收斂到一定程度后,
還要看進出口流量是否達到穩定平衡,才可以確認收斂與否。
殘差在較高位震蕩,需要檢查邊界條件是否合理,其次檢查初始條件是否合適,比如在有激波的
流場,初始條件不合適,會帶來流場的震蕩。有時流場可能有分離或者回流,這本身是非定常現象,
計算時殘差會在一定程度上發生震蕩,這時如果進出口流量是否達到穩定平衡,也可以認為流場收斂了
(前提是要消除其他不合理因數)。另外Fluent缺損地采用多重網格,在計算后期,將多重網格設置
為零可以避免一些波長的殘差在細網格上發生震蕩。
7 模型比較復雜,是在pro/E中建的模,然后用igs導入gambit,不過這樣就產生了很多碎線和碎面并且
在一些面交界的地方還存在尖角。我曾經做成功過把它們統統merge成一個虛面,中間設置了一個可以
容忍尖角的參數,也可以劃分網格,但把生成的msh文件導入fluent就會出錯,這是virtual geometry
的原因還是因為尖角的原因?還有,virtual geometry和普通的真實的幾何體到底有什么區別?好像最大
的區別是virtual geometry不能進行布爾操作,布爾操作(boolean operation)又是什么?
使用virtual geometry需要注意哪些問題?
virtual geometry是很頭疼的問題。你把它們統統merge成一個虛面
按理說全是虛的也是可以算的。可能是因為尖角的原因,虛實最大差別:是virtual geometry不能
進行布爾操作,boolean operation即是并
對于復雜外形的網格生成,不可避免的會用到virtual geometry,virtual face ,和virtual edge等,
1。作網格的時候,把所有的面全部合成一個虛面的做法不好,特別是對于復雜外形的網格生成,
你最好在模型變化劇烈的地方多分幾個面,這樣會更有效的控制網格能夠在模型表面曲率比較大的
地方能夠生成規則的結構或者非結構網格。
2對于你輸入gambit的時候產生很多碎片的問題,你可以適當的把proe里面的模型精度和它的公差降低
,因為gambit的建模工具精度本事就不高。
3。布爾運算就是對于面與面,體與體的聯合,相減等運算。這個在所有的cad建模過程中是經常見
到的問題。
4。對于虛體生成的計算網格,和實體生成的計算網格,在計算的時候沒有區別,關鍵是看你網格
生成的質量如何,與實體虛體無關。
我在作復雜模型計算的時候,大部分都是用的虛體,特別是從其他的建模軟件里面導進來的復雜
模型,基本上不能夠生成實體。
至于計算的效果如何,那是你對于fluent的設置問題和網格的質量問題,與模型無關。
可以用gambit里面的check功能檢查一下你的網格質量,看看質量怎么樣
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















