UDF的扩散系数宏怎么返回对每个组分的扩散系数?
-
我需要设置混合物里面每个组分(3个组分以上)单独的扩散系数,但是自带的multicoponent只能设置为常数或者温度的多项式函数(polynomial),所以打算采用UDF,但是帮助文档里面的DEFINE_DIFFUSIVITY我不知道怎么返回每个组份的扩散系数,好像只能return一个扩散系数,返回数组会报错,下面帮助文档自带的例子
#include "udf.h" DEFINE_DIFFUSIVITY(mean_age_diff, c, t, i) { return C_R(c, t) * 2.88e-05 + C_MU_EFF(c, t) / 0.7; }
下面是我返回数组的尝试,其中0,1,2对应着3个组分,可以用宏自带的i对混合物组分进行表示,我这里简化了
DEFINE_DIFFUSIVITY(diffusivity_gas, c, mix_t, i) { real D_gas[3]; D_gas[0] = 1e-6; D_gas[1] = 2e-6; D_gas[2] = 3e-6; return D_gas; }
使用VS编译报错如下:
错误 C2440 “return”: 无法从“real [3]”转换为“real”求会的老师支个招