Fluent UDF【7】:解釋型UDF【轉(zhuǎn)發(fā)】

2017-07-05  by:CAE仿真在線  來源:互聯(lián)網(wǎng)

UDF宏有兩種方式可以被Fluent所接受:編譯和解釋。其中有一些宏既可以被解釋也可以被編譯,而一些宏則只能被解釋。有一些場合只接受編譯后的UDF(如動(dòng)網(wǎng)格中的一些宏),而有些場合既可以接受編譯的UDF,還能接受解釋后的UDF。那么解釋型的UDF與編譯型的UDF到底存在何種差異?本文主要描述解釋型UDF,而編譯型UDF涉及到的問題更多,我們留到下次再說。

1

解釋型UDF

解釋型UDF不需要額外的編譯器,利用Fluent軟件自身即可解釋源代碼。在解釋過程中,UDF源代碼被C預(yù)處理器解釋成中間的,獨(dú)立于計(jì)算機(jī)體系之外的機(jī)器代碼。之后在調(diào)用UDF的過程中,這些被解釋器生成的機(jī)器代碼將在內(nèi)部仿真器或解釋器上被執(zhí)行。當(dāng)然,這種以解釋的方式運(yùn)行無可避免的會(huì)損失計(jì)算性能。但是以解釋方式運(yùn)行的UDF有個(gè)好處:其可以不加修改的在不同體系的計(jì)算機(jī)上、不同的操作系統(tǒng)以及不同的Fluent版本中運(yùn)行
當(dāng)UDF的計(jì)算性能很重要時(shí),建議以編譯的形式運(yùn)行UDF。所有解釋型UDF都可以以編譯的方式被Fluent加載。

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

2

解釋型UDF的局限性

解釋型的最大優(yōu)勢是一次解釋,到處可以執(zhí)行,能夠跨平臺(tái)、跨架構(gòu)、跨操作系統(tǒng)、跨版本。但是解釋型UDF也存在其局限性。主要體現(xiàn)在:

  • 無法使用goto語句

  • 只支持ANSI-C語法

  • 不支持直接數(shù)據(jù)結(jié)構(gòu)引用(direct data structure references)

  • 不支持局部結(jié)構(gòu)聲明

  • 不支持聯(lián)合體

  • 不支持指向函數(shù)的指針

  • 不支持函數(shù)數(shù)組

在訪問FLUENT求解器數(shù)據(jù)的方式上解釋式UDF也有限制。解釋式UDF不能直接訪問存儲(chǔ)在FLUENT結(jié)構(gòu)中的數(shù)據(jù)。它們只能通過使用Fluent提供的宏間接地訪問這些數(shù)據(jù)。另一方面,編譯式UDF沒有任何C編程語言或其它注意的求解器數(shù)據(jù)結(jié)構(gòu)的限制。

3

在Fluent中解釋UDF

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

  • 確保UDF源文件與cas文件在同一目錄下。

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

  • 右鍵選擇模型樹節(jié)點(diǎn)Parameters&Customization→User Defined Functions,選擇子菜單Interpreted..

Fluent UDF【7】:解釋型UDF【轉(zhuǎn)發(fā)】fluent仿真分析圖片1

彈出如下圖所示的對(duì)話框。

Fluent UDF【7】:解釋型UDF【轉(zhuǎn)發(fā)】fluent仿真分析圖片2

  • 在對(duì)話框中選擇按鈕Browse…

在彈出的文件選擇對(duì)話框中選擇UDF源文件。對(duì)話框中的其他參數(shù)一般情況下可保持默認(rèn)設(shè)置。

  • 點(diǎn)擊按鈕Interpret解釋源文件

源文件解釋過程中,TUI窗口會(huì)有解釋信息。若有錯(cuò)誤的話,會(huì)出現(xiàn)錯(cuò)誤信息。

  • 加載解釋后的UDF

當(dāng)源代碼被解釋后,在相應(yīng)的GUI窗口中就可以看到被解釋的UDF了,此時(shí)可以選擇使用。

Fluent UDF【7】:解釋型UDF【轉(zhuǎn)發(fā)】fluent仿真分析圖片3

Fluent UDF【7】:解釋型UDF【轉(zhuǎn)發(fā)】fluent流體分析圖片4



轉(zhuǎn)自公眾號(hào):胡坤 CFD仿真之道

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

相關(guān)標(biāo)簽搜索:Fluent UDF【7】:解釋型UDF【轉(zhuǎn)發(fā)】 Fluent培訓(xùn) Fluent流體培訓(xùn) Fluent軟件培訓(xùn) fluent技術(shù)教程 fluent在線視頻教程 fluent資料下載 fluent分析理論 fluent化學(xué)反應(yīng) fluent軟件下載 UDF編程代做 Fluent、CFX流體分析 HFSS電磁分析 

編輯
在線報(bào)名:
  • 客服在線請(qǐng)直接聯(lián)系我們的客服,您也可以通過下面的方式進(jìn)行在線報(bào)名,我們會(huì)及時(shí)給您回復(fù)電話,謝謝!
驗(yàn)證碼

全國服務(wù)熱線

1358-032-9919

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