Fluent UDF【5】:第一個UDF


這里以一個簡單的初始化案例來描述UDF的使用過程。

0 Fluent中的Patch

Fluent中提供了全域初始化以及局部Patch功能。對於整體區域的全局初始化可以采用starndard及hybrid方法進行初始化,指定各種物理量的初始分布。而對於計算域中的局部區域初始化,則可以通過Patch功能來實現。
在使用Patch方法時,需要實現對要進行Patch的區域進行標記。選擇Mark/Adapt Cells→Region...可彈出區域定義對話框。

可以在彈出的對話框中設置幾何條件來Mark區域。

然而在此對話框中可定義的形狀類型只有三種:Quad、Circle或Cylinder,在3D模型中對應的是Hex、Sphere以及Cylinder。對於更復雜的模型似乎無能為力。此時可以借助UDF來解決問題。

1 案例描述

如下圖所示的矩形區域為計算區域,其初始溫度為300K。計算模型尺寸如圖所示。
幾何模型
圖中紅色部分為要進行初始化處理的橢圓區域,其初始溫度為500K。

2 網格

網格如圖所示。
生成的網格

3 編寫UDF

對於這種橢圓形區域的初始化,只能采用UDF來實現。利用DEFINE_INIT宏來實現這種區域的標記工作。
本案例中橢圓方程為:

\[\frac{(x-0.05)^2}{0.03^2}+\frac{(x-0.03)^2}{0.015^2} =1 \]

因此可編寫UDF如下。
程序代碼

4 編譯UDF

利用User Defined標簽頁下的Function→Compiled...,Fluent軟件會彈出UDF編譯對話框。
編譯UDF
在彈出的對話框中利用Add...按鈕添加UDF源文件,點擊Build按鈕進行編譯,並點擊按鈕Load加載UDF。
編譯UDF
本案例也可以采用解釋的方式運行。

5 Hook UDF

UDF編譯完成后,需要將UDF加載到Fluent中。這部分工作可以通過相應的GUI來實現。
DEFINE_INIT宏需要在User Defined標簽頁下的Funcition Hooks...中進行加載。
Hook UDF
選擇此按鈕后打開UDF加載對話框。
加載UDF

5 查看結果

在查看初始化結果之前,需要開啟相應的模型。由於本案例初始化的是溫度變量,所以必須首先開啟能量方程。
開啟能量方程
之后進行初始化。
初始化
初始化完畢后可以查看溫度雲圖分布,如下圖所示。
初始化結果
可以看到橢圓形區域初始溫度設置為500K。
按同樣的道理,可以初始化任何形狀的區域,只要這些區域可以用數學函數來表達。


更多CFD資料可微信掃描下方二維碼關注微信公眾號。

微信掃碼關注公眾號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM