官术网_书友最值得收藏!

2.1 解釋型UDF

解釋型UDF不需要額外的編譯器,利用Fluent軟件自身即可解釋源代碼。在解釋過程中,UDF源代碼被C預處理器解釋成中間的獨立于計算機體系之外的機器代碼。之后在調用UDF的過程中,這些被解釋器生成的機器代碼將在內部仿真器或解釋器上被執行。當然,這種以解釋的方式運行無可避免地會損失計算性能。但是以解釋方式運行的UDF有個好處:其可以不加修改地在不同體系的計算機、不同的操作系統以及不同的Fluent版本中運行。

當UDF的計算性能很重要時,建議以編譯的形式運行UDF。所有解釋型UDF都可以以編譯的方式被Fluent加載。

在UDF被解釋后保存cas文件,之后再打開cas文件時,UDF能夠直接被加載,而無需重新解釋。

2.1.1 解釋型UDF的局限性

解釋型UDF的最大優勢是一次解釋,到處可以執行,能夠跨平臺、跨架構、跨操作系統、跨版本。但是解釋型UDF也存在其局限性,主要體現在:

① 無法使用goto語句;

② 只支持ANSI-C語法;

③ 不支持直接數據結構引用(direct data structure references);

④ 不支持局部結構聲明;

⑤ 不支持聯合體;

⑥ 不支持指向函數的指針;

⑦ 不支持函數數組。

在訪問Fluent求解器數據的方式上解釋型UDF也有限制。解釋型UDF不能直接訪問存儲在Fluent結構中的數據。它們只能通過使用Fluent提供的宏間接地訪問這些數據。另一方面,編譯型UDF沒有任何C編程語言或其他求解器數據結構的限制。

2.1.2 在Fluent中解釋UDF

在Fluent中解釋UDF非常簡單。通常可采用以下步驟。

步驟1:確保UDF源文件與cas文件在同一目錄下。

需要說明的是,在網絡式多機并行Fluent中,用戶必須共享包含udf源文件、cas文件以及data文件的文件夾。具體共享方法為:鼠標右鍵選擇要共享的工作文件夾,選擇彈出菜單Sharing and Security,并選擇Share this folder

步驟2:如圖2-1所示,鼠標右鍵選擇模型樹節點Parameters&CustomizationUser Defined Functions,選擇子菜單Interpreted..(見圖2-1),彈出如圖2-2所示的對話框。

圖2-1 解釋UDF

圖2-2 UDF解釋對話框

步驟3:在對話框中選擇按鈕Browse...,在彈出的文件選擇對話框中選擇UDF源文件。對話框中的其他參數一般情況下可保持默認設置。

步驟4:點擊按鈕Interpret解釋源文件。 源文件解釋過程中,TUI窗口會有解釋信息。若有錯誤,會出現錯誤信息。

步驟5:加載解釋后的UDF。當源代碼被解釋后,在相應的GUI窗口中就可以看到被解釋的UDF了,此時可以選擇使用。

主站蜘蛛池模板: 博爱县| 阿图什市| 光泽县| 黄龙县| 都昌县| 扎赉特旗| 公安县| 沁水县| 开江县| 柳林县| 乐至县| 宽城| 无锡市| 兰坪| 葫芦岛市| 安福县| 二连浩特市| 通山县| 华坪县| 丰镇市| 本溪市| 方山县| 融水| 青冈县| 黑河市| 塘沽区| 棋牌| 剑川县| 岐山县| 定结县| 河津市| 偃师市| 铁岭县| 高碑店市| 伽师县| 兴安县| 平和县| 甘南县| 庄河市| 高台县| 福州市|