首页 > 编程语言 >ANSYS二次开发:Python解析ansys fluent结果文件

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

时间:2022-12-13 20:31:15浏览次数:73  
标签:Fluent 文件 Python 网格 fluent cas 使用 二次开发


文章目录

  • ​​1、简介​​
  • ​​2、fluent文件格式​​
  • ​​2.1 常见格式​​
  • ​​2.2 结果格式​​
  • ​​3、tecplot解析​​
  • ​​4、pyfluent解析​​
  • ​​4.1 安装​​
  • ​​4.2 示例​​
  • ​​5、其他​​
  • ​​5.1 fluent在线资源​​
  • ​​5.2 fluent和matlab​​
  • ​​结语​​

1、简介

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

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

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


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,您可以在可自定义的直观空间中创建高级物理模型并分析各种流体现象。

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

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

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

  • (2)Ansys Fluent的公开接口
    使用 PyFluent(通过 Python 对 Fluent 的开源访问)实现流程自动化、构建自定义工作流程、制作自定义解决方案等。
  • ANSYS二次开发:Python解析ansys fluent结果文件_fluent_04

  • (3)从生产到消费的氢气模拟
    使用新的质子交换膜 (PEM) 模型 (BETA) 精确模拟通过电解生成的绿色氢气,并使用经过验证的氢气和氢气混合物燃烧模型模拟氢气消耗。
  • ANSYS二次开发:Python解析ansys fluent结果文件_pyansys_05

  • (4)高效结构化网格划分
    使用 Fluent 水密几何工作流程中的新多区域功能高效生成结构化网格。多区域操作还包括扫描网格、分离区域和分割圆柱体。
  • ANSYS二次开发:Python解析ansys fluent结果文件_python_06

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

  • (6)准确的电池膨胀
    通过耦合 Fluent 的电池和固有流固耦合 (FSI) 模型,准确预测充电期间由于电化学、压力和膨胀相关材料特性而导致的电池膨胀。
  • ANSYS二次开发:Python解析ansys fluent结果文件_pyfluent_08

2、fluent文件格式

2.1 常见格式

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


使用ANSYS Fluent时,会涉及多种类型的文件:

  • ANSYS Fluent输入的文件类型包括grid、case、data、profile、 Scheme以及 journal文件
  • ANSYS Fluent输出的文件类型包括 case、data、 profile、 journal以及 transcript等。
  • ANSYS Fluent还可以保存当前窗口的布局以及保存图形窗口的副本。

ANSYS Fluent用到的主要文件类型:

  • grid(网格文件),.msh,记录网格数据信息。
  • case(项目文件),.cas,记录物理数据、区域定义、网格信息。
  • data(数据文件),.dat,记录每个网格数据信息,以及收敛的历史记录(残差值)。
  • profile(边界信总文件),用户指定扩展名,用于指定边界区域上的流动条件。
  • journal(日志文件),用户指定扩展名,记录用户输入过的各类命令。
  • transcript(副本文件),用户指定扩展名,记录全部输入及输出信息。
  • HardCopy(硬拷贝文件),扩展名取决于输出格式, 将图形窗口中的内容副本输出为JPEG、 TIFF、- Postscript等格式文件。
  • Export(输出文件),扩展名取决于输出格式, 将计算数据输出为AVS、FAST、FIELDVIEW、EnSight 等软件可读入格式文件。
  • Interpolart(转接文件),用户指定扩展名,用于两种网格方案之间的数据交换文件。
  • Scheme(源文件),.scm,用 Scheme语言编写的源程序文件。
  • 配置文件,.Fluent,记录对Fluent进行定制和控制的文件。

2.2 结果格式

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


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结果文件_pyfluent_11


meshing模式下只能保存 msh网格文件,不能保存cas模型设置文件;solution模式下只能保存cas模型文件,不能保存msh网格文件。点击File -> Preference… -> Default Format for I/O -> legacy" 把CFF改成legacy即可。以后保存就默认.cas和.dat了。

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


使用tui命令修改保存方式(.cas.h5 to .cas):

f c n wcd 3

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

3、tecplot解析

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

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

使用 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 图。
  • 使用视频播放器样式的控件制作动画并逐步完成瞬态解决方案。
  • 使用交互式切片、等值面和流跟踪工具进行探索。
  • 自动提取涡核、冲击面等关键流动特征。

目前新版的fluent默认保存为.cas.h5文件,这个文件的优势是在于可以减小文件本身所占用的大小,新版tecplot支持。

-(1)tecplot360菜单:File -> Load Data…

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

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


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

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

  • (2)tecplot360菜单:Data -> Data Set Info…
    显示fluent结果的基本信息。
  • ANSYS二次开发:Python解析ansys fluent结果文件_tecplot_18


  • (3)tecplot360菜单:Data -> Spreadsheet…
    显示fluent的结果中节点信息。
  • ANSYS二次开发:Python解析ansys fluent结果文件_pyfluent_19


4、pyfluent解析

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

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 的内置后处理功能

4.1 安装

pyFluent的安装及文档编译过程。
pyFluent只能在Fluent 2022R2版本及其后续版本下使用。

官网地址:
​https://github.com/pyansys/pyfluent​

安装受支持的 Python 发行版后,第一步是创建并激活本地虚拟环境:

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


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

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


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

4.2 示例

  • (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()
5、其他

5.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​

5.2 fluent和matlab

  • 汇总了部分网友的解决方法如下:

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

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


结语

​如果您觉得该方法或代码有一点点用处,可以给作者点个赞​

​​​如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;​​​o_O???
​​​如果您需要相关功能的代码定制化开发,可以留言私信作者;​​​(✿◡‿◡)
​​​感谢各位大佬童鞋们的支持!​​( ´ ▽´ )ノ ( ´ ▽´)っ!!!




标签:Fluent,文件,Python,网格,fluent,cas,使用,二次开发
From: https://blog.51cto.com/fish/5935064

相关文章

  • python之路48 django 视图层、模板层
    视图层之必会三板斧用来处理请求的视图函数都必须返回HttpResponse对象完全正确classHttpResponse:passreturnHttpResponse()defrender():returnH......
  • Python 缩进语法的起源:上世纪 60-70 年代的大胆创意!
    上个月,Python之父GuidovanRossum在推特上转发了一篇文章《TheOriginsofPython》,引起了我的强烈兴趣。众所周知,Guido在1989年圣诞节期间开始创造Python,当时他......
  • python循环
    python学习1.for循环range()函数foriinrange(1,10):print(i)#输出为123456789该函数还可以制定步长如:foriinrange(1,10,2)即为以2为步长,在1到......
  • Python学习-环境配置以及手动打包exe文件
    1Python安装去pyhton官网下载需要的python安装包2Python环境配置这部分网上教程很多,直接放图了命令行输入python,出现如上信息证明环境配置成功注意:python3安装是......
  • [oeasy]python0029_放入系统路径_PATH_chmod_程序路径_执行原理
    ​ 放入路径回忆上次内容上次总算可以把sleep.py直接执行了sleep.py文件头部要声明好打开方式#!/usr/bin/python3用的是python3解释sleep.py修改......
  • Python dict 高阶特性
    特性(基于Python3.4流畅的Python部分可能不适用最新版本)键必须可散列字典和集合实现的背后是散列。散列最小单元是表元。内存开销巨大相比列表将占用大量内存。典型的......
  • Python工具箱系列(二十)
    数据库操作应是所有合格程序员的基本功,写的一手好SQL对于数据分析师而言更是安身立命之本。大部分软件开发人员使用的数据库都是MySql/MariaDB,毕竟LAMP(linux+apache+mysql+p......
  • python3.9 在ubuntu上编译安装失败解决
    https://cloud.tencent.com/developer/article/1740752下载#下载源码包至`opt`目录wget-c-P/opthttps://www.python.org/ftp/python/3.8.0/Python-3.8.0.tar.xz#......
  • 献芹奏曝-Python面试题-算法-滑动窗口篇
    上一篇:献芹奏曝-Python面试题    开篇的话:本文目的是收集和归纳力扣上的算法题,希望用python语言,竭我所能做到思路最清奇、代码最简洁、方法最广泛、性能最高效,了解......
  • 献芹奏曝-Python面试题-算法-数学篇
    上一篇:献芹奏曝-Python面试题    开篇的话:本文目的是收集和归纳力扣上的算法题,希望用python语言,竭我所能做到思路最清奇、代码最简洁、方法最广泛、性能最高效,了解......