许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  【FLUENT UDF】【Workbench 脚本参数化】UDF通用化与work

【FLUENT UDF】【Workbench 脚本参数化】UDF通用化与work

阅读数 3
点赞 0
article_banner


#include "udf.h"

#include "mem.h"

#include <string.h>

#include <iostream.h>

#define Target_delt_T 60 //定义你希望达到的温升速率

#define Initial_V 0.1 //定义电压的初始值

Workbench 脚本参数化

CString zoneName_1 = "brick";

CString zoneName_2 = "coke-bot";

CString zoneName_3 = "coke-left";

CString zoneName_4 = "coke-right";

CString zoneName_5 = "dianzu-left";

CString zoneName_6 = "dianzu-right";

CString zoneName_7 = "inside-brick-left";

CString zoneName_8 = "inside-brick-right";

CString zoneName_9 = "insulating";

CString zoneName_10 = "nelectrode";

CString zoneName_11 = "pelectrode";

CString zoneName_12 = "sand";

// 定义全局变量,便于宏内调用

real staT = 0.0;      //初始化为0

real currentV = Initial_V; //初始化为电压初始值

DEFINE_EXECUTE_AT_END(get_last_time_T)

{

 Domain* d;

 Thread* t;

 cell_t c;

 d = Get_Domain(1);

 thread_loop_c(t, d)

 {

   begin_c_loop(c, t)

   {

     C_UDMI(c, t, 0) = C_T(c, t);

   }

   end_c_loop(c, t)

 }

}

DEFINE_ADJUST(core_T, domain)

{

 int curr_ts;

 curr_ts = N_TIME;

 real sumTV = 0.0;

 real sumV = 0.0; //声明实数类型变量

#if !RP_HOST

 cell_t c;

 Thread* cthread;

 thread_loop_c(cthread, domain)

 {

     if (0 != zoneName_1.CompareNoCase(THREAD_NAME(cthread)) &&

       0 != zoneName_2.CompareNoCase(THREAD_NAME(cthread)) &&

       0 != zoneName_3.CompareNoCase(THREAD_NAME(cthread)) &&

0 != zoneName_4.CompareNoCase(THREAD_NAME(cthread)) &&

0 != zoneName_5.CompareNoCase(THREAD_NAME(cthread)) &&

0 != zoneName_6.CompareNoCase(THREAD_NAME(cthread)) &&

0 != zoneName_7.CompareNoCase(THREAD_NAME(cthread)) &&

0 != zoneName_8.CompareNoCase(THREAD_NAME(cthread)) &&

0 != zoneName_9.CompareNoCase(THREAD_NAME(cthread)) &&

0 != zoneName_10.CompareNoCase(THREAD_NAME(cthread)) &&

0 != zoneName_11.CompareNoCase(THREAD_NAME(cthread)) &&

0 != zoneName_12.CompareNoCase(THREAD_NAME(cthread)))

     {

     begin_c_loop(c, cthread)

     {

       if (CURRENT_TIME < 1)

       {

         C_UDMI(c, cthread, 0) = 273.15;

       }

       sumV += C_VOLUME(c, cthread);

       sumTV += C_VOLUME(c, cthread) * (C_T(c, cthread) - C_UDMI(c, cthread, 0));

     }

     end_c_loop(c, cthread)

     }

 }

#endif

 // 变量全局约简并从计算节点传递到host节点

 sumTV = PRF_GRSUM1(sumTV);

 sumV = PRF_GRSUM1(sumV);

 node_to_host_real_2(sumTV, sumV);

#if RP_HOST

 //得到温度变化的体平均值

 staT = (sumTV / sumV) / (CURRENT_TIMESTEP / 3600);

 Message("the rate of Temperature of core is %e K. \n ", staT);

#endif

 host_to_node_real_1(staT);

}


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

相关文章
技术文档
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
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空