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

编译EDEM2018+Fluent19.0耦合接口

EDEM推出了新的版本2018,Fluent也推出了新的版本19.0,因此它们之间的耦合代码需要重新编译。

耦合源代码包含内容如下图所示。

路径下有一个批处理文件Windows_coupling_compilation.cmd,打开文件看一看。

该批处理文件结构很简单,包含两部分内容:

  • 设置环境变量。主要通过tools文件夹下两个批处理文件set_edem_env_vars.cmdtoolsset_fluent_env_vars.cmd,其中前者设置EDEM环境变量,后者设置Fluent相关环境变量。

  • 调用tools文件夹下

compile_lib_edem_coupling.py进行编译

1

环境变量设置

1.1 EDEM环境变量

用文本编辑器打开set_edem_env_vars.cmd,其中内容如下图所示。

其中第6行如下图所示,可以看到官方提供源代码中包含的EDEM版本包含2.6, 2.7, 2017.0, 2017.1, 2017.2,并不包含2018。

这里直接添加2018.

1.2 Fluent环境变量

用文本文件打开set_fluent_env_vars.cmd,该批处理文件用于设置Fluent相关的环境变量。

文件第6行输入Fluent版本,如下图所示,并无19.0版本。

直接添加Fluent19.0版本。

实际上可以直接通过环境变量来解决问题。

2 编译代码
  • 启动VS2015 x64本机工具命令提示符(安装了VS2015之后就有)

  • 利用cd命令切换到edem_coupling_build路径下(我这里是D:edem_coupling_build),运行命令Windows_coupling_compilation.cmd

按提示输入信息。

情况不妙,貌似出了错误。错误提示如下图所示。

提示找不到文件IEDEMCouplingV2_3_0.h。按道理来讲,该文件应该存在于EDEM安装目录下D:Program FilesDEM SolutionsEDEM 2018srcApiCoupling中,不过打开该文件夹,如下图所示。

其中并没有IEDEMCouplingV2_3_0.h,只有一个IEDEMCoupling.h,因此需要修改。搜索编译文件夹中包含IEDEMCouplingV2_3_0.h的文件,搜索结果如下图所示。

  • 打开文件CAdaptorQuaternion.cpp,如下图所示,在第21行包含了该头文件。

修改此头文件,如下图所示。

  • 打开文件AdaptorInterface.cpp,同样的方式进行修改。修改完毕后如图所示。

重新编译试试。这下obj文件编译成功。在D:edem_coupling_buildedem_cfd_adaptor_buildwin64下多处了5个obj文件。

然而编译并没有完成。在D:edem_coupling_buildlib_edem_coupling文件夹下并没有编译形成的win64文件夹。

尝试运行命令python toolscompile_lib_edem_coupling.py,该命令用于编译UDF。

注意:

文件编译需要利用到Python,关于Python的配置过程,可自行百度。确保在命令行中输入python可以启动python解释器。

结果出来如图所示的信息。

这什么鬼,刚才明明添加了2018了呀。别急,打开tools文件夹下文件compile_lib_edem_coupling.py,定位到下图所示的192行位置,可以看到缺少2018版本信息,这里将其添加上。

这类文件存在与D:Program FilesDEM SolutionsEDEM 2018lib,可以看到EDEM2018应该添加信息EDEMCouplingClient4.lib。添加信息后的结果如下图所示。

  • 重新运行命令python toolscompile_lib_edem_coupling.py,结果又出错了。

一个函数错误,在文件D:edem_coupling_buildlib_edem_couplingsrccompute_particle_forces.c的第44行与第127行中的init_tracked_particle函数有问题。打开看一看。

看第44行,这什么鬼,相同的函数,这一行的参数数量居然比上下两个参数多了一个。(表示程序猿可以拿来祭天了)。不放心的话,还是看一看init_tracked_particle函数的声明先。该函数声明位于D:Program FilesANSYS Incv190fluentfluent19.0.0srcdpmdpm_mem.h,打开看一看。在该文件的250行发现函数声明,仔细数一数参数数量,发现文件compute_particle_forces.c的第44行与第127行中的init_tracked_particle函数确实多了个参数。

这里决定将其删除。第44行删除参数后如下图所示。

127行执行相同操作。

  • 重新运行命令python toolscompile_lib_edem_coupling.py,终于有惊无险的完成了编译

编译完成后,在D:edem_coupling_buildlib_edem_couplingwin64文件夹下会生成一系列文件,如下图所示。

3

测试

到Fluent中测试一下UDF能否被加载。

  • lib_edem_coupling文件夹拷贝到与fluent的网格文件相同的文件夹

  • 启动Fluent,加载msh文件

  • 右键选择模型树节点User Defined Functions,选择Manage...

  • 输入Library Namelib_edem_coupling,点击Load

  • TUI窗口,没有发现任何问题

  • 在树形菜单Models节点下,多出了新的节点EDEM Coupling

  • 打开该节点,可看到下图所示的对话框,说明UDF编译没有问题

到此收工。下次找个简单的案例测试一下。

相关文件下载链接(保留2天,有需要下载的小伙伴们从速):

https://pan.baidu.com/s/1bS3UfWHknIJVoP6pSx_YtQ 密码: bye5

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

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

说两句 抢沙发

评论前必须登录!

 

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

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

支付宝扫一扫

微信扫一扫

登录

找回密码

注册