找回密码
 注册
查看: 2382|回复: 2

储液晃动,给予质量力源项,我的udf怎么老是出错

[复制链接]
发表于 2009-4-23 10:28:03 | 显示全部楼层 |阅读模式

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

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

x
在模型中设定舱壁静止、液体运动的初始状态.液舱长25 m ,高16 m ,液面高度12 m. 用粘性不可压的水模拟LNG,用可压缩的空气模拟自由液面上的舱内环境. 一个大气压取为101. 325 kPa ,,时间步长取为2 ms. 采用VOF 法进行模拟计算. 计算过程中采用标准k2ε湍流模型,假定区域内的流场是非定常湍流
编写了给液体的质量力源项的udf,如下;


#include"udf.h"
#include "sg_mphase.h"
#include"math.h"
#define a 10.0
DEFINE_SOURCE(xmom_source,c,t,dS,eqn)
{
real rho,source;
real time=RP_Get_Real("flow-time");
Thread *mix_th=THREAD_SUPER_THREAD(t)
Thread*pri_th=THREAD_SUB_THREAD(mix_th,0);
Thread*sec_th=THREAD_SUB_THREAD(mix_th,1);
C_VOF(cell,pri_th)=0.3;
C_VOF(cell,sec_th)=0.7;
rho=C_VOF(cell,pri_th)*C_R(cell,pri_th)+C_VOF(cell,sec_th)*C_R(cell,sec_th);
source=a*rho*sin(1.05*time);
dS[eqn]=0;
return source;
}
在此基础上我有改进,
#include"udf.h"
#include "sg_mphase.h"
#include"math.h"
#define a 10.0
DEFINE_SOURCE(xmom_source,c,t,dS,eqn)
{
real rho,source;
real time=RP_Get_Real("flow-time");
Thread **pt;
Thread *mix_th=THREAD_SUPER_THREAD(t);
Thread *pri_th=THREAD_SUB_THREAD(mix_th,0);
Thread *sec_th=THREAD_SUB_THREAD(mix_th,1);
C_VOF(c,pt[0])=0.3;
C_VOF(c,pt[1])=0.7;
rho=C_VOF(c,pt[0])*C_R(c,pri_th)+C_VOF(c,pt[1])*C_R(c,sec_th);
source=a*rho*sin(1.05*time);
dS[eqn]=0;
return source;
}
还是出现错误,不知道该怎么办
cpp -I"C:\Fluent.Inc\fluent\Fluent.Inc\fluent6.3.26/src" -I"C:\Fluent.Inc\fluent\Fluent.Inc\fluent6.3.26/cortex/src" -I"C:\Fluent.Inc\fluent\Fluent.Inc\fluent6.3.26/client/src" -I"C:\Fluent.Inc\fluent\Fluent.Inc\fluent6.3.26/multiport/src" -I. -DUDFCONF
G_H="<udfconfig.h>" "G:\Text1.c"
Error: G:\Text1.c: line 18: parse error.
下面附公式及cas文件



[ 本帖最后由 我行 于 2009-4-23 02:39 编辑 ]

chucao.rar

317.76 KB, 下载次数: 269

公式.rar

17.21 KB, 下载次数: 141

发表于 2010-4-5 21:28:00 | 显示全部楼层

回复 1# 我行 的帖子

请问一下,现在你这个弄明白了没?我也在做这个,但一直没明白,能否教教我啊?
发表于 2010-4-29 23:50:46 | 显示全部楼层

回复 1# 我行 的帖子

Thread **pt;
Thread *mix_th=THREAD_SUPER_THREAD(t);
Thread *pri_th=THREAD_SUB_THREAD(mix_th,0);
Thread *sec_th=THREAD_SUB_THREAD(mix_th,1);
C_VOF(c,pt[0])=0.3;
C_VOF(c,pt[1])=0.7;
rho=C_VOF(c,pt[0])*C_R(c,pri_th)+C_VOF(c,pt[1])*C_R(c,sec_th);
source=a*rho*sin(1.05*time);

你pt都没赋值,怎么用啊?
你还是别改进了。
我看了下,你得rho不就是C_R(c,mix_th),不用这么复杂。

Error: G:\Text1.c: line 18: parse error.

错误提示都告诉你了,拜托。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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