首页/文章/ 详情

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

1年前浏览2631

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粉丝 210文章 311课程 2
            点赞
            收藏
            未登录
            还没有评论
            课程
            培训
            服务
            行家
            VIP会员 学习 福利任务 兑换礼品
            下载APP
            联系我们
            帮助与反馈