fluent:c語言 如何配置UDF編譯環(huán)境?

2016-08-29  by:CAE仿真在線  來源:互聯(lián)網(wǎng)

FLUENT UDF中關于動網(wǎng)格的DEFINE宏均要求為編譯型。FLUENT的UDF運行環(huán)境有兩種:解釋型與編譯型。雖然兩種方式都是采用編譯,但是編譯方式及編譯后獲得的結果是不同的。編譯型UDF需要通過Complied進行編譯,編譯后得到相應的dll文件。而解釋型UDF則是通過Interprete進行加載,不會生成dll文件。據(jù)我的直覺,編譯型UDF可能利用了鉤子函數(shù)的技術。

一、編譯型UDF與解釋型UDF的差異(翻譯自UDF手冊)

1、解釋型UDF

  • 一個精簡的平臺
  • 都能被作為編譯型UDF使用
  • 不需要C編譯器(利用FLUENT自身的編譯器)
  • 比編譯型UDF反應慢
  • 在方法方面受到較多的限制
  • 無法被鏈接到編譯系統(tǒng)或其它庫
  • 只能使用預定義宏訪問存儲于ansys fluent中的數(shù)據(jù)

2、編譯型UDF

  • 比解釋型UDF反應迅速
  • 沒有諸多C語法限制
  • 能夠使用其它語言編寫的函數(shù)
  • 當具有一些解釋型UDF不能處理的功能時,無法作為解釋型UDF使用

3、選取原則

  • 對于小型的、簡單的功能,使用解釋型UDF
  • 復雜功能使用編譯型UDF。(如具有較大的CPU開銷、需要訪問公共庫)

二、配置UDF編譯環(huán)境

對于編譯型UDF,在fluent中加載時,需要調(diào)用C編譯器將其編譯成DLL文件。這里的C編譯器雖說理論上是沒有任何限制的,但是在windows環(huán)境下還是推薦使用microsoft visual c++,在linux環(huán)境下推薦使用GCC。我們這里只說windows環(huán)境下編譯環(huán)境的配置問題。

visual c++最高版本是6.0,再往后就是microsoft visual studio7.0、8.0、9.0、10.0。其中7.0對應microsoft visual studio2003,8.0對應2005,9.0對應2008,10.0對應2010。在一些老版的fluent中,通常需要配置環(huán)境變量。配置環(huán)境變量的方法,網(wǎng)絡上很多,可以搜索。這里講的是通過修改udf.bat文件來配置編譯環(huán)境。

在fluent 12.0之后的版本中,可以通過修改udf.bat文件的方式進行編譯環(huán)境配置。該文件位于

xx\ANSYS Inc\v140\fluent\ntbin\win64目錄下。本人安裝的fluent是64bit的,版本為14.0。不同版本的fluent,該文件所處的位置可能不同。大家可以利用windows的文件搜索功能尋找該文件。注意若是安裝了icepak,則會有兩個udf.bat文件,一定要注意我們只針對fluent目錄下的該文件。

我們用記事本打開此文件,由于本機上安裝的是microsoft visual studio 2010,因此只需要關注圖中橙色線框中的部分。

image

現(xiàn)在來分析橙色框中的語句。有過DOS經(jīng)驗的人可能嫌我羅嗦,不過我還是要說一下。因為現(xiàn)在有DOS經(jīng)驗的人越來越少了。

(1)第8行:echo是dos中助于在屏幕上寫出一段文本。這與c語言中的printf,c#中的Console.WriteLine,JAVA中的System.Print的功能是一樣的,只是在屏幕上打出后面一段文字,我們可以忽略了。

(2)第10行:設定MSVC_DEFAULT的值。其實是一個賦值語句。容易理解。一會兒需要動它。

(3)第11行:if exist是判斷,判斷后面的vcvarsall.bat文件是否存在,若存在,則設置變量MSVC的值。

(4)第12行:判斷MSVC是否為空,若不為空,則進入msvc_env100標記行。找到該標記行,其內(nèi)容位于86~89行。該標記行的內(nèi)容為:(1)設定msvc_version為100(2)調(diào)用vcvarsall.bat文件,利用amd64,因為我安裝的fluent版本是64bit,若32bit版本會有所不同。

(5)跳轉到ms_c_end行,該行是一個結束標記行。

image

看起來復雜,其實人們要做的工作很少。用戶所要做的僅僅是修改第10行的內(nèi)容。修改microsoft visual studio的安裝路徑。若vc是全默認安裝,則什么都不需修改,否則改為正確的路徑。如本機的microsoft studio安裝在d:\program files目錄下,只需將第10行修改為:

set MSVC_DEFAULT=D:\Program Files\Microsoft Visual Studio 10.0

就可以了。

剩下要做的工作是:在fluent啟動面板中勾選Environment標簽頁下的setup compilation Environment for UDF選項。該選項默認是選中的,且不同的版本該選項所處的位置可能有所不同。

SNAGHTML7fe042

三、總結

配置12.0以上fluent UDF編譯環(huán)境,需要進行的工作:

(1)找到fluent安裝目錄下的udf.bat文件

(2)打開udf.bat文件,修改對應本機安裝的microsoft visual studio版本的路徑

OK了!這種方式配置UDF編譯環(huán)境不需要考慮計算機的操作系統(tǒng)。


開放分享:優(yōu)質(zhì)有限元技術文章,助你自學成才

相關標簽搜索:fluent:c語言 如何配置UDF編譯環(huán)境? Fluent培訓 Fluent流體培訓 Fluent軟件培訓 fluent技術教程 fluent在線視頻教程 fluent資料下載 fluent分析理論 fluent化學反應 fluent軟件下載 UDF編程代做 Fluent、CFX流體分析 HFSS電磁分析 

編輯
在線報名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復電話,謝謝!
驗證碼

全國服務熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com