利用 PyAnsys 工具简化网格划分、设置、求解和后处理 - 所有这些都来自 Python 脚本。
挑战
Ansys Fluent 是一款值得信赖且功能强大的 CFD 求解器,因其高保真结果和灵活性而广泛应用于各行各业。随着时间的推移,用户开发了各种工作流程来满足他们的仿真需求,从快速设计研究到复杂的多阶段分析。这些工作流中的大多数都是围绕图形用户界面 (GUI) 构建的,该界面为预处理、求解和后处理任务提供了一个用户友好的交互式环境。
然而,随着仿真要求变得越来越苛刻(无论是由于更紧凑的设计周期、更高的模型复杂性,还是由于需要与外部数据源集成),工程师和组织都面临着自动化和简化其仿真工作流程的日益增长的需求。特别:
- 重复性任务会消耗宝贵的时间,并且容易出现人为错误。
- 对于大型项目或高吞吐量环境,基于 GUI 的流程可扩展性较差。
- 与外部数据或优化工具的集成仅通过 GUI 受到限制。
为了解决这些限制,Ansys 通过 Python 集成引入了一种更灵活的仿真控制方法。PyAnsys 是一套开源 Python 库,可通过 PyFluent 提供对各种 Ansys 工具(包括 Fluent)的编程访问。这种向可编写脚本、代码驱动的工作流的转变为更高效、可扩展的解决方案打开了大门。尽管如此,它还是带来了一系列挑战:
- 用户必须学习新工具并采用 Python 编程实践。
- 需要重新构建仿真流程以支持自动化。
- 团队可能需要在培训、文档和版本控制策略方面进行投资。
尽管存在这些障碍,但潜在的好处却是显著的:
- 提高了仿真之间的可重复性和一致性。
- 减少人工工作和人为错误。
与更广泛的工程和数据分析工作流程无缝集成。
PyAnsys 公司
PyAnsys 允许用户以 Python 方式与 Ansys 求解器交互,从而通过工作流脚本促进产品使用的自动化和简化。PyAnsys 包括多个存储库,例如 PyFluent,它有助于从任何 Python 环境中启动 Ansys Fluent 会话、与之交互和控制 Ansys Fluent 会话。这种集成对于开发后处理后端程序或将 Ansys 仿真与机器学习应用程序相结合等任务特别有用。
工程解决方案
PyFluent 是 PyAnsys 生态系统中的一项开源技术,可提供强大的 API 来与 Ansys Fluent 交互。它使用户能够自动执行重复性任务、构建自定义工作流,并使用 Python 创建完全可编写脚本的模拟环境。使用 PyFluent,可以通过编程方式控制整个仿真管道(从预处理和物理设置到求解和后处理)。
为了支持 Fluent 模拟的各个阶段,PyFluent 被组织成模块化组件:
- PyFluent-Core 的 Fluent-Core 中。访问网格划分、求解器和基本后处理 (链接)。
- PyFluent-Parametric 的访问 Ansys Fluent 的参数化工作流程功能(链接)。
- PyFluent-Visualization 的 Visualization 方法。它扩展了后处理和可视化功能 (link)。
这些模块共同使工程师能够灵活地编写整个 CFD 工作流程的脚本,将 Fluent 集成到更大的工程管道中,或将仿真与数据科学和机器学习工具链接起来。有关 PyFluent 的一些常见问题包括:
- Python 兼容性。PyFluent 支持 Python 3.7 及更高版本。
- Ansys 版本。它与 Windows 和 Linux 平台上的 Ansys Fluent 2022 R2 及更高版本兼容。
- IDE 支持。用户可以舒适地使用各种开发环境,例如 Visual Studio Code、Spyder 或 Jupyter Notebook。
安装
在使用 PyFluent 之前,您需要确保在系统上安装了 Python、必要的 PyFluent 模块和任何其他必需的 Python 库。 有两种主要方法可以安装 Python 并管理您的环境:
- 常规方法。您可以从 Python 官方网站手动安装 Python,然后使用安装所需的 PyFluent 包和依赖项。
pip
- Ansys Python 管理器。这是 Ansys 提供的更加用户友好的选项。它允许您安装 Python、创建和管理虚拟环境,并在这些环境中轻松安装 PyFluent 软件包。它简化了设置过程,特别是对于在 Ansys 生态系统 (Link) 中工作的用户。
方法
为了帮助用户入门,Ansys提供了各种示例应用程序,这些应用程序演示了如何通过Python脚本访问和控制Fluent的功能。这些示例涵盖了完整的仿真工作流程,展示了如何自动执行任务,例如导入几何结构、使用 Fluent 的网格划分工具生成网格、配置物理模型和边界条件、运行求解器以及通过 Fluent 的后处理功能查看结果。
通过探索这些示例,用户可以更好地了解如何构建自定义自动化脚本,根据特定需求定制仿真程序,以及将 Fluent 集成到更大的 Python 驱动型工程环境中。下图展示了 Ansys 提供的一些典型案例来说明这些可能性。
结果
为了更好地说明如何将PyFluent应用于实际仿真工作流程,我们现在将介绍Ansys提供的示例案例之一:Ahmed Body外部空气动力学仿真。
Ahmed Body 是一种著名的简化汽车模型,常用于空气动力学研究,用于评估流动分离并预测阻力和升力。其几何结构具有钝的前表面和倾斜的后表面,使其成为研究汽车应用中外部流动行为的基准案例。
在此示例中,PyFluent API 用于执行 Ahmed 体的完整模拟,涵盖完整的 CFD 工作流程,包括:
- 导入几何图形/CAD 模型
- 对几何图形进行网格划分
- 设置求解器
- 运行求解器
- 对结果进行后处理
我们邀请读者探索此示例如何使用 PyFluent 处理模拟的初始阶段,即几何图形导入和网格生成。这些步骤演示了如何以编程方式将 Ahmed 体的 CAD 模型加载到工作流程中,以及如何通过 Python 脚本控制 Fluent 的内置网格划分功能。但是,出于本博客的目的,我们将重点介绍设置和后处理阶段。
求解器设置和求解工作流
定义常量
定义材质
定义边界条件
定义引用值
定义求解器设置
定义报表定义
初始化并运行求解器
后处理工作流程
仿真结果可视化
保存案例文件并关闭会话
Ansys 解决方案的优势
CFD 建模展示了其通过 Ansys 高级解决方案优化和评估水力结构的潜力。在预处理方面,Ansys SpaceClaim 和 Discovery Modeling 可促进 CAD 的创建和准备,而 Ansys Fluent 和 CFX 可应对各种仿真挑战。Ansys Ensight 等高保真后处理工具可有效分析和可视化大型数据集。
此外,CFD 结果可以与流固耦合 (FSI) 场景中的结构分析集成,由 Ansys Mechanical 和 LS-Dyna 提供支持。Workbench 平台中的 DesignXplorer 和 Ansys OptiSlang 促进了实验设计 (DOE) 和高级优化等技术。Ansys 还提供 HPC 许可证和 GPU 功能,用于复杂模型的并行处理,确保全面评估。