24小时热门版块排行榜    

查看: 1524  |  回复: 2

Chao_c

新虫 (初入文坛)

[求助] fluent uds方程对流项问题 用于求解level set方程及重新初始化方程 已有1人参与

大家好!我最近在尝试基于fluent实现level set方法追踪自由表面。不利用fluent自带的coupled level set and vof,而是希望通过uds求解level set方程、重新初始化方程。最后结合level set函数值求解物理量的控制方程。目前已利用uds求解level set函数,在求解重新初始化方程时遇到问题。
首先,在求解level set方程时,uds方程源项为0,扩散系数为0,对流项选择mass flow rate. 求解的方程如图1:
fluent uds方程对流项问题 用于求解level set方程及重新初始化方程
图1 利用UDS求解的Level Set方程

重新初始化方程如图2所示,对照UDS方程形式,认为对流项为w =sign phi0 *grad phi / |grad phi|
fluent uds方程对流项问题 用于求解level set方程及重新初始化方程-1
图2 重新初始化方程

对流项UDF编写时,令w0=sign phi0 /|grad phi|;  w = w0*grad phi.  如下:
DEFINE_UDS_FLUX(flux_reinil,f,t,i)
{
         real w=0.0,w0;
         cell_t c0;
         Thread *t0;
         real NV_VEC(psi_vec),NV_VEC(A);
         c0=F_C0(f,t);
         t0=F_C0_THREAD(f,t);
         F_AREA(A,f,t);
         w0 = C_UDSI(c0,t0,0)/sqrt(C_UDSI(c0,t0,0)*C_UDSI(c0,t0,0)+0.01*0.01)/sqrt(C_UDSI_G(c0,t0,1)[0]*C_UDSI_G(c0,t0,1)[0]+C_UDSI_G(c0,t0,1)[1]*C_UDSI_G(c0,t0,1)[1]+C_UDSI_G(c0,t0,1)[2]*C_UDSI_G(c0,t0,1)[2]);
         NV_D(psi_vec,=,C_UDSI_G(c0,t0,1)[0],C_UDSI_G(c0,t0,1)[1],C_UDSI_G(c0,t0,1)[2]);
         NV_S(psi_vec,*=,w0);
         w = NV_DOT(psi_vec,A);
         return w;
}

可以编译,可以计算,但是结果不能实现重新初始化。
问题多多:1)利用UDS解重新初始化方程的可行性;2)如果可行,对流项形式是否是w;3)DEFINE_UDS_FLUX的编写。这些都存在一些问题,烦请大家予以指导!或者推荐一些可供学习的资料、文献也行!非常感谢!!!
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Chao_c

新虫 (初入文坛)

抱歉,补充说明一下,我定义了两个UDS方程。第一个UDS方程C_UDSI(c,t,0) 用以求解level set方程,第二个UDS方程C_UDSI(c,t,1) 用以求解重新初始化方程。图2中phi0即是通过第一个UDS方程求得的。
2楼2017-06-27 15:05:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

赶紧发sci

新虫 (小有名气)

【答案】应助回帖

您好,请问下会写uds对流项了吗,想请教您一下
3楼2021-02-21 15:50:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 Chao_c 的主题更新
信息提示
请填处理意见