四十九、Fluent UDF編譯正確的流程

很多同學(xué)會(huì)在群里面問(wèn)一些UDF編譯的問(wèn)題,特此寫(xiě)一篇文章詳細(xì)說(shuō)明一下對(duì)UDF進(jìn)行編譯的正確流程。

1. UDF正常編譯流程

第一步:配置環(huán)境變量,參考公眾號(hào)文章十.Fluent環(huán)境變量的配置

第二步:驗(yàn)證環(huán)境變量是否成功

第三步:進(jìn)行UDF編譯

 

2. 配置環(huán)境變量

2.1 編譯型VS解釋型

推薦大家使用編譯型UDF

 

有些同學(xué)為了方便省事,想直接用解釋型UDF,這樣就不用配置環(huán)境變量了。解釋型的UDF與編譯型UDF在UDF的編寫(xiě)上沒(méi)有任何不同,只是將UDF加載到Fluent中的方式有所不同。

 

四十九、Fluent UDF編譯正確的流程的圖1

解釋型的UDF:運(yùn)算速度慢、不需要C語(yǔ)言編譯器、只能使用預(yù)定義的宏、只能使用C語(yǔ)言書(shū)寫(xiě)

 

四十九、Fluent UDF編譯正確的流程的圖2

對(duì)于簡(jiǎn)單的UDF,可以使用解釋型的UDF。但是當(dāng)你的UDF涉及到比較高級(jí)的宏,解釋型UDF是識(shí)別不了的,比如BOUNDARY_FACE_GEOMETRY、PRINCIPAL_FACE_P、Error等

編譯型UDF:運(yùn)算速度快、可以使用C或C++語(yǔ)言書(shū)寫(xiě)、通用性強(qiáng)。

 

四十九、Fluent UDF編譯正確的流程的圖3

一句話,解釋型不能通過(guò)的UDF,編譯型有可能通過(guò);但編譯型不能通過(guò)的UDF,解釋型一定不能通過(guò)。

(一句話,東廠管得了的我要管,東廠管不了的我更要管,先斬后奏,皇權(quán)特許!這就是西廠,夠不夠清楚?)

 

四十九、Fluent UDF編譯正確的流程的圖4

2. 驗(yàn)證環(huán)境變量是否成功

找一個(gè)一定沒(méi)問(wèn)題的UDF,編譯一下看是否通過(guò)。如果沒(méi)有任何error信息,那就說(shuō)明環(huán)境變量配置成功了。

沒(méi)問(wèn)題的UDF如何找:UDF手冊(cè)中的UDF肯定沒(méi)問(wèn)題,找一個(gè)最簡(jiǎn)單的就行,這里我提供一個(gè):

#include "udf.h"

DEFINE_PROPERTY(density_air, c, t)//空氣密度

{

real density;

density = 1.0;

return density;

}

直接新建txt文件,將上面代碼復(fù)制,然后將.txt改為.c即可。也可以從文章后面的鏈接中直接獲取UDF文件

 

四十九、Fluent UDF編譯正確的流程的圖5

什么樣的信息算是error?:我們先假設(shè)UDF一定沒(méi)問(wèn)題,如果Source Files選擇了這個(gè)UDF,點(diǎn)擊Build后,控制臺(tái)界面會(huì)生成一堆亂碼信息,直接點(diǎn)擊load,如果彈出下圖,那大概率就是環(huán)境變量沒(méi)有配置成功。

 

這種方法判斷的前提是UDF沒(méi)有任何問(wèn)題。

 

四十九、Fluent UDF編譯正確的流程的圖6

3. 進(jìn)行UDF編譯

在環(huán)境變量配置成功的情況下,再進(jìn)行自己書(shū)寫(xiě)的UDF的編譯。

這一步還可能會(huì)遇到很多問(wèn)題。由于環(huán)境變量已經(jīng)配置成功,因此遇到的問(wèn)題一定是UDF本身的問(wèn)題,可能是書(shū)寫(xiě)不規(guī)范,也可能是語(yǔ)法問(wèn)題。

 

還有可能,UDF編譯通過(guò),但是一點(diǎn)計(jì)算就會(huì)出現(xiàn)下圖這種錯(cuò)誤

四十九、Fluent UDF編譯正確的流程的圖7

或者出現(xiàn)received a fatal signal (aborted).

 

四十九、Fluent UDF編譯正確的流程的圖8

總之錯(cuò)誤總是千奇百怪,防不勝防。但當(dāng)使用的多了,會(huì)發(fā)現(xiàn)常見(jiàn)的錯(cuò)誤原因就那幾個(gè),多注意排查即可。這部分下篇文章會(huì)進(jìn)行敘述。

鏈接:https://pan.baidu.com/s/1A9daH9pPFxyTL1ElsKwqow

提取碼:h1uc

為了方便大家學(xué)習(xí)交流,我創(chuàng)建了QQ群:群一人數(shù)已滿員,可加二群:876525686,大家可以在其中討論相關(guān)的問(wèn)題,同時(shí)我會(huì)將所有文章的源文件都放到QQ群中,還會(huì)放一些其它的學(xué)習(xí)文件。歡迎大家加入。

登錄后免費(fèi)查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺(tái)客服

TOP

1
3