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之道
评论前必须登录!
注册