吾生有涯 学海无涯
析模有界 知识无界

EDEM 2020与Fluent 2020R1耦合接口编译

Fluent已经升级到了2020R1,EDEM官方提供的耦合接口编译GUI中缺少对高版本Fluent的支持,而且对于Visual Studio的支持最高也只到2017版本。本机上安装的是Fluent 2020R1,EDEM 2020以及Visual Studio Community 2019,利用这个GUI程序是没法搞了。

▲ 原始程序界面

幸好这个GUI配套了相应的python代码。研究了一波其源代码,其中趟坑无数。比如说搞了半天发现这个GUI只是收集了三个软件的安装路径,再比如源代码中的问题(这个主要是Fluent的UDF函数随版本发生了改变所引起),最后发现这个GUI纯粹是鸡肋,就懒得搞了。

1 修改文件

编译接口只需要下面几个文件及文件夹(可通过文末下载链接下载):

▲ 文件结构

其中文件夹lib_edem_coupling/src文件夹中的locate_particles.c文件中的代码存在问题,需要进行修改。

▲ 文件位置
  • 修改locate_particles.c文件中的Pack_Injection函数
源文件内容:
Pack_Injection(I, &sndbuff, dpm_par.homogeneous_net, migrating);
修改为:
Pack_Injection(I, &sndbuff, migrating);

Pack_Injection函数在头文件dpm_parallel.h中定义,其原型为:

int  Pack_Injection(Injection *, char **, cxboolean);

声明中只有3个参数,源文件中给了4个参数,将第三个参数去掉。

  • 修改locate_particles.c文件中的Locate_Particle_List_Netwide函数
源文件内容:
Locate_Particle_List_Netwide(&pp, pl, &lost, urge_particles_into_domain, 0, FALSE)
修改为:
Locate_Particle_List_Netwide(&pp, pl, &lost, urge_particles_into_domain, 0)

Locate_Particle_List_Netwide函数在头文件cl_dpm.h中定义,其原型为:

int Locate_Particle_List_Netwide(Particle **, Particle **, Particle **, cxboolean, int);

该函数只有5个参数,源文件中给了6个参数,这里将最后一个参数FALSE去掉。

注:从Fluent源代码的函数声明中看不出来函数是如何定义的,这里只能靠猜了。

2 执行脚本

  • 启动Visual Studio 2019中的x64 Native Tools Command Prompt for VS 2019中编译
▲ 编译工具
  • 进入脚本路径,执行下面的命令
python Windows_coupling_compilation.py

注:本机上需要安装有Python,且能直接在命令行中运行python。

生成完毕后如下图所示。

▲ 编译完毕后的信息提示

3 编译其他版本

对于不同版本软件的修改,用记事本打开文件Windows_coupling_compilation.py,找到77~82行,如下图所示。

edem_version     = '2020';print("edem_version     = " + edem_version)
fluent_version = '2020R1'; print("fluent_version = " + fluent_version)
msvs_version = '2019_C'; print("msvs_version = " + msvs_version)
edem_install_dir = 'D:\Program Files\DEM Solutions\EDEM 2020'; print("edem_install_dir = " + edem_install_dir)
fluent_inc = 'C:\Program Files\ANSYS Inc\v201\fluent'; print("fluent_inc = " + fluent_inc)
msvs_install_dir = 'D:\Program Files\Microsoft Visual Studio\2019\Community'; print("msvs_install_dir = " + msvs_install_dir + "n")

修改edem、fluent、visual studio的软件版本及安装路径,如想要利用Visual Studio 2019 Community编译EDEM 2018、Fluent 2020R1,可以按下图所示修改。

edem_version     = '2018';print("edem_version     = " + edem_version)
fluent_version = '2020R1'; print("fluent_version = " + fluent_version)
msvs_version = '2019_C'; print("msvs_version = " + msvs_version)
edem_install_dir = 'C:\Program Files\DEM Solutions\EDEM 2018'; print("edem_install_dir = " + edem_install_dir)
fluent_inc = 'C:\Program Files\ANSYS Inc\v201\fluent'; print("fluent_inc = " + fluent_inc)
msvs_install_dir = 'D:\Program Files\Microsoft Visual Studio\2019\Community'; print("msvs_install_dir = " + msvs_install_dir + "n")

4 接口使用

将文件load_edem_coupling.jou及文件夹lib_edem_coupling拷贝到Fluent工作路径下,读入load_edem_coupling.jou即可加载耦合接口。测试案例:

未加流体耦合时的颗粒运动情况:

▲ 无耦合时颗粒运动

添加流体耦合后的颗粒运动情况:

▲ 考虑耦合作用时的颗粒运动

相关文件(接口文件及测试案例):

本篇文章来源于微信公众号: CFD之道

赞(3) 打赏
版权声明:未经允许,请勿随意用于商业用途。
文章名称:《EDEM 2020与Fluent 2020R1耦合接口编译》
文章链接:https://www.topcfd.cn/14313/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到

说两句 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者吧

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册