FLUENT-UDF日记-1-DEFINE_ADJUST

15 篇文章 47 订阅
本文介绍了FLUENT用户定义函数(UDF)中的DEFINE_ADJUST宏,用于调整和修改ANSYS FLUENT变量。通过示例1展示了如何积分湍流耗散并显示结果,示例2解释了如何根据用户定义标量的梯度调整另一标量。
摘要由CSDN通过智能技术生成


在家闲着也是闲着,开学无望,不如大胆的立个flag,从今天开始,每天学习一个UDF,大家一起进步吧!

chapter-1 UDF概述

1.1网格基本知识

网格组成

  • node 节点
    node thread 一组节点
    edge 一个面(三维)的边界
    face 面单元(二维或三维)的边界
    face thread 一组面
    cell 控制体
    cell center 控制体中心
    cell threads 一组单元格
    domain 一组节点、面和控制体

  • node 存储与网格点相关的数据的结构数据类型
    face_t 整数数据类型,用于标识面线程中的特定面
    cell_t 整数数据类型,用于标识face thread中的特定单元格
    Thread 结构数据类型,用于存储它所表示的一组单元格或面所共有的数据

chapter-2 定义宏

2.1. 概述

DEFINE宏的定义包含在udf.h头文件中
确保宏和参数的第一个括号之间没有空格
对于宏定义,名称应为小写,输入参数是从fluent求解器传递到函数的变量。

2.2通用定义宏

2.2.1 DEFINE_ADJUST

功能:DEFINE_ADJUST可用于调整或修改不作为参数传递的ANSYS FLUENT变量。例如,可以使用DEFINE_ADJUST修改流量变量(例如,速度、压力)和计算积分。还可以使用它对域上的标量进行积分,并根据结果调整边界条件。

example-1

该UDF对整个域上的湍流耗散进行积分。然后在控制台中显示此值。UDF在每次迭代中调用一次。

#include "udf.h"
 DEFINE_ADJUST(my_adjust,d)
 {
    Thread *t;
    real sum_diss=0.;
    cell_t c;
    thread_loop_c(t,d)/*在domain中遍历thread*/
    {
     begin_c_loop(c,t)/*在thread中遍历cell*/
     sum_diss += C_D(c,t)*C_VOLUME(c,t);/*C_D是湍动能耗散率,C_VOLUME获取cell的体积,在udf中积分即为求和*/
     end_c_loop(c,t)
    }
    printf("Volume integral of turbulent dissipation: %g\n", sum_diss);
 } 
example-2

该UDF将用户定义标量指定为另一个用户定义标量的梯度的函数。该函数在每个迭代中调用一次

#include "udf.h"
 DEFINE_ADJUST(adjust_fcn,d)
 {
    Thread *t;
    cell_t c;
    real K_EL = 1.0;
   
    if (! Data_Valid_P())
      return;
    thread_loop_c(t,d)
      {
      if (FLUID_THREAD_P(t))/*检查单元是否在流体域*/
        {
         begin_c_loop_all(c,t)/*串行时,begin_c_loop_all和begin_c_loop是相同的;并行时,host 节点两者相同,node 节点两者不一样*/
            {
            C_UDSI(c,t,1) +=K_EL*NV_MAG2(C_UDSI_G(c,t,0))*C_VOLUME(c,t);/*C_UDSI是自定义标量,NV_MAG2计算平方和,C_UDSI_G取梯度*/
            }
         end_c_loop_all(c,t)
        }
      }
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值