python - 在 Linux 中使用 python 参数化 Ansys Fluent
问题描述
我正在尝试通过 python 流畅地在 Ansys 中进行参数研究。这个想法是在将一些参数作为边界条件和初始条件输入之前计算一些参数。
我进行了广泛搜索,但无法找到任何相关信息......也许我没有寻找好的关键字。
或者是否有相当于 ANSYS 参数化设计语言 (APDL) 的 fluent ?我只能找到有关机械的信息。
有没有人可以指导我朝着好的方向或去寻找更多信息的地方。
PS 我在 CFD-online、ansys 站点或堆栈溢出中找不到任何信息。
解决方案
因此,在全球互联网上进行了长时间的搜索后,我发现了如何做到这一点。有两种主要形式:
- 通过 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 命令,它就很容易了!
推荐阅读
- angular - 比多个 ngIf 更好的方法
- swift - scnScene.write 不将场景写入 .scn 文件
- java - maven 部署文件丢失/无效文件和/或 url
- postgresql - 使用来自 VALUES 表达式的输入更新列,而无需显式类型转换
- asp.net-core - 在 Xss 攻击中抛出异常
- arrays - 如何创建一个循环来为类实例数组的每个特征随机分配值
- python - 如何根据主文档 id 匹配 mongodb 子数组?
- mysql - Mysql Select Before Time on date specified date
- java - 发送服务器最大整数
- python - ubuntu 14.04 pyenv 安装失败