DEFINE macros是ANSYS fluent.提供的预定义宏,必须用于定义你的UDF。DEFINE macros的定义包含在udf.h文件中。示例并非都是可以在ANSYS FLUENT中作为独立udf执行的完整函数。示例仅用于演示定义宏的用法。 重要提示 ·在你的源代码中,你必须把所有的参数都放在同一行,将DEFINE语句分割成几行会导致编译错误。 ·确保宏(如DEFINE_PROFILE)和参数的第一个括号之间没有空格,因为这会在Windows中导致错误。 ·不要在源代码的注释中包含DEFINE宏语句(比如DEFINE_PROFILE)。这将导致编译错误。 DEFINE_ADJUST是一个通用的宏,可以用来调整或修改ANSYS FLUENT中没有作为参数传递的变量。例如,你可以使用DEFINE_ADJUST来修改流动变量(例如,速度、压力)和计算积分。你还可以使用它对一个域上的标量进行积分,并根据结果调整边界条件。使用DEFINE_ADJUST定义的函数在每次迭代时执行,并在每次迭代开始时调用,然后才解出传输方程。 用法:DEFINE_ADJUST (name,d) DEFINE_ADJUST有两个参数:name和d。name是UDF的名字,d通过ANSYS FLUENT求解器传递到UDF。 domain*d 指向要在其上应用adjust函数的域的指针。域参数提供对网格中所有单元和面thread的访问。对于多相流,求解器传递给函数的指针是混合域的。 函数返回值:void。 下面的UDF,名为my_adjust,使用DEFINE_ADJUST计算了整个域的湍流耗散。然后在控制台中显示此值。每个迭代调用一次UDF。它可以作为一个解释或编译UDF在ANSYS FLUENT中执行。 / include "udf.h"DEFINE_ADJUST(my_adjust,d) / *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) |
|