CONVERGE拥有灵活的udf功能,可以实现各种模型、参数、条件的用户自定义。其中破碎模型参数的自定义是一种常见的应用。CONVERGE针对KH和RT等破碎模型提供了专门的udf模板,用户通过对模板的简单修改即可实现各个模型参数的自定义。
下面以一个简单的范例,介绍通过udf定义破碎模型参数的方法:希望实现RT破碎模型Length constant(Cbl)随颗粒所在网格的压力或温度变化:压力大于1 bar,Cbl=1000*温度;压力小于1bar,Cbl=1000/温度。
这个需求可以通过CONVERGE udf example中的spray_rt.c来实现,用户可在以下安装目录找到这example:
spray_rt.c的原始代码如下图所示,其功能是通过代码的方式实现RT破碎模型的应用。该udf会自动对计算域中所有parcel进行循环应用。
基于模板修改后的代码如下图所示:
在这里,我们用到了CONVERGE_UNLOAD这个MACRO,其作用是定义全局变量,以便在所有udf中被使用。
接下来,用到了CONVERGE_BEFORE_TIME_STEP MACRO来提取粒子所在网格的温度和压力值。下图是CONVERGE_3.0_UDF_Manual中关于该MACRO的说明:
为了验证该udf的效果,我们基于单孔定容喷雾模型设计了以下四个算例:
下图为四个算例得到的全局SMD结果对比。
通过Case2(GUI设置Cbl=5)与Case3(通过udf设置Cbl=5)的smd曲线(蓝色和橙色)的重叠状态,表明通过udf设置Cbl的方法是有效的。
通过udf设置Cbl随温度变化后,smd结果(绿色)与其它case相比发生明显变化,表明这种根据温度定义破碎模型参数的方法也正常生效了。
下图为四个算例的DV90结果对比,从各算例曲线对比也可以得到类似的结论。
更多关于Converge软件FAQ,请关注“CONVERGE先进仿真技术”公众号。