首页/文章/ 详情

PyFluent入门之旅(1)介绍及安装

1年前浏览2652

ANSYS作为商业仿真的龙头,旗下多款产品开放了接口并支持通过Python进行调用、参数化等功能,这样就诞生了Python + Ansys = PyAnsys。

PyAnsys项目有以下产品支持:

  • PyAEDT:AEDT 的Python接口 。

  • PyDPF-Core:DPF(数据处理框架)的Python接口,用于构建更高级和自定义的工作流程 。

  • PyDPF-Post:DPF后处理工具箱的python接口,用于操作和转换模拟数据。

  • PyMAPDL:MAPDL 的Python接口 PyMAPDL Reader:用于读取旧版 MAPDL 结果文件(MAPDL 14.5 及更高版本)的Python接口 PyFluent:Ansys Fluent 的Python接口 。

  • PyFluent-Parametric:Ansys Fluent参数化工作流的python接口。

  • PyFluent-Visualization:使用 Python 可视化 Ansys Fluent 仿真的 Pythonic 界面 。

  • PyPIM:与 PIM(产品实例管理)API 通信的 Pythonic 接口。




01


PyFluent介绍


由于Fluent是Ansys的主打产品,在CFD,传热等领域应用十分广泛,因此在其基础上发展的PyFluent十分值得我们去研究。

PyFluent目前支持的主要功能有:

  • 使用python以串行或并行方式启动 Fluent 求解器并连接到已运行的 Fluent 会话。

  • 编写脚本使用Fluent Meshing进行网格划分

  • 支持在python中使用fluent的TUI命令,方便进行脚本编写。

  • 异步运行多个 Fluent 算例

  • 使用标准 Python 包(如 matplotlib)将 Fluent 字段数据检索为 numpy 数组以进行自定义后处理。

  • 在Fluent求解器的事件上实现注册函数回调。

  • 检索求解器监视器,例如残差。


02


安装


PyFluent的安装条件:

  1. Python版本支持范围3.7-3.10。

  2. Fluent版本需在2022R2及以上。


使用pip进行安装,网络较慢的可以使用第二行的第三方源



pip install ansys-fluent-corepip install --index-url https://pypi.tuna.tsinghua.edu.cn/simple/ ansys-fluent-core

同时还可以一起安装PyFluent-Parametric和PyFluent-Visualization





pip install ansys-fluent-parametricpip install --index-url https://pypi.tuna.tsinghua.edu.cn/simple/ ansys-fluent-parametricpip install ansys-fluent-visualizationpip install --index-url https://pypi.tuna.tsinghua.edu.cn/simple/ ansys-fluent-visualization


需要注意的是,在windows系统上,pyfluent通过环境变量AWP_ROOT来定位Fluent的安装路径并调用,因此需要保证该系统变量的配置。


AWP_ROOT后的‘222’代表Ansys版本为2022R2,由于目前仅支持2022R2,如果计算机上装有多个版本的Fluent,请只保留AWP_ROOT222这一个。



03


第一行代码


准备工作完成后我们可以简单尝试以下PyFluent的功能。

首先进行调用


import ansys.fluent.core as pyfluent

接着我们试着使用PyFluent打开Fluent的求解器界面


session = pyfluent.launch_fluent(precision="double", processor_count=4, show_gui=True, mode="solver")

这里使用到了launch_fluent函数,配置如下所示,由于我们需要打开Fluent的Gui界面,因此要保证show_gui为True。



















launch_fluent(version: Optional[str] = None,                  precision: Optional[str] = None,                  processor_count: Optional[int] = None,                  journal_filename: Optional[str] = None,                  start_timeout: int = 100,                  additional_arguments: str = "",                  env: Optional[Dict[str, Any]] = None,                  start_instance: Optional[bool] = None,                  ip: Optional[str] = None,                  port: Optional[int] = None,                  cleanup_on_exit: bool = True,                  start_transcript: bool = True,                  show_gui: Optional[bool] = None,                  case_filepath: Optional[str] = None,                  meshing_mode: Optional[bool] = None,                  mode: Union[LaunchModes, str, None] = None,                  server_info_filepath: Optional[str] = None,                  password: Optional[str] = None) -> Union[_BaseSession, Session]


运行效果如下




来源:易木木响叮当
MeshingFluentpython通信ANSYS
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-06-02
最近编辑:1年前
易木木响叮当
硕士 有限元爱好者
获赞 205粉丝 215文章 320课程 2
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈