分享

DEFINE_ADJUST宏

 CFD流 2020-05-28

DEFINE macros是ANSYS fluent.提供的预定义宏,必须用于定义你的UDF。DEFINE macros的定义包含在udf.h文件中。示例并非都是可以在ANSYS FLUENT中作为独立udf执行的完整函数。示例仅用于演示定义宏的用法。

重要提示

·在你的源代码中,你必须把所有的参数都放在同一行,将DEFINE语句分割成几行会导致编译错误。

·确保宏(如DEFINE_PROFILE)和参数的第一个括号之间没有空格,因为这会在Windows中导致错误。

·不要在源代码的注释中包含DEFINE宏语句(比如DEFINE_PROFILE)。这将导致编译错误。

1

DEFINE_ADJUST是一个通用的宏,可以用来调整或修改ANSYS FLUENT中没有作为参数传递的变量。例如,你可以使用DEFINE_ADJUST来修改流动变量(例如,速度、压力)和计算积分。你还可以使用它对一个域上的标量进行积分,并根据结果调整边界条件。使用DEFINE_ADJUST定义的函数在每次迭代时执行,并在每次迭代开始时调用,然后才解出传输方程。

2

用法:DEFINE_ADJUST (name,d)

DEFINE_ADJUST有两个参数:name和d。name是UDF的名字,d通过ANSYS FLUENT求解器传递到UDF。

domain*d 指向要在其上应用adjust函数的域的指针。域参数提供对网格中所有单元和面thread的访问。对于多相流,求解器传递给函数的指针是混合域的。

函数返回值:void。

3

下面的UDF,名为my_adjust,使用DEFINE_ADJUST计算了整个域的湍流耗散。然后在控制台中显示此值。每个迭代调用一次UDF。它可以作为一个解释或编译UDF在ANSYS FLUENT中执行。           

/
UDF for integrating turbulent dissipation and displaying it in the
console
*/

include "udf.h"

DEFINE_ADJUST(my_adjust,d)
{
Thread t; 

/ *Integrate dissipation. *

real sum_diss=0.; 

cell_t c; 

thread_loop_c(t,d) 

    { 

        begin_c_loop(c,t) 

        sum_diss += C_D(c,t)*C_VOLUME(c,t);

        end_c_loop(c,t)
    }
printf("Volume integral of turbulent dissipation: %g\n", sum_diss);
}

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多