找回密码
 注册
查看: 6454|回复: 14

UDF比热怎么编写

[复制链接]
发表于 2010-7-3 08:02:41 | 显示全部楼层 |阅读模式

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

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

x
随温度变化的比热容,用UDF的DEFINE_SPECIFIC_HEAT怎么来编写?如下图:

未命名.JPG


谢谢,路过的指点一下!

[ 本帖最后由 昨夜纯情 于 2010-7-5 15:55 编辑 ]
 楼主| 发表于 2010-7-3 10:27:45 | 显示全部楼层
怎么没有人回答呢。

路过的指点下,谢谢
发表于 2010-7-5 10:56:21 | 显示全部楼层

回复 1# 昨夜纯情 的帖子

fluent至少6.3版本以前不支持UDF定义比热容,你可以使用分段多项式。
 楼主| 发表于 2010-7-5 14:55:05 | 显示全部楼层
已解决:

#include "udf.h"
DEFINE_SPECIFIC_HEAT(re_rong,T,Tref,h,yi)
{
  real cp;

  if (T <= 973)
    cp = 513.76- 0.335*T + 6.89e-4*T*T;
  else if (T > 973 && T <= 1023)
    cp = -10539 + 11.7*T;
  else if (T > 1023 && T <= 1100)
    cp = 11973 - 10.2*T;
  else if (T > 1100 && T <= 1379)
    cp = 644;
  else
    cp = 354.34 - 0.21*T;
  return cp;
}

[ 本帖最后由 昨夜纯情 于 2010-7-5 15:39 编辑 ]
发表于 2010-7-5 15:37:57 | 显示全部楼层
官方的udf教程中明确指出,cp只能被调用,不能被修改。你走哪看到能用这个宏定义来写分段多项式比热?
 楼主| 发表于 2010-7-5 15:41:18 | 显示全部楼层

回复 5# 浪子轻狂 的帖子

是从HELP里看来的。。
发表于 2010-7-5 15:46:48 | 显示全部楼层
难道新版变化这么大吗?6.1的help中指出,udf是不能解决这个问题的。可以在物性参数的属性中修改成多项式变量
 楼主| 发表于 2010-7-5 15:47:51 | 显示全部楼层
我装的是ANSYS12.0,我是直接用里面的FLUENT模块,然后,在HELLP中的命令DEFINE_PROPERTY 中发现可以定义比热的。。从这里可以看到,,,
未命名.JPG
 楼主| 发表于 2010-7-5 15:49:16 | 显示全部楼层

回复 7# 浪子轻狂 的帖子

你看看。。
 楼主| 发表于 2010-7-5 15:53:16 | 显示全部楼层
但是我刚才试了下,上面程序中,IF-ELSE语句五句,运行的时候出错,而删去一句就可以运行。。
发表于 2010-7-5 15:55:41 | 显示全部楼层
看来,得考虑装个12.1最新版了
 楼主| 发表于 2010-7-5 16:05:02 | 显示全部楼层

回复 11# 浪子轻狂 的帖子

是,我们学校前几天来了几个安世亚太的,才知道ANSYS12.1版本里的WORKBENCH特强大,把许多模块都集成了。。
发表于 2010-7-5 17:05:03 | 显示全部楼层

回复 12# 昨夜纯情 的帖子

workbench集成了很多模块不假,强大的话就是忽悠了,基本上就是一个低端工具而已。
发表于 2011-12-14 16:24:03 | 显示全部楼层
谢谢昨夜纯情
呵呵,很受用。
发表于 2011-12-15 16:52:36 | 显示全部楼层

回复 4# 昨夜纯情 的帖子

受教了,多谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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