24小时热门版块排行榜    

查看: 2272  |  回复: 3

feir122

新虫 (初入文坛)

[求助] 动网格边界面结点为什么不动呢,附程序,急求助!

#include "udf.h"
#include"dynamesh_tools.h"
DEFINE_GRID_MOTION(moving_wall, domain, dt, time, dtime)
{
  Thread *tf = DT_THREAD (dt);
  face_t f;
  Node *v;
  int n;
  cell_t c0;
  Thread *t0;
  real x,y,z;

  SET_DEFORMING_THREAD_FLAG (THREAD_T0 (tf));

  
  begin_f_loop (f, tf)
    {

c0 = F_C0(f,tf);
t0 = THREAD_T0(tf);
C_UDMI(c0,t0,5)=C_UDSI_G(c0,t0,0)[0]+C_UDSI_G(c0,t0,1)[1];
F_UDMI(f,tf,5)=C_UDMI(c0,t0,5);
      f_node_loop (f, tf, n)
        {
          v = F_NODE (f, tf, n);
if (NODE_POS_NEED_UPDATE (v))
            {
{NODE_POS_UPDATED (v);

x=NODE_X(v);
y=NODE_Y(v);
z=NODE_Z(v);               
z=z-C_UDMI(c0,t0,5)*dtime;
                        }
              }
        }
    }
  end_f_loop (f, tf);
}


我是想控制底面边界上结点的z坐标下移一定的距离,下移的大小每个结点处都不太相同,取决于F——udmi(f,tf,5)中对应结点处值的大小,所以我就用了z=z-C_UDMI(c0,t0,5)*dtime或者z=z-F_UDMI(f,t,5)*dtime来定义,因为我觉得F_UDMI(f,t,5)中包含面上每个结点的值了。但是,动网格运行好久都不见变化,网格不动。是不是F_UDMI(f,t,5)不能直接这么使用给z坐标啊?在后处理中看UDM5都是一直在变化,一直计算的很正常,但是就是结点z坐标就不变.求大神指点啊!!小女子不胜感激!
回复此楼

» 猜你喜欢

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

18428346586

铁虫 (初入文坛)

楼主会用DEFINE_GRID_MOTION宏么,我也正在学习用这个宏来控制边界节点的运动,但是搞了好久节点都动不了,请教楼主这个宏是怎么运用的?
2楼2015-12-02 20:49:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

浅浅笑王子

铁虫 (正式写手)

请问楼主这个问题有进展了么

发自小木虫Android客户端
3楼2016-03-16 17:56:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Rixon

新虫 (初入文坛)

你好 请问怎么看UDM的变化???
4楼2018-03-07 19:44:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 feir122 的主题更新
信息提示
请填处理意见