EDEM推出了新的版本2018,Fluent也推出了新的版本19.0,因此它们之间的耦合代码需要重新编译。 耦合源代码包含内容如下图所示。 路径下有一个批处理文件Windows_coupling_compilation.cmd,打开文件看一看。 该批处理文件结构很简单,包含两部分内容:
compile_lib_edem_coupling.py进行编译 用文本编辑器打开set_edem_env_vars.cmd,其中内容如下图所示。 其中第6行如下图所示,可以看到官方提供源代码中包含的EDEM版本包含2.6, 2.7, 2017.0, 2017.1, 2017.2,并不包含2018。 这里直接添加2018. 用文本文件打开set_fluent_env_vars.cmd,该批处理文件用于设置Fluent相关的环境变量。 文件第6行输入Fluent版本,如下图所示,并无19.0版本。 直接添加Fluent19.0版本。
按提示输入信息。 情况不妙,貌似出了错误。错误提示如下图所示。 提示找不到文件IEDEMCouplingV2_3_0.h。按道理来讲,该文件应该存在于EDEM安装目录下D:\Program Files\DEM Solutions\EDEM 2018\src\Api\Coupling中,不过打开该文件夹,如下图所示。 其中并没有IEDEMCouplingV2_3_0.h,只有一个IEDEMCoupling.h,因此需要修改。搜索编译文件夹中包含IEDEMCouplingV2_3_0.h的文件,搜索结果如下图所示。
修改此头文件,如下图所示。
重新编译试试。这下obj文件编译成功。在D:\edem_coupling_build\edem_cfd_adaptor_build\win64下多处了5个obj文件。 然而编译并没有完成。在D:\edem_coupling_build\lib_edem_coupling文件夹下并没有编译形成的win64文件夹。 尝试运行命令python tools\compile_lib_edem_coupling.py,该命令用于编译UDF。 文件编译需要利用到Python,关于Python的配置过程,可自行百度。确保在命令行中输入python可以启动python解释器。 结果出来如图所示的信息。 这什么鬼,刚才明明添加了2018了呀。别急,打开tools文件夹下文件compile_lib_edem_coupling.py,定位到下图所示的192行位置,可以看到缺少2018版本信息,这里将其添加上。 这类文件存在与D:\Program Files\DEM Solutions\EDEM 2018\lib,可以看到EDEM2018应该添加信息EDEMCouplingClient4.lib。添加信息后的结果如下图所示。
一个函数错误,在文件D:\edem_coupling_build\lib_edem_coupling\src\compute_particle_forces.c的第44行与第127行中的init_tracked_particle函数有问题。打开看一看。 看第44行,这什么鬼,相同的函数,这一行的参数数量居然比上下两个参数多了一个。(表示程序猿可以拿来祭天了)。不放心的话,还是看一看init_tracked_particle函数的声明先。该函数声明位于D:\Program Files\ANSYS Inc\v190\fluent\fluent19.0.0\src\dpm\dpm_mem.h,打开看一看。在该文件的250行发现函数声明,仔细数一数参数数量,发现文件compute_particle_forces.c的第44行与第127行中的init_tracked_particle函数确实多了个参数。 这里决定将其删除。第44行删除参数后如下图所示。 127行执行相同操作。
编译完成后,在D:\edem_coupling_build\lib_edem_coupling\win64文件夹下会生成一系列文件,如下图所示。 到Fluent中测试一下UDF能否被加载。
到此收工。下次找个简单的案例测试一下。 |