fluent UDF中DEFINE_INIT宏的详细解析

一、概述

DEFINE_INIT是一个通用的宏,你可以使用它为求解方案指定一组初始值。DEFINE_INIT实现了与patch相同的效果,但是使用了不同的方法,即使用UDF。每次初始化都执行一次DEFINE_INIT函数,并在求解程序执行默认初始化之后立即调用该函数。由于它是在流场初始化后调用的,所以通常用于设置流场的初始值。
     



二、用法

DEFINE_INIT(name, d)


DEFINE_INIT有两个参数:name和d。name为UDF的名称,d是从 ANSYS FLUENT求解器传递到UDF的值。
     

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


         

三、示例

下面的UDF名为my_init_func,用于初始化流场变量,如果
     

fluent-UDF-DEFINE_INIT宏的图1


      则温度为400K,否则温度为300K。
     


      它只在解决方案过程开始时执行一次,该函数既可以在ANSYS FLUENT中解释执行也可以编译执行。UDF源代码如下:
     


      /***********************************************************************
     


      UDF for initializing flow field variables
     


      ************************************************************************/
     


      #include "udf.h"
     


      DEFINE_INIT(my_init_func,d)
     


      {
     


        cell_t c;
     


        Thread *t;
     


        real xc[ND_ND];
     


        /* loop over all cell threads in the domain */
     


        thread_loop_c(t,d)
     


        {
     


          /* loop over all cells */
     


          begin_c_loop_all(c,t)
     


          {
     


            C_CEntrOID(xc,c,t);
     


            if (sqrt(ND_SUM(pow(xc[0],2.),pow(xc[1],2.),pow(xc[2],2.))) < 0.25)
     


            C_T(c,t) = 400.;
     


          else
     


            C_T(c,t) = 300.;
     


            }
     


          end_c_loop_all(c,t)
     


        }
     


      }
     


      宏ND_SUM(a,b,c)计算前两个参数(2D)或所有三个参数(3D)的和。
     



四、计算结果

fluent-UDF-DEFINE_INIT宏的图2

可以看到,初始化之后中间区域温度为400K,其余位置温度为300K。
     



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空