|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
你好gallongallon,我按照你编的UDF,写了关于K和E的UDF,分别保存成outlet.c,outletk.c,outlete.c,分别在FLUENT中对这三个文件进行interprated,都通过了,但是在设置出口速度的边界条件时,只是出现一个udf_outlet_u,请问K和E的UDF怎么实现呢?
我是想让出口边界的K、E和u沿X方向的变化率都为0。下面是我保存的三个UDF文件:
第一个:速度U的变化率为0
/****************************************************/
/*outlet.c*/
/****************************************************/
#include"udf.h"
DEFINE_PROFILE(outlet_u,thread,position)
{
cell_t c;
face_t f;
Thread *tc;
real U;
begin_f_loop(f,thread)
{
c=F_C0(f,thread);/*获得边界处相邻网格C0的cell index*/
tc=THREAD_T0(thread);/*获得C0的cell thread*/
U=C_U(c,tc);/*获得C0的速度分量U*/
F_PROFILE(f,thread,position)=U;
}
end_f_loop(f,thread)
}
第二个:E的变化率为0
/*************************************/
/*outlete.c*/
/*************************************/
#include"udf.h"
DEFINE_PROFILE(outlet_u,thread,position)
{
cell_t c;
face_t f;
Thread *tc;
real D;
begin_f_loop(f,thread)
{
c=F_C0(f,thread);/*获得边界处相邻网格C0的cell index*/
tc=THREAD_T0(thread);/*获得C0的cell thread*/
D=C_D(c,tc);/*获得C0的耗散系数D*/
F_PROFILE(f,thread,position)=D;
}
end_f_loop(f,thread)
}
第三个:K的变化率为0
/*******************************************/
/*outletk.c*/
/*******************************************/
#include"udf.h"
DEFINE_PROFILE(outlet_u,thread,position)
{
cell_t c;
face_t f;
Thread *tc;
real K;
begin_f_loop(f,thread)
{
c=F_C0(f,thread);/*获得边界处相邻网格C0的cell index*/
tc=THREAD_T0(thread);/*获得C0的cell thread*/
K=C_K(c,tc);/*获得C0的湍动能K*/
F_PROFILE(f,thread,position)=K;
}
end_f_loop(f,thread)
}
请问如何让边界条件设置时,K和E也可以用上面的第二、三个UDF呢?
还有当用UDF设置边界条件时,在初始化时总出现下列提示:
Error:
FLUENT received fatal signal (ACCESS_VIOLATION)
1. Note exact events leading to error.
2. Save case/data under new name.
3. Exit program and restart to continue.
4. Report error to your distributor.
Error Object: ()
这是什么原因呢?为什么不用UDF时就没有这种错误提示呢?
谢谢gallongallon指教!!
|
|