首页/文章/ 详情

Python与Fluent联合仿真设置

7月前浏览14938

本文摘要(由AI生成):

本文介绍了使用Python实现与ANSYS的联合仿真的方法,其中详细阐述了fluent_corba模块的使用。该模块支持ANSYS Fluent 15.0以上版本的CORBA连接,并提供Python支持,可创建fluent服务器会话,向服务器端实时发送TUI命令和Scheme脚本,并自动执行和返回运行结果。文章还提供了fluent_corba模块的安装和使用方法,以及示例代码,方便读者快速上手。最后,文章总结了使用fluent_corba模块的优势,包括快速集成科学计算、可视化、人工智能等领域的相关模块,实现对Fluent软件的联合仿真和高度定制化的二次开发。


在前期更新中给大家分享过《MATLAB与ANSYS联合仿真设置》,之后就一直有朋友问:人生苦短,能否使用Python实现与ANSYS的联合仿真呢?

这个当然没问题!本质上两者都是基于CORBA接口实现联合仿真。而且作为当今最热的编程语言之一的Python,是完全支持CORBA接口的访问。今天我们就来详细聊一聊这个话题。

首先给大家分享两个造好的,基于Python访问ANSYS的CORBA接口的轮子(Wheel):

一个是akaszynski开发的ansys_corba模块(详情去Github项目页查看),可用于访问MAPDL的CORBA接口;

另一个是小田老师开发的fluent_corba模块,用于访问fluent的CORBA接口,作为后续开发pyfluent的基础模块。
下面我来给大家详细介绍一下:如何使用fluent_corba模块实现fluent联合仿真。

(1)fluent_corba概述

本模块提供对ANSYS Fluent15.0以上版本的CORBA连接的Python支持,使用本模块包可以创建fluent服务器会话,向服务器端实时发送TUI命令和Scheme脚本,并自动执行和返回运行结果。


模块参考ANSYS Fluent提供的帮助文档:《Fluent as a Server User’s Guide》(见附件),并使用来自于omniORB和omniORBPy的编译器和接口文件,遵循MIT License许可。

(2)安装使用

提供预编译的二进制库(whl)安装方式,目前只支持windows x64平台的Python3.7、3.8版本,下载链接见文末。

安装前需去Python官网下载3.7或3.8的版本安装包,并配置系统环境:添加安装目录到Path路径下,然后在模块包所在目录下打开CMD窗口,根据Python版本不同,使用如下不同命令安装:

# python 3.7 版本

pip  install fluent_corba-0.2.0-cp37-none-win_amd64.whl

# python 3.8 版本

pip install fluent_corba-0.2.0-cp38-none-win_amd64.whl

(3)使用方法

通过以-aas的批处理方式启动fluent,然后读取工作目录下aas_FluentId.txt文件中的IOR密钥,创建CORBA对象实例并连接到服务器会话,然后发送TUI命令或者Scheme脚本。详细的代码参考如下:


例如,上述代码中,我们使用CORBA接口向Fluent发送了TUI命令:/mesh/check,执行完成后可以得到网格检查结果,如下所示:


同样,在仿真后处理中,使用fluent_corba模块能带来极大的便利,例如我们可以执行TUI命令,获得所有出口的流量计算的输出结果,最后用Python去解析结果,如下:


(4)总结

Python具备丰富的开源社区和模块,使用fluent_corba模块提供的接口,能快速去集成科学计算、可视化、人工智能等领域的相关模块,实现对Fluent软件的联合仿真和高度定制化的二次开发。
FluentWorkbench流体基础通用
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2020-09-04
最近编辑:7月前
小田老师
硕士 | 仿真工程师 欢迎关注ANSYS仿真与开发!
获赞 650粉丝 3785文章 62课程 4
点赞
收藏
作者推荐
未登录
14条评论
仿真秀0407062650
签名征集中
1年前
fluent corba
回复
仿真秀1121173913
签名征集中
3年前
老师,我跑了以后报这个错:ImportError: DLL load failed while importing _omnipy: 找不到指定的模块。这个_omnipy库我也找了好久没找到哪里有
回复 1条回复
Kkk
签名征集中
3年前
老师好,保存完文件后退出fluent出错,我这样写的scheme.doMenuCommand("/exit"),错误是traceback(most recent call last),不知道为啥不对
回复
岸边蒹葭
签名征集中
3年前
小田老师,您好,麻烦您一会,我用Popen启动fluent时,fluent界面闪退,请问这是什么原因造成的呢?
回复 2条回复
眨右眼
签名征集中
3年前
老师怎么设置核数呀!
回复
眨右眼
签名征集中
3年前
小田老师好,我想问一下怎么用这种方式使用udf呀!
回复 1条回复
观海听涛
淡泊明志,宁静致远
3年前
学习了
回复
观海听涛
淡泊明志,宁静致远
3年前
仿真分析是一个强有力的计算工具,学习了
回复
眨右眼
签名征集中
3年前
老师,初始化怎么整呀!
回复
眨右眼
签名征集中
3年前
小田老师,17行报错,我显示目录名称无效
回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈