找回密码
 注册
查看: 2833|回复: 9

udf求粘度!

[复制链接]
发表于 2007-1-18 20:52:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我主要是计算流体的粘度,它主要和流场的速度梯度,温度相关,请问我应该采用什么宏去实现!
fluent是不是先根据初值算出流场的速度,温度等值后,再根据我定义的UDF算出流体的粘度,然后通过粘度在去计算流场,这样反复迭代下去,直到算出结果?
请问我这样理解正确吗?
还有就是整个流场我想算出最后的粘度分布,后处理的时候能不能看到!
暂时就这么多问题,请大虾解释!谢谢
发表于 2007-1-18 22:45:04 | 显示全部楼层

udf求粘度!

你可以在一次迭代结束后,修改黏度。
或者迭代开始前修改。
我觉得两者效果一样的!
用刀UDF,UDM就可以了,后处理也可以
 楼主| 发表于 2007-1-18 23:38:45 | 显示全部楼层

udf求粘度!

我的粘度方程里包括了速度梯度的分量,我这样使用有问题吗?
real a=c_u_g(c,t)[1]
这样使用有问题吗?
发表于 2007-1-19 12:56:05 | 显示全部楼层

udf求粘度!

可以调用
 楼主| 发表于 2007-1-19 13:02:33 | 显示全部楼层

udf求粘度!

但是我调用的时候出现错误!
error C2223: left of ';->storage'; must point to struct/union
这个是怎么样造成的,请详细解释一下,谢谢
发表于 2007-1-19 14:48:54 | 显示全部楼层

udf求粘度!

贴UDF才知道
 楼主| 发表于 2007-1-19 15:59:16 | 显示全部楼层

udf求粘度!

[这个贴子最后由denhan在 2007/01/19 04:01pm 第 1 次编辑]

#include "udf.h"
#define Q 145
#define R 8.314
#define RFA 0.045
#define N 3.55
#define AA 8.8632e+006
real effective_strain(real array[9])
{
int i,j;
real strain[9];
real ee;
for(i=0;i<9;i++)
   ee=ee+strain*strain;
ee=sqrt(2/3*ee);
return ee;
}
define_property(cell_viscosity,c,t)
{
  real TT=C_T(c,t);
  real a=C_U_G(c,t)[0];
  real b=C_U_G(c,t)[1];
  real cc=C_U_G(c,t)[2];
  real d=C_V_G(c,t)[0];
  real e=C_V_G(c,t)[1];
  real f=C_V_G(c,t)[2];
  real g=C_W_G(c,t)[0];
  real h=C_W_G(c,t)[1];
  real i=C_W_G(c,t)[2];
  real a11=a;
  real a22=e;
  real a33=i;
  real a12=0.5*(b+d);
  real a13=0.5*(cc+g);
  real a23=0.5*(f+h);
  real strain[9]={a11,a12,a13,a12,a22,a23,a13,a23,a33};
  real e_s=effective_strain(real strain[9]);
  real z_h=e_s*exp(Q/(R*TT));
  real stress=log(pow(z_h/AA,1/N)+sqrt(pow(z_h/AA,2/N)+1))/RFA;
  real viscosity=stress/(3*e_s);
  return viscosity;
}
发表于 2007-1-23 22:53:51 | 显示全部楼层

udf求粘度!

real e_s=effective_strain(real strain[9]);
----------为何strain[9]之前有real
发表于 2007-2-9 21:57:44 | 显示全部楼层

udf求粘度!

我想是不是应该进入expert模式后进行计算。
udf代码应该没问题。
发表于 2007-2-13 22:34:44 | 显示全部楼层

udf求粘度!

数组作为函数参数传递的是地址,应该用指针变量,你的real e_s=effective_strain(real strain[9]);只是把数组中的第9个数传过去了,再看看C语言。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表