站点图标 AI技术聚合

ANSYS二次开发:Python解析ansys fluent结果文件

🍺相关文章汇总如下🍺:

  1. 🎈ANSYS二次开发:APDL开发入门准备🎈
  2. 🎈ANSYS二次开发:后处理使用APDL命令流解析结果文件🎈
  3. 🎈ANSYS二次开发:Python解析ANSYS结果文件(PyAnsys库)🎈
  4. 🎈ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,PyDPF)🎈
  5. 🎈ANSYS二次开发:Python解析ANSYS FLUENT结果文件🎈

文章目录

  • 1、fluent简介
  • 2、fluent文件格式
    • 2.1 常见格式
    • 2.2 结果格式
  • 3、fluent资源
    • 3.1 fluent在线资源
    • 3.2 fluent和matlab
  • 4、Tecplot
    • 4.1 Tecplot简介
    • 4.2 Tecplot加载fluent文件
  • 5、ParaView
    • 5.1 安装ParaView
    • 5.2 fluent导出结果文件
    • 5.3 ParaView加载fluent结果文件
  • 6、PyFluent
    • 6.1 PyFluent简介
    • 6.2 PyFluent安装
    • 6.3 PyFluent示例
  • 7、个人测试
    • 7.1 解析.msh(Python)
    • 7.2 解析.cas/.dat/.cas.gz/.dat.gz(Python)
    • 7.3 解析.cas.h5/.dat.h5(Python)
  • 结语

1、fluent简介

Ansys Fluent是业界领先的流体仿真软件,以其先进的物理建模功能和行业领先的精度而闻名。

官网地址:
https://www.ansys.com/zh-cn/products/fluids/ansys-fluent


Ansys Fluent ,是国际上比较流行的商用CFD软件包,在美国的市场占有率为60%,凡是和流体、热传递和化学反应等有关的工业均可使用。它具有丰富的物理模型、先进的数值方法和强大的前后处理功能,在航空航天、汽车设计、石油天然气和涡轮机设计等方面都有着广泛的应用。

Ansys Fluent ,用来模拟从不可压缩到高度可压缩范围内的复杂流动。与FLUENT配合最好的标准网格软件是ICEM。FLUENT系列软件包括通用的CFD软件FLUENT、POLYFLOW、FIDAP,工程设计软件FloWizard、FLUENT for CATIAV5,TGrid、G/Turbo,CFD教学软件FlowLab,面向特定专业应用的ICEPAK、AIRPAK、MIXSIM软件等。

Ansys Fluent ,可为您提供更多时间进行创新和优化产品性能。相信您的仿真结果,我们的软件已在各种应用中进行了广泛验证。借助Ansys Fluent,您可以在可自定义的直观空间中创建高级物理模型并分析各种流体现象。

What’s New:Ansys Fluent继续朝着更高效、更可持续的计算流体动力学(CFD)仿真迈进。此更新包括 GPU 技术和开源可访问性的重大进步,以提高工作效率并缩短仿真时间。

  • (1)释放 GPU 的强大功能
    使用多 GPU 求解器可大幅缩短仿真求解时间和总功耗,结果显示 6 个高端 GPU ≈ 2,000 个 CPU。现在支持瞬态流,包括尺度分辨仿真 (SRS)、非共形接口 (NCI) 和移动参考系 (MRF)。

  • (2)Ansys Fluent的公开接口
    使用 PyFluent(通过 Python 对 Fluent 的开源访问)实现流程自动化、构建自定义工作流程、制作自定义解决方案等。

  • (3)从生产到消费的氢气模拟
    使用新的质子交换膜 (PEM) 模型 (BETA) 精确模拟通过电解生成的绿色氢气,并使用经过验证的氢气和氢气混合物燃烧模型模拟氢气消耗。

  • (4)高效结构化网格划分
    使用 Fluent 水密几何工作流程中的新多区域功能高效生成结构化网格。多区域操作还包括扫描网格、分离区域和分割圆柱体。

  • (5)改进的高超音速空气热力学
    准确预测由于具有部分催化壁边界条件的放热复合反应而向高超声速飞行器表面的传热。这解释了原子的重组和改进的物种混合物组成的预测。

  • (6)准确的电池膨胀
    通过耦合 Fluent 的电池和固有流固耦合 (FSI) 模型,准确预测充电期间由于电化学、压力和膨胀相关材料特性而导致的电池膨胀。

2、fluent文件格式

2.1 常见格式


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)。FLUENT读取MSH文件后可以保存为CAS文件。
  • case(项目文件),.cas,记录物理数据、区域定义、网格信息。利用Fluent Meshing将cas文件读入,然后输出为msh文件,利用SpaceClaim读取msh文件再转化为几何文件。Case(案例文件),扩展名为.cas,包括网格,边界条件,解的参数,用户界面和图形环境的信息。这是Fluent中的基本文件之一,是核心文件。将网格导入Fluent,便可选择File菜单中的相关命令生成该文件。
  • data(数据文件),.dat,记录每个网格数据信息,以及收敛的历史记录(残差值)。DAT文件包含对应CAS文件计算的结果。Data(数据文件),扩展名为.dat,包含每个网格单元的流场值以及收敛的历史纪录(残差值),该文件时Fluent中的基本文件之一,用户可随时调用该文件查看计算结果。
  • profile(边界信总文件),用户指定扩展名,用于指定边界区域上的流动条件。在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文件中的数据单位均为国际单位制。
  • journal(日志文件),用户指定扩展名,记录用户输入过的各类命令。
  • transcript(副本文件),用户指定扩展名,记录全部输入及输出信息。
  • HardCopy(硬拷贝文件),扩展名取决于输出格式, 将图形窗口中的内容副本输出为JPEG、 TIFF、- Postscript等格式文件。
  • Export(输出文件),扩展名取决于输出格式, 将计算数据输出为AVS、FAST、FIELDVIEW、EnSight 等软件可读入格式文件。
  • Interpolart(转接文件),用户指定扩展名,用于两种网格方案之间的数据交换文件。
  • Scheme(源文件),.scm,用 Scheme语言编写的源程序文件。
  • 配置文件,.Fluent,记录对Fluent进行定制和控制的文件。


2.2 结果格式

  • (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压缩包格式。

点击File -> Preference… -> Default Format for I/O -> legacy” 把CFF改成legacy即可。以后保存就默认.cas和.dat了。

  • (3)fluent使用tui命令修改保存方式(.cas.h5 to .cas):
f c n wcd 3

3、fluent资源

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

正在运行更多的 CFD 模拟,网格尺寸越来越大,并且数据集正在远程存储。您必须拥有正确的工具来处理大型数据集、自动化工作流程和可视化参数结果。Tecplot 360 帮助您花更少的时间等待和更多的时间去发现。

4.1 Tecplot简介

使用 Tecplot 360 做出更好的决策:

  • 整合 XY、2D 和 3D 绘图,让它们看起来完全符合您的要求。
  • 用精美的图像和动画传达您的结果。
  • 使用 PyTecplot Python 脚本自动化无聊的工作。
  • 使用 Chorus 分析参数数据时不会错过任何结果。
  • 使用 SZL-Server 客户端-服务器安全访问大型远程数据。

使用 Tecplot 360 的好处:

  • 加载 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…


tecplot360打开fluent文件之后,显示三维结果。

  • (2)tecplot360菜单:Data -> Data Set Info…
    显示fluent结果的基本信息。
  • (3)tecplot360菜单:Data -> Spreadsheet…
    显示fluent的结果中节点信息。

5、ParaView

官网地址:
https://www.paraview.org/download/

5.1 安装ParaView

ParaView 是世界领先的开源后处理可视化引擎。它与您现有的工具和工作流集成,允许您构建可视化效果以快速分析数据。凭借其开放、灵活和直观的用户界面,您可以在 3D 模式下交互式分析超大型数据集,也可以使用 ParaView 的批处理以编程方式分析。

ParaView 设计为应用程序框架和交钥匙应用程序,经过编码,因此其所有组件都可以重用。开发人员可以快速创建具有特定问题域的特定功能的应用程序。在后台,ParaView使用可视化工具包(VTK)作为数据处理和渲染引擎,并具有使用Qt®编写的用户界面。

ParaView开发使用分布式的内存计算资源,能够实现对非常大的数据集的分析与处理。它可以在超级计算机上运行万亿次的数据集以及笔记本电脑更小的数据分析。

5.2 fluent导出结果文件

  • 1、fluent 2021R+读取case和data文件

  • 2、在File->Preferences…->General->Default Format for I/O中将CFF改为Legacy

  • 3、将fluent计算结果导出CGNS格式,并选择需要处理的物理量。

5.3 ParaView加载fluent结果文件

  • 4.打开paraview,导入第3步中修改的“.cgns”文件,进行操作。


ParaView是一个开源的,跨平台的数据处理和可视化程序。ParaView用户可以迅速的建立起可视化环境利用定量或者是定性的手段去分析数据。利用它的批量处理能力可以在三维空间内在工具栏和展示界面中进行交互操作,从而实现“数据完美展示”和进一步的“数据挖掘”。

6、PyFluent

6.1 PyFluent简介

Fluent 2022R2版本推出了pyFluent,这实际上是提供了一个利用python访问Fluent进程的工具,利用此工具可以实现利用python控制Fluent,可以实现在不启用Fluent GUI的情况下,完成参数设置、计算求解以及或数据结果输出的功能。(注:pyFluent只能在Fluent 2022R2版本及其后续版本下使用。

Ansys Fluent是一款最先进的计算流体动力学(CFD)软件包,用于模拟复杂几何结构中的流体流动、传热和化学反应。Fluent 提供完整的网格灵活性,包括使用非结构化网格解决流动问题的能力,这些网格可以相对轻松地围绕复杂几何体生成。支持的网格类型包括:

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

Fluent 还使您能够根据流动解决方案优化或粗化网格。您可以将网格读取到 Fluent 中,或者对于 3D 几何图形,可以使用 Fluent 的网格划分模式创建网格。所有其他操作都在 Fluent 的解决方案模式下执行,包括:

  • 设置边界条件
  • 定义流体属性
  • 执行解决方案
  • 细化网格
  • 运行参数化算例
  • 后处理和查看结果

PyFluent是PyAnsys生态系统的一部分,可让您在您选择的Python环境中与其他PyAnys库和外部Python库结合使用Fluent。

PyFluent 实现了客户端-服务器体系结构。它使用谷歌远程过程调用或gRPC接口来启动或连接正在运行的 Fluent 进程作为服务器。但是,您只需要与 Python 接口进行交互。

PyFluent 以编程方式创建、交互和控制 Fluent 会话,以创建您自己的自定义工作区。此外,您还可以使用 PyFluent 通过高度可配置的自定义脚本来提高工作效率。

PyFluent 提供对 Ansys Fluent 的 Pythonic 访问。它的功能支持在 Python 生态系统中无缝使用 Fluent 并广泛访问原生 Fluent 功能,包括:

  • 使用本地 Ansys 安装启动 Fluent
  • 对网格划分和求解器功能使用 Fluent 的 TUI(文本用户界面)命令
  • 使用 Fluent 的内置后处理功能

6.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 发行版后,第一步是创建并激活本地虚拟环境:

此时,您可以使用标准 PIP 过程安装三个 PyFluent API 包中的任何一个:

配置完环境并安装了 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

  • (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

6.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()

7、个人测试

7.1 解析.msh(Python)

此处省略一百字。。。

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

此处省略二百字。。。

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

此处省略三百字。。。


结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

文章出处登录后可见!

已经登录?立即刷新
退出移动版