24小时热门版块排行榜    

查看: 815  |  回复: 2
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zhc999

金虫 (正式写手)

[求助] UDF错误检查或编写

一个初始形状为规则矩形的管道,Y向高度为0.2,X向长度为0.5,Z垂直纸向面里,长度为1。
在水流过程中左右两侧的管道壁面会发生类似图中绿线所示的变形,在水流过程中,两侧壁会做随Y向位置变化的运动(上面位移变化小,下面位移变化大),其中黑色表示的位移变化。此外,在不同的时间中沟壁也会发生收缩或扩张现象,譬如说在t<1秒时,沟壁成收缩状态,变化至绿线所示位置;在1<t<2秒时,从收缩状态有恢复到初始红线位置;在2<t以后,管道壁面不再发生位移变化,保持不变。
下面是我自己凑写的UDF,仅仅作用在左侧壁面。右侧壁面想着是修改下速度符号即可。
还请大家帮忙指点下,谢谢了。
#include "udf.h"
DEFINE_CG_MOTION(value, dt, cg_vel, omega, time, dtime); x7 F* C8 Z1 {+ q. V( P
{
  Thread *t;$ R& j: Q/ w1 S
real x[ND,ND,ND];
real y;
, face_t f;
real a=9;

  begin_f_loop (f, t)
    {
      F_CENTROID (x, f, t) H% x2 ^3 C/ i6 u$ X5 k  e* p
     y=x[0];
}2 ]2 W, X: s5 @
  end_f_loop (f, t)! a"
if (time>=0.00&time<=0.2)
cg_vel (f,t,position)=2*(a-y);
else if (time>=0.2%time<=0.4)
cg_vel (f,t,position)=-2*(a-y);
if (time>=0.4)
cg_vel(f,t,position)=0;
}
UDF错误检查或编写
流程图.jpg
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

向智者学习
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhc999

金虫 (正式写手)

引用回帖:
2楼: Originally posted by gyctju at 2013-06-15 21:22:48
先不看内容,CG_motion是刚体运动,而按照你的说法壁面会"变形",而且按你图示,壁面前后至少长度是不一样的,不管是长度变化还是什么变化,只要是形状发生了变化 就要用 define_grid_motion

这么晚才回复您,见谅了
我对udf的知识量也就到刚体运动,再深的就不行了
能否留个联系方式,我私下找你请教
谢谢了
向智者学习
3楼2013-07-26 19:19:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

gyctju

金虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
zhc999: 金币+5, 有帮助 2013-06-16 09:17:28
1592203609: 金币+1, 谢谢回帖 2013-06-16 13:50:12
先不看内容,CG_motion是刚体运动,而按照你的说法壁面会"变形",而且按你图示,壁面前后至少长度是不一样的,不管是长度变化还是什么变化,只要是形状发生了变化 就要用 define_grid_motion
2楼2013-06-15 21:22:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见