云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 中科大FLUENT讲稿 第七章 自定义函数

中科大FLUENT讲稿 第七章 自定义函数

  • 62 次阅读
  • 3 次下载
  • 2025/5/8 2:32:26

NULL != T_STORAGE_R_NV(t,SV_UDSI_G(T4))) {

begin_c_loop (c,t) {

C_UDSI(c,t,MAG_GRAD_T4) = NV_MAG(C_UDSI_G(c,t,T4)); }

end_c_loop (c,t) }

}

thread_loop_f (t,domain) {

if (NULL != THREAD_STORAGE(t,SV_UDS_I(T4)) && NULL != T_STORAGE_R_NV(t->t0,SV_UDSI_G(T4))) {

begin_f_loop (f,t) {

F_UDSI(f,t,MAG_GRAD_T4) = C_UDSI(F_C0(f,t),t->t0,MAG_GRAD_T4); }

end_f_loop (f,t) } } }

条件语句if (NULL != THREAD_STORAGE(t,SV_UDS_I(T4)))检测用户自定义标量中是否已存贮温度的四次方;条件语句NULL != T_STORAGE_R_ NV (t,SV_UDSI_G(T4))检测温度四次方的梯度是否已存入用户自定义标量之中。本例使用了用户自定义标量,所以首先要激活两个用户自定义标量输运方程。

7.5.8 可执行UDFs

本例名为demo_calc的UDF,计算打印当前数据库中的最低温度,最高温度和平均温度,并计算下面的函数,存于用户定义的内存变量中。

f?T??

T?Tmin

Tmax?Tmin/**********************************************************************/ /* demand.c */

/* UDF to calculate temperature field function and store in */

/* user-defined memory. Also print min, max, avg temperatures. */

/**********************************************************************/ #include \

extern Domain* domain;

DEFINE_ON_DEMAND(demo_calc) {

float tavg = 0.;

float tmax = 0.; float tmin = 0.;

float temp,volume,vol_tot; Thread *t; cell_t c;

/* Loop over all cells in the domain */ thread_loop_c(t,domain) {

/* Compute max, min, volume-averaged temperature */

begin_c_loop(c,t) {

volume = C_VOLUME(c,t); /* get cell volume */ temp = C_T(c,t); /* get cell temperature */ if (temp < tmin || tmin == 0.) tmin = temp; if (temp > tmax || tmax == 0.) tmax = temp; vol_tot += volume; tavg += temp*volume; }

end_c_loop(c,t) tavg /= vol_tot;

printf(\/* Compute temperature function and store in user-defined memory */ /* (location index 0) */

begin_c_loop(c,t) {

temp = C_T(c,t);

C_UDMI(c,t,0) = (temp-tmin)/(tmax-tmin); }

end_c_loop(c,t) } }

函数中使用了嵌套的loop循环,循环内部的函数体实现温度最值,平均值和函数f(T)值的求解。由于函数中用到了用户自定义内存变量,所以需要事先激活用户自定义内存变量,内存变量个数不应小于所使用的内存变量个数。

第六节 UDFs的应用

本章列举了UDFs的几个应用实例。在例子中,我们将边界条件UDFs,源项UDFs,物理性质UDFs和反应速率UDFs应用于实际的相对较简单的物理模型。我们分析这些实例的目的,是为了读者更好的了解UDFs的功能,并能熟练的掌握UDFs。

7.6.1 边界条件UDFs的应用

本节包含两个Interpreted型的例子: 1.涡轮叶片入口速度分布 2.管道入口瞬态速度分布

7.6.1.1 涡轮叶片入口速度分布

如图6.1.1,涡轮周围流体网格采用三角无结构网格,定义涡轮腔体左端为速度入口,右端为压力出口边界条件。我们分别计算恒定和抛物型入口速度边界分布的情况,比较两种情况下流场速度的分布。

图6.1.2和图6.1.3为恒定速度入口边界条件计算的结果。入口速度大小为20 m/sec,可以看出恒定速度场在涡轮叶片周围产生扭曲变形。

图6.1.1 涡轮叶片周围的网格分布

图6.1.2 恒定速度入口条件下的速度大小分布

图6.1.3 恒定速度入口条件下的速度矢量分布

抛物型速度入口边界条件速度分布满足下面的关系式:

?y? vx?20?20??

?0.0745?其中,y在入口中央取值为0.0,在入口上部和底部分别为+0.0745,-0.0745,根据入口速度分布式速度中央大小为20 m/sec,上下部值都为20 m/sec。

定义抛物型速度入口边界条件的C源程序如下:

2

搜索更多关于: 中科大FLUENT讲稿 第七章 自定义函数 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

NULL != T_STORAGE_R_NV(t,SV_UDSI_G(T4))) { begin_c_loop (c,t) { C_UDSI(c,t,MAG_GRAD_T4) = NV_MAG(C_UDSI_G(c,t,T4)); } end_c_loop (c,t) } } thread_loop_f (t,domain) { if (NULL != THREAD_STORAGE(t,SV_UDS_I(T4)) && NULL != T_STORAGE_R_NV(t->t0,SV_UDSI_G(T4))) { begin_f_loop (f,t) { F_UDSI(f,t,MAG_GRAD_T4) = C_UDSI(F_C0(f,t),t->t0,MAG_GRAD_T4)

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com