首页 > 解决方案 > 在 Linux 中使用 python 参数化 Ansys Fluent

问题描述

我正在尝试通过 python 流畅地在 Ansys 中进行参数研究。这个想法是在将一些参数作为边界条件和初始条件输入之前计算一些参数。

我进行了广泛搜索,但无法找到任何相关信息......也许我没有寻找好的关键字。

或者是否有相当于 ANSYS 参数化设计语言 (APDL) 的 fluent ?我只能找到有关机械的信息。

有没有人可以指导我朝着好的方向或去寻找更多信息的地方。

PS 我在 CFD-online、ansys 站点或堆栈溢出中找不到任何信息。

标签: pythonfluentansys

解决方案


因此,在全球互联网上进行了长时间的搜索后,我发现了如何做到这一点。有两种主要形式:

  • 通过 Ansys Workbench
  • 直接进入 Ansys Fluent

Ansys 工作台


直接使用脚本,我没有使用这种方法,因此这是我在没有尝试或测试的情况下理解的。您可以使用以下 bash 命令以批处理模式运行工作台:

runwb2 -B -R "path/script.py"

where-B代表批处理模式并-R执行指定的脚本。

可以在此处找到示例和说明:Fluent 和 ParaVIEW 中的脚本 CFD 模拟和后处理

Ansys Fluent


TL;DR : 使用 Journals 和 python 修改日志,然后通过 python 流畅运行。

首先,必须使用流畅的 GUI 准备模拟。您需要修复所有非可变参数以及定义监视器。您将所有这些信息保存到案例文件中。

完成后,您必须使用命令创建一个模板来初始化计算。最简单的方法是在网上搜索并在流利的TUI中尝试所有内容。一旦一切都得到验证,你创建一个模板(最简单的方法是使用jinja2

最后,对参数进行简单循环以使用以下带有 python 的 bash 命令进行测试可以发挥作用:

# Running fluent
bashCommand = "fluent 3ddp -i "+ journal_output + " >& outputfile &"
process = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE)
output, error = process.communicate()

它工作得非常好,一旦你习惯了 Fluent 命令,它就很容易了!


推荐阅读