最新版的EDEM已经是2017.2版本了,ANSYS也发布了最新版18.2。童鞋们对于新版本的耦合接口肯定也是跃跃欲试想尝试一下,毕竟新版本会对以前的bug进行修复并添加新功能进来。
博主最近对edem2.7与fluent18.0及edem2017.1与fluent18.0分别做了耦合接口编译,这过程中也遇到了一些小问题,解决过程较曲折,但最终功夫不负有心人,顺利完成编译。
1.‘cl’不是内部或外部命令,也不是可运行的程序或批处理文件
对于这个问题,解决比较顺利,在系统环境变量里path键名下添加路径“C:\Windows\System32”(注:不包括引号,若path里有其他键值,则在不同键值间加;隔开)。这个原因主要是由于编译过程中系统找不到cl.exe所致。
当然,如果添加以上变量后还解决不了,那么同样的方法再添加一条命令“C:\Program File(x86)\Microsoft Visual Studio 14.0\VC\bin”(不包括引号,路径名视电脑中安装的VS版本不同所不同,注意修改)
2.edem_coupling.obj:error LNK2019:无法解析的外部符号 ADAPTOR_init_connectEDEMCoupling_Address,该符号在函数connect_edem_coupling中被引用这个问题的解决过程较曲折,百度了一下基本所有人都说是编译过程中lib库函数没有链接上,于是我也按这条思路在不断尝试修改环境变量,想把C:\Program Files\DEM Solutions\EDEM 2017\lib下的libEDEMCouplingClientV3_1_0.lib文件在编译过程中被链接,但尝试了好久都没能解决问题。
最后转变思路,从D:\edem_coupling_build\edem_cfd_adaptor_build\src下的cpp源文件查找,看看源代码中都要嵌套了哪些文件及相关的路径。果然在第一个文件AdaptorInterface.cpp中开头就排查到了原因,src文件夹下缺失了IEDEMCoupling.h文件,此文件是edem耦合库文件,用来连接edem与fluent,起桥梁作用。
解决方法:
在edem安装路径C:\Program Files\DEM Solutions\EDEM 2017\src\Api\Coupling下copy最高版本的IEDEMCoupling文件至D:\edem_coupling_build\edem_cfd_adaptor_build\src中
注:copy至src文件夹下的.h文件最后要将文件名修改成AdaptorInterface.cpp中代码中声明的文件名,即删除IEDEMCoupling与.h中间部分内容。
最后按照教程进行编译,编译成功的提示如下图所示,同时检查D:\edem_coupling_build\lib_edem_coupling\win64下每个文件夹里都有libudf.dll生成,说明编译过程没问题的。Fluent读取.jou文件提示Done
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删