使用 Fidelity Python API 提高您的 CFD 工作流程生产力 – 第 II 部分
准备好将您的 CFD 工作流程提升到新的水平!
在本博客系列中,我们将深入探讨 Fidelity 的自动化和 Python 脚本世界。在第 1 部分中,我们讨论了为什么 Python 是 CFD 工作流程的首选语言,并向您展示了使用 API 执行 Python 脚本的三种方法。今天,我们将进一步向您介绍为 Fidelity 编写 Python 脚本的内幕。我们将涵盖从 API 描述和不同的包集到访问几何树中的实体的所有内容,帮助您成为使用 Fidelity Python API 编写脚本的专家!
如何为 Fidelity 编写 Python 脚本
包和模块
Fidelity Python API 依赖于一组包,下面列出了主要包,完整列表如右图所示。一个包由各种模块作为文件组成,并且根据脚本要求选择适当的模块。
项目:项目管理
几何: CAD 输入和操作
域:域操作
网格划分:网格设置、生成和分析
模拟:模拟设置和运行
分析:模拟的后处理
功能
每个包或模块都有一个可以执行的操作列表,称为函数。例如,“project”包含几个用于创建、打开或保存项目的功能。这些函数的列表如下所示:
要在编写脚本时访问这些函数,应在脚本开头调用该模块:
要从模块调用函数,语法为 module.function(arguments)。例子:
访问几何树中的实体
导入几何文件后,将创建层次树。存在三种主要类型的实体:
曲面:构成几何体的低级 CAD 或 .stl 曲面
边界:包含边界条件概念的表面分组
组件:对应于其他组件或边界的容器(见下文)
典型的树结构可能如下所示:
由于几何层次结构可能包含许多级别,因此使用紧凑的符号来访问树中的特定实体很方便。为此,可以使用复合名称。实体的复合名称基本上是其父程序集和边界+实体名称的串联,用“|”分隔。特点。
Assembly1|SubAssembly1|Boundary1:允许访问树中的实体“Boundary1”
Assembly1|SubAssembly1|Boundary2|SurfaceX:允许访问树中的曲面“SurfaceX”
下面的示例显示了如何定义“边界 1”的统一细化:
从我们的资源和产品中受益
Fidelity 脚本的 Cadence HTML 文档界面包括所有宏、类和模块的列表。它还包括分步教程,涵盖使用 Python 脚本实现 3 个示例案例的完整 CFD 工作流程 - 水冷套中的蜗壳、进气歧管和共轭传热 (CHT)。我们希望我们的教程能够提供有关 CFD 工作流程自动化的见解!
带有 Sphinx 文档(左)和 Doxygen 文档(右)的用户界面。
当前的 HTML 文档从代码中的注释中提取信息。即将发布的 Python API 文档 2023.1 预计将具有更高的可读性和不同模块的导航性。脚本将发布在 COS 平台上,以方便用户使用。例如,可以使用基于选定几何体自动创建网格设置的脚本,如下所示。除了所有这些产品之外,Cadence 还提供针对 Fidelity 脚本编写的 Python 和自动化培训。
用于使用 Hexpress 创建域和网格设置的现成脚本。
文章来源:cadence博客