许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Fluent UDF中调用变量梯度的方法及注意点

Fluent UDF中调用变量梯度的方法及注意点

阅读数 2
点赞 0
article_banner

Fluent UDF中有时候需要调用变量的 梯度 ,例如温度梯度,压力梯度,VOF梯度等等,一般是在C_T,C_P,C_VOF后面加上“_G”来获取,例如C_T_G,C_VOF_G。看似简单,实际上里面有比较多的“坑”,现以如下实例来提请各位看官注意。

        首先,我们利用VC++ UDF Studio插件(https://vcudfstudio.github.io)启动Fluent,然后再点击Fluent中的“启动Visual Studio”菜单,这样我们就可以在Visual Studio中输入源码并编译UDF了。

在Visual Studio项目中的udf_source. cpp 文件中输入如下源码。

#include "udf.h"#include "SuperUdfExtension.h" //VC++ UDF Studio自带的扩展库头文件,具体参考该软件中的编程手册#pragma comment(lib, "SuperUdfExtension.lib") //VC++ UDF Studio自带的扩展库的lib文件  int GetZoneIdByName(CString zoneName); //函数声明 DEFINE_ADJUST(show_gradient, domain){  face_t f;  real T_gradient[ND_ND];  int theInletID = GetZoneIdByName("inlet"); //根据边界名字获取其ID,如果返回-1表示找不到  if (-1 == theInletID)  {	  Message("Cannot find the boundary name 'inlet'. Please modify!\n");	  return;  }   Thread * wall_thread = Lookup_Thread(domain, theInletID); //根据inlet的ID获得其Thread  Thread *fluid_thread = THREAD_T0(wall_thread); //获得和边界face邻接的cell的thread   begin_f_loop(f, wall_thread) //对inlet的面进行循环  {	  cell_t c0 = F_C0(f, wall_thread); //获得和inlet面邻接的cell	  NV_V(T_gradient, =, C_T_G(c0, fluid_thread)); //将温度梯度赋值给T_gradient	  Message("c=%d, Temperature X gradient is %g\n", c0, T_gradient[0]);   //打印x方向的梯度  }  end_f_loop(f, wall_threa
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

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

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空