许可优化
产品
解决方案
服务支持
关于
软件库
当前位置:服务支持 >  软件文章 >  Fluent UDF学习实录(一):DEFINE_PROFILE宏探秘

Fluent UDF学习实录(一):DEFINE_PROFILE宏探秘

阅读数 4
点赞 0
article_banner

最近在学习Fluent UDF ,主要参考资料为Fluent软件自带的帮助手册及网上资料。下面是给了一个UDF中DEFINE_PROFILE 宏的应用案例,这个宏主要是可用于边界条件的配置,下面的例子是给定边界上压力随Y轴坐标进行变化,根据自己的学习对代码进行了较为详细的注释。仅供参考。

/*边界面上压力随Y坐标的变化UDF设置函数关系:p(y)=1.1e5-0.1e5*(y/0.0745)^2*/

#include "udf.h"		
/* udf.h 文件包含了UDF相关的常用函数或类型的声明 */

DEFINE_PROFILE(pressure_profile,t,i)   
/*一个宏,可用于边界条件配置等,包含三个变量。pressure_profile为该UDF配置文件的名称,可以修改;
 Thread *t 就是指t是指向这个Thread结构体(网格面等集合体)的指针; 
 int i 是标识要定义的变量的索引。当通过图形用户界面在“边界条件”对话框中使用UDF时,将设置i。
 该索引随后由ANSYS Fluent求解器传递给UDF,以便函数知道要对哪个变量进行操作。*/
 
{
    real x[ND_ND];      
    /* 定义了一个数组,数组类型为real,数组长度为常数ND_ND,由ND宏定义。
    对于二维问题ND_ND为2,对于三维问题ND_ND为3,不需要手动修改,求解器会自动判别,
    此处用于后续存放单元中心坐标*/
   
    real y; 
    /* 定义变量y,数据类型为real*/
	
    face_t f;
    /* 定义变量f,数据类型为face_t ,表示网格面的意思,即f代表一个网格单元的网格面*/
	
    begin_f_loop(f,t)
    /* 开始遍历网格面,扫描所定义边界的所有网格面,对其进行以下操作*/
    {
	F_CENTROID(x,f,t);
        /* 一个函数,读取网格面形心的坐标,并输出给x,x为之前定义的数组 */
	   
	y = x[1];
	/* 将坐标网格面的形心坐标Y值赋值给y。0为X坐标,1为Y坐标,2为Z坐标*/
	   
	F_PROFILE(f,t,i) = 1.1e5 - y*y/(.0745*.0745)*0.1e5;
	/* 将网格面形心的压力通过给定的与Y坐标的函数关系赋值给网格面,
	fluent在计算的时候是把数据存储到网格形心上的,所以网格形心的压力值就代表网格的压力值*/
	   
    }
    end_f_loop(f,t)
    /* 结束循环*/
} 


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
相关文章
QR Code
微信扫一扫,欢迎咨询~

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

* 公司名称:

姓名不为空

手机不正确

公司不为空