天天看點

ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語

1、fluent簡介

Ansys Fluent是業界領先的流體仿真軟體,以其先進的實體模組化功能和行業領先的精度而聞名。

官網位址:

https://www.ansys.com/zh-cn/products/fluids/ansys-fluent

ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語

<b><font color=blue>Ansys Fluent </font></b>,是國際上比較流行的商用CFD軟體包,在美國的市場占有率為60%,凡是和流體、熱傳遞和化學反應等有關的工業均可使用。它具有豐富的實體模型、先進的數值方法和強大的前後處理功能,在航空航天、汽車設計、石油天然氣和渦輪機設計等方面都有着廣泛的應用。

<b><font color=blue>Ansys Fluent </font></b>,用來模拟從不可壓縮到高度可壓縮範圍内的複雜流動。與FLUENT配合最好的标準網格軟體是ICEM。FLUENT系列軟體包括通用的CFD軟體FLUENT、POLYFLOW、FIDAP,工程設計軟體FloWizard、FLUENT for CATIAV5,TGrid、G/Turbo,CFD教學軟體FlowLab,面向特定專業應用的ICEPAK、AIRPAK、MIXSIM軟體等。

<b><font color=blue>Ansys Fluent </font></b>,可為您提供更多時間進行創新和優化産品性能。相信您的仿真結果,我們的軟體已在各種應用中進行了廣泛驗證。借助Ansys Fluent,您可以在可自定義的直覺空間中建立進階實體模型并分析各種流展現象。

ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語

<b><font color=purple>What's New:Ansys Fluent繼續朝着更高效、更可持續的計算流體動力學(CFD)仿真邁進。此更新包括 GPU 技術和開源可通路性的重大進步,以提高工作效率并縮短仿真時間。

  • (1)釋放 GPU 的強大功能

    使用多 GPU 求解器可大幅縮短仿真求解時間和總功耗,結果顯示 6 個高端 GPU ≈ 2,000 個 CPU。現在支援瞬态流,包括尺度分辨仿真 (SRS)、非共形接口 (NCI) 和移動參考系 (MRF)。

    ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語
  • (2)Ansys Fluent的公開接口

    使用 PyFluent(通過 Python 對 Fluent 的開源通路)實作流程自動化、建構自定義工作流程、制作自定義解決方案等。

    ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語
  • (3)從生産到消費的氫氣模拟

    使用新的質子交換膜 (PEM) 模型 (BETA) 精确模拟通過電解生成的綠色氫氣,并使用經過驗證的氫氣和氫氣混合物燃燒模型模拟氫氣消耗。

    ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語
  • (4)高效結構化網格劃分

    使用 Fluent 水密幾何工作流程中的新多區域功能高效生成結構化網格。多區域操作還包括掃描網格、分離區域和分割圓柱體。

    ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語
  • (5)改進的高超音速空氣熱力學

    準确預測由于具有部分催化壁邊界條件的放熱複合反應而向高超聲速飛行器表面的傳熱。這解釋了原子的重組和改進的物種混合物組成的預測。

    ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語
  • (6)準确的電池膨脹

    通過耦合 Fluent 的電池和固有流固耦合 (FSI) 模型,準确預測充電期間由于電化學、壓力和膨脹相關材料特性而導緻的電池膨脹。

    ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語

2、fluent檔案格式

2.1 常見格式

ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語

ANSYS Fluent會涉及多種類型的檔案:

  • ANSYS Fluent輸入的檔案類型包括grid、case、data、profile、 Scheme以及 journal檔案
  • ANSYS Fluent輸出的檔案類型包括 case、data、 profile、 journal以及 transcript等。
  • ANSYS Fluent還可以儲存目前視窗的布局以及儲存圖形視窗的副本。

ANSYS Fluent用到的主要檔案類型:

  • grid(網格檔案),.msh,記錄網格資料資訊。MSH是GAMBIT處理後輸出給FLUENT計算的檔案。Gambit可識别的檔案字尾為.dbs,而要将Gambit中建立的網格模型調入Fluent使用,則需要将其輸出為.msh檔案 (file/export)。<font color=blue>FLUENT讀取MSH檔案後可以儲存為CAS檔案。</font>
  • case(項目檔案),.cas,記錄實體資料、區域定義、網格資訊。<font color=blue>利用Fluent Meshing将cas檔案讀入,然後輸出為msh檔案,利用SpaceClaim讀取msh檔案再轉化為幾何檔案。Case(案例檔案),擴充名為.cas,包括網格,邊界條件,解的參數,使用者界面和圖形環境的資訊。這是Fluent中的基本檔案之一,是核心檔案。将網格導入Fluent,便可選擇File菜單中的相關指令生成該檔案。</font>
  • data(資料檔案),.dat,記錄每個網格資料資訊,以及收斂的曆史記錄(殘內插補點)。<font color=blue>DAT檔案包含對應CAS檔案計算的結果。Data(資料檔案),擴充名為.dat,包含每個網格單元的流場值以及收斂的曆史紀錄(殘內插補點),該檔案時Fluent中的基本檔案之一,使用者可随時調用該檔案檢視計算結果。</font>
  • profile(邊界信總檔案),使用者指定擴充名,用于指定邊界區域上的流動條件。<font color=blue>在proflie檔案中經常使用的變量名稱包括time(時間)、u或v_x(x方向速度)、v或v_y(y方向速度)、w或v_z(z方向速度)、omega_x(x方向角速度)、omega_y(y方向角速度)、omega_z(z方向角速度)、temperature(溫度)等。Profile檔案中的資料機關均為國際機關制。</font>
  • journal(日志檔案),使用者指定擴充名,記錄使用者輸入過的各類指令。
  • transcript(副本檔案),使用者指定擴充名,記錄全部輸入及輸出資訊。
  • HardCopy(硬拷貝檔案),擴充名取決于輸出格式, 将圖形視窗中的内容副本輸出為JPEG、 TIFF、- Postscript等格式檔案。
  • Export(輸出檔案),擴充名取決于輸出格式, 将計算資料輸出為AVS、FAST、FIELDVIEW、EnSight 等軟體可讀入格式檔案。
  • Interpolart(轉接檔案),使用者指定擴充名,用于兩種網格方案之間的資料交換檔案。
  • Scheme(源檔案),.scm,用 Scheme語言編寫的源程式檔案。
  • 配置檔案,.Fluent,記錄對Fluent進行定制和控制的檔案。
ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語
ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語

2.2 結果格式

ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語
  • (1)fluent的網格檔案格式之間切換(.msh to .cas)

meshing模式下隻能儲存 msh網格檔案,不能儲存cas模型設定檔案;solution模式下隻能儲存cas模型檔案,不能儲存msh網格檔案。

  • (2)fluent的新舊結果檔案格式之間切換(.cas to .cas.h5)

Go to the File->Preferences in the “general” section, change the “Default Format for I/O” from “CFF” to “Legacy”

And then when you write the .cas and .dat files make sure to select the “.cas and .dat” option, and not the CFF format with .cas.h5 and .dat.h5

在FLUENT的模型設定(solution)工作模式下,如果儲存檔案,現在預設為cas.h5格式檔案。如果儲存的時候選擇為曆史遺留格式,也隻能使用cas.gz壓縮包格式。

ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語

點選File -> Preference... -> Default Format for I/O -> legacy" 把CFF改成legacy即可。以後儲存就預設.cas和.dat了。

ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語
  • (3)fluent使用tui指令修改儲存方式(.cas.h5 to .cas):
f c n wcd 3
           
ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語

3、fluent資源

ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語

3.1 fluent線上資源

ANSYS Fluent as a Server Users Guide

https://www.docin.com/p-1676941949.html

ANSYS FLUENT 12.0/12.1 Documentation

https://wwwafs.portici.enea.it/project/neptunius/docs/fluent/index.htm

3.2 fluent和matlab

實際中有很多場合需要把fluent資料導入到matlab,比如對資料進行後處理,用matlab繪圖,或者将matlab計算好的邊界條件或者其他資料導回到dat檔案中回fluent繼續計算。

  • 彙總了部分網友的解決方法如下:

(1)使用 MATLAB 解析 FLUENT 的 AVS 結果檔案

https://zhuanlan.zhihu.com/p/369696865

(2)fluent後處理的資料如何導出,用matlab分析?

https://www.zhihu.com/question/325193784

(3)分享Matlab讀取Fluent資料代碼

https://www.cfd-china.com/topic/3245/%E5%88%86%E4%BA%ABmatlab%E8%AF%BB%E5%8F%96fluent%E6%95%B0%E6%8D%AE%E4%BB%A3%E7%A0%81

4、Tecplot

ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語
正在運作更多的 CFD 模拟,網格尺寸越來越大,并且資料集正在遠端存儲。您必須擁有正确的工具來處理大型資料集、自動化工作流程和可視化參數結果。Tecplot 360 幫助您花更少的時間等待和更多的時間去發現。

4.1 Tecplot簡介

<b><font color=blue size=4>使用 Tecplot 360 做出更好的決策:</font></b>

  • 整合 XY、2D 和 3D 繪圖,讓它們看起來完全符合您的要求。
  • 用精美的圖像和動畫傳達您的結果。
  • 使用 PyTecplot Python 腳本自動化無聊的工作。
  • 使用 Chorus 分析參數資料時不會錯過任何結果。
  • 使用 SZL-Server 用戶端-伺服器安全通路大型遠端資料。

<b><font color=blue size=4>使用 Tecplot 360 的好處:</font></b>

  • 加載 Tecplot、FLUENT、PLot3D、CGNS、OpenFOAM、FVCOM、VTU 資料和 22 種其他 CFD、- FEA、結構分析和行業标準資料格式。
  • 在具有多個頁面的多架構環境中報告和比較解決方案。
  • 使用獨特的連結功能了解 XY、極坐标、2D 和 3D 圖。
  • 使用視訊播放器樣式的控件制作動畫并逐漸完成瞬态解決方案。
  • 使用互動式切片、等值面和流跟蹤工具進行探索。
  • 自動提取渦核、沖擊面等關鍵流動特征。

4.2 Tecplot加載fluent檔案

目前新版的fluent預設儲存為.cas.h5檔案,這個檔案的優勢是在于可以減小檔案本身所占用的大小,新版tecplot支援。

-(1)tecplot360菜單:File -> Load Data...

ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語
ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語

tecplot360打開fluent檔案之後,顯示三維結果。

ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語
  • (2)tecplot360菜單:Data -> Data Set Info...

    顯示fluent結果的基本資訊。

    ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語
  • (3)tecplot360菜單:Data -> Spreadsheet...

    顯示fluent的結果中節點資訊。

    ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語

5、PyFluent

ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語

5.1 PyFluent簡介

Fluent 2022R2版本推出了pyFluent,這實際上是提供了一個利用python通路Fluent程序的工具,利用此工具可以實作利用python控制Fluent,可以實作在不啟用Fluent GUI的情況下,完成參數設定、計算求解以及或資料結果輸出的功能。(<font color=green><b>注:pyFluent隻能在Fluent 2022R2版本及其後續版本下使用。</b></font>)

<font color=blue>Ansys Fluent是一款最先進的計算流體動力學(CFD)軟體包,用于模拟複雜幾何結構中的流體流動、傳熱和化學反應。Fluent 提供完整的網格靈活性,包括使用非結構化網格解決流動問題的能力,這些網格可以相對輕松地圍繞複雜幾何體生成。支援的網格類型包括:</font>

  • 2D 三角形和四邊形
  • 3D 四面體、六面體、金字塔、楔形和多面體
  • 混合(混合)

<font color=blue>Fluent 還使您能夠根據流動解決方案優化或粗化網格。您可以将網格讀取到 Fluent 中,或者對于 3D 幾何圖形,可以使用 Fluent 的網格劃分模式建立網格。所有其他操作都在 Fluent 的解決方案模式下執行,包括:</font>

  • 設定邊界條件
  • 定義流體屬性
  • 執行解決方案
  • 細化網格
  • 運作參數化算例
  • 後處理和檢視結果

<font color=purple>PyFluent是PyAnsys生态系統的一部分,可讓您在您選擇的Python環境中與其他PyAnys庫和外部Python庫結合使用Fluent。

<font color=purple>

PyFluent 實作了用戶端-伺服器體系結構。它使用谷歌遠端過程調用或gRPC接口來啟動或連接配接正在運作的 Fluent 程序作為伺服器。但是,您隻需要與 Python 接口進行互動。

<font color=purple>

PyFluent 以程式設計方式建立、互動和控制 Fluent 會話,以建立您自己的自定義工作區。此外,您還可以使用 PyFluent 通過高度可配置的自定義腳本來提高工作效率。

<font color=orange>

PyFluent 提供對 Ansys Fluent 的 Pythonic 通路。它的功能支援在 Python 生态系統中無縫使用 Fluent 并廣泛通路原生 Fluent 功能,包括:

  • 使用本地 Ansys 安裝啟動 Fluent
  • 對網格劃分和求解器功能使用 Fluent 的 TUI(文本使用者界面)指令
  • 使用 Fluent 的内置後處理功能

5.2 PyFluent安裝

官網位址:

https://github.com/pyansys/pyfluent

當您将 Python 幾乎無限的可能性和靈活性與 Fluent 市場領先的準确性相結合時,您就開啟了一種執行流體動力學模拟的新方法。借助 PyFluent,開發人員現在可以通路 Fluent 功能的全部廣度和深度,從使用 Python 腳本的預處理到後處理。

為了最小化核心包中的依賴關系(使其具有最大的可移植性),PyFluent API 分為三個不同的包:

  • ansys-fluent-core — 提供對 Fluent 的網格劃分、求解器和後處理功能的通路。
  • ansys-fluent-parametric — 提供對 Fluent 參數化工作流程功能的通路。
  • ansys-fluent-visualization — 提供與 PyVista 和 Matplotlib 一起使用的後處理功能。

安裝受支援的 Python 發行版後,第一步是建立并激活本地虛拟環境:

ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語

此時,您可以使用标準 PIP 過程安裝三個 PyFluent API 包中的任何一個:

ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語

配置完環境并安裝了 PyFluent API 包後,您可以使用 Fluent API 建立 Python 腳本,就像使用任何其他 Python 庫(如 NumPy, TensorFlow, or Pandas)一樣。PyFluent庫子產品是開源的,是以您可以分叉存儲庫、建構存儲庫、分發自己的應用程式,甚至與Ansys共享代碼。

  • 有如下兩種方式進行安裝:
  • (1)Install the latest release from PyPi with:
pip install ansys-fluent-core
           
ANSYS二次開發:Python解析ansys fluent結果檔案1、fluent簡介2、fluent檔案格式3、fluent資源4、Tecplot5、PyFluent6、個人測試結語
  • (2)If you plan on doing local development of PyFluent with Git, install the latest release with:
git clone https://github.com/pyansys/pyfluent.git
cd pyfluent
pip install pip -U
pip install -e .
python codegen/allapigen.py  # Generates the API files
           

5.3 PyFluent示例

  • (1)啟動fluent
import ansys.fluent.core as pyfluent
solver = pyfluent.launch_fluent(precision="double", processor_count=2, mode="solver")
solver.check_health()
           
  • (2)發送TUI 指令給fluent
solver.tui.file.read_case('elbow.cas.h5')
solver.tui.define.models.unsteady_2nd_order("yes")
solver.tui.solve.initialize.initialize_flow()
solver.tui.solve.dual_time_iterate(2, 3)
           
  • (3)加載CAD 檔案
import ansys.fluent.core as pyfluent
from ansys.fluent.core import examples

import_filename = examples.download_file("mixing_elbow.pmdb", "pyfluent/mixing_elbow")
meshing = pyfluent.launch_fluent(precision="double", processor_count=2, mode="meshing")
meshing.workflow.InitializeWorkflow(WorkflowType="Watertight Geometry")
meshing.workflow.TaskObject["Import Geometry"].Arguments = dict(
    FileName=import_filename, LengthUnit="in"
)

# Import geometry
# ~~~~~~~~~~~~~~~
# Import the geometry.

meshing.workflow.TaskObject["Import Geometry"].Execute()

meshing.workflow.TaskObject["Add Local Sizing"].AddChildToTask()
meshing.workflow.TaskObject["Add Local Sizing"].Execute()
           
  • (4)加載msh檔案

    Import mesh and perform mesh check

solver.file.read(file_type="case", file_name=import_filename)
solver.tui.mesh.check()
           

6、個人測試

6.1 解析.cas/.dat/.cas.gz/.dat.gz(Python)

<font color=purple size=5 face=隸書> 正在建設中,請稍等。。。</font>

6.2 解析.cas.h5/.dat.h5(Python)

<font color=purple size=5 face=隸書> 正在建設中,請稍等。。。</font>

6.3 解析.msh(Python)

結語