24小时热门版块排行榜    

查看: 612  |  回复: 3

思考年少轻狂

新虫 (初入文坛)

[求助] 区域拾取及动网格UDF已有1人参与

请教如何使用udf拾取一个特定区域(我用的是融化凝固模型,想要让凝固了的区域运动起来)并让其沿指定方向运动。以模拟晶体生长过程中的拉伸运动。

@wuming524 发自小木虫Android客户端
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mycc

专家顾问 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
动量加源项可以实现
项目汇总:http://www.cfluid.com/forum.php?mod=viewthread&tid=114340&extra=
2楼2016-06-27 08:25:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

思考年少轻狂

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by mycc at 2016-06-27 08:25:03
动量加源项可以实现

我的模型为圆柱体。图是一个截面,绿色线内部为熔体、外边为空气(两者之间用vof),蓝色部分为凝固了的固体,现在想让蓝色区域向z轴方向运动,以模拟晶体拉伸。下面是我在网上找的例子加以修改的udf,大神帮看看。
# include "udf.h"
# include "sg_mphase.h"

DEFINE_ADJUST(adjust_vof, d)
{
#if RP_NODE
int fluid=0;
Domain *subdomain_fluid = DOMAIN_SUB_DOMAIN(d, fluid);
Thread *t;
cell_t c;
real b[ND_ND];
real x;
real y;
real z;
thread_loop_c (t,subdomain_fluid)
{
begin_c_loop(c,t)
{
C_CENTROID(b,c,t);
x = b[0];
y = b[1];
z = b[2];
if(0 < C_VOF(c,t) <= 1)
{
C_UDMI(c,t,0) = 1;
}
else
C_UDMI(c,t,0) = 0;  
}
end_c_loop(c,t)
}
#endif
}

DEFINE_CG_MOTION(cg_UDF, dt, cg_vel, cg_omega, time, dtime)
{
Thread *t;
cell_t c;
NV_S(cg_vel,=,0.0);
if (C_UDMI(c,t,0) = 0)
{
cg_vel[2] = 0.001;
}
else
{
cg_vel[2] = 0.0;
}
}
区域拾取及动网格UDF
Screenshot-fluent@node12 [0] Fluent Inc .png

3楼2016-06-27 19:44:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mycc

专家顾问 (正式写手)

【答案】应助回帖

可以先自己计算试试,看看有没有问题
项目汇总:http://www.cfluid.com/forum.php?mod=viewthread&amp;tid=114340&amp;extra=
4楼2016-06-28 08:16:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 思考年少轻狂 的主题更新
信息提示
请填处理意见