关于PyFluent的一些常见问题。
PyAnsys是一套开源技术集 合,支持通过Python与Ansys Fluent、Mechanical APDL、AEDT及其他Ansys产品进行交互。用户可在任意Python环境中,结合外部Python库使用PyAnsys系列工具库。
PyFluent 为 Ansys Fluent 提供了 Python 访问接口,其特性实现了 Fluent 与 Python 生态系统的无缝衔接,并全面支持原生 Fluent 功能,例如:
PyFluent 随 Fluent 安装包捆绑发布,也可单独下载安装。PyFluent 不提供图形用户界面(GUI),需通过 Python 环境进行交互操作。
PyFluent在概念上更贴近Fluent的文本用户界面(TUI)控制台命令与日志记录功能,而非用户自定义函数(UDF)。其主要用途在于实现流程自动化,而非改变求解器的行为。
UDF采用C语言编写,至今仍是Fluent仿真中的关键组成部分。尽管无法使用Python编写UDF,但可通过PyFluent命令对其进行编译与加载,操作方式与TUI命令相似。
PyFluent的户群体包括工程师、产品设计师、咨询顾问及科研人员。
通过PyFluent可实现以下功能:
虽然[Installation]提供了ansys-fluent-core
包的快速安装说明,以下步骤将详细说明如何在Python虚拟环境中安装完整的PyFluent套件:
若尚未安装Python,需先完成安装
安装Fluent 2022 R2或更高版本
设置环境变量以指向Ansys的安装目录。例如,对于Ansys 2022 R2,需将AWP_ROOT222
环境变量设置为C:\Program Files\ANSYS Inc\v222
Linux系统需手动配置该变量,Windows系统通常会自动完成设置
在命令行窗口中执行以下命令,创建并激活本地Python虚拟环境:
# Set up a local virtual environment
python -m venv venv
# Activate the virtual environment on Windows
venv\Scripts\activate
# Activate the virtual environment on Linux (csh)
source venv/bin/activate.csh
# Activate the virtual environment on Linux (bash)
. venv/bin/activate
命令窗口中,使用Python包安装工具pip
安装PyFluent软件包:
python -m pip install ansys-fluent-core # Use Fluent’s core capabilities (mesh, solve, postprocess)
python -m pip install ansys-fluent-parametric # Use Fluent’s parametric capabilities (optional)
python -m pip install ansys-fluent-visualization # Use Fluent's postprocessing capabilities with pyvista and matplotlib (optional)
PyFluent 支持运行在 Windows 和 Linux 系统上运行 的Python 3.10 至 3.12 版本环境中。Ansys 2023 R2 及后续版本内置了 Python 3.10 环境。例如,在 2025 R2 的 Windows 版本中,Python 3.10 的可执行文件通常位于:C:\Program Files\ANSYS Inc\v252\commonfiles\CPython\3_10\winx64\Release\python.exe
。若使用 Ansys 内置的 Python 环境,建议在 Python 虚拟环境中安装 PyFluent,以避免与 Ansys 自带的 Python 包发生冲突。
也可从 Python 官网直接下载任意兼容版本。无论选择何种安装方式,均建议以管理员身份运行 Python 安装程序,并在首个向导页面勾选Add Python 3.10 to PATH选项。安装完成时,若系统中存在长路径文件,应根据提示解除路径长度限制。
所有PyAnsys公共库均托管于GitHub(仓库地址:https://github.com/ansys/pyfluent)。Repositories页面展示了可搜索的代码库数量,例如输入pyfluent即可查找所有与PyFluent相关的库。
PyAnsys GitHub账户的README.md
文件列出了全部公共库,其中包含指向各库文档的链接。这些文档除提供常规使用说明外,还涵盖大量实用案例。
可以使用以下代码通过PyFluent命令启动Fluent:
import ansys.fluent.core as pyfluent
session=pyfluent.launch_fluent()
以下示例展示如何启动双精度Fluent会话(使用两个处理器)并启用用户界面:
session=pyfluent.launch_fluent(precision=pyfluent.Precision.DOUBLE, processor_count=2, ui_mode="gui")
PyFluent 按以下优先级顺序推断 Fluent 的位置:
launch_fluent()
函数的 product_version
参数值AWP_ROOT<ver>
环境变量(其中 <ver>
代表版本号,例如 2025 R1 版本对应 251
)。PyFluent 自动利用该变量定位最新安装的版本。在 Linux 系统中,需将 AWP_ROOT<ver>
配置为 Ansys 的绝对路径(如 /apps/ansys_inc/v251
)。在程序中使用以下代码可以禁用控制台显示的警告信息。
import ansys.fluent.core as pyfluent
pyfluent.set_console_logging_level("ERROR") # Disable all warning logs
pyfluent.warning.disable() # Disable all warning messages
根据个人学习偏好,可采用以下任意或全部方法掌握PyFluent的使用:
查阅文档中的示例,先研读Examples部分提供的案例,再学习Examples章节中PyFluent-Parametric与PyFluent-Visusalization指南中的案例。
录制Fluent操作日志并查看对应的Python脚本。
注:在Fluent 2022 R2版本中,可通过录制Fluent网格划分操作生成Scheme脚本。该脚本内嵌了与每个网格工作流操作对应的Python语句,提取后可直接用于PyFluent环境。
”
以下是Fluent录制的Python命令:
(%py-exec "workflow.TaskObject['Describe Geometry and Flow'].Arguments.setState({r'AddEnclosure': r'No',r'CloseCaps': r'Yes',r'FlowType': r'Internal flow through the object',})")
其对应的PyFluent语法手动转换命令为:
session.meshing.workflow.TaskObject['Describe Geometry and Flow'].Arguments.setState(({r'AddEnclosure': r'No',r'CloseCaps': r'Yes',r'FlowType': r'Internal flow through the object’,})
利用以下功能编写脚本:
dir(<object>)
或help(<object>)
。默认情况下,JupyterLab会忽略PyFluent提供的静态类型信息,转而依赖API的动态查询实现代码补全。由于动态查询通常需要通过gRPC调用Fluent服务器,响应较慢且容易超时。若希望基于PyFluent的静态类型信息获得更快速的代码补全体验,可在JupyterLab环境中安装jupyterlab-lsp
扩展及Python语言服务器(如python-lsp-server)。
PyFluent 库是开源的,有关问题、错误报告和功能请求的支持可通过其各自的 GitHub 仓库获取。
注:本文基于PyFluent 0.34版本文档。
”
(完)