宏DEFINE_GRID_MOTION用来移动任意边界和流体区域内的网格节点。它提供了对节点和网格最大限度的操作,可以将刚体运动、变形和相对运动等结合起来。但是使用此UDF时,每一个时间步都必须执行。

DEFINE_GRID_MOTION限制:

1.

给定节点的运动是基于绝对坐标的,不可基于相对坐标的。

2.

给定节点的新位置是基于该节点上一个时间步的位置,而不是该节点的初始(t=0)位置

3.

宏DEFINE_GRID_MOTION中没有用户定义的节点位置内存记忆

4.

当使用宏DEFINE_GRID_MOTION时,节点移动的区域的连接关系不能改变。

摘自《ANSYS FLUENT技术基础与工程应用:流动传热与环境污染控制领域》,源代码有误,对原UDF进行了修正,添加注释

圆管在垂直流动方向上的振动方程如下:

式中,A表示振动圆柱的振幅,ω表示振动角频率,f表示振动频率。作为示例,在本例中,设A=4mm,f=25Hz

#include"udf.h"

#include"math.h"

#define
omeg 50*3.14159265358979323846

#define A
0.004    //振幅

DEFINE_GRID_MOTION(mc,domain,dt,time,dtime)

{

Thread*
tf=DT_THREAD(dt);    
//DT_THREAD 就是获取网格运动所在的
thread 指针

face_t
f;

Node*
v;    //指向网格节点的指针

int
n;

SET_DEFORMING_THREAD_FLAG(THREAD_T0(tf));

Message("\nprevious
time=%.5f\t current
time=%.5f\n",PREVIOUS_TIME,CURRENT_TIME);

Message("time=%.5f\t
dtime=%.5f\t n=%d",time,dtime,N_TIME);

begin_f_loop(f,tf)

{

f_node_loop(f,tf,n)

{

v=F_NODE(f,tf,n);

if(NODE_POS_NEED_UPDATE(v))        //在UDF手册当中没有查询到NODE_POS_NEED_UPDATED和NODE_POS_UPDATED宏

{

NODE_POS_UPDATED(v);

NV_D(NODE_COORD(v),=,NODE_X(v),NODE_Y(v)+A*sin(omeg*(N_TIME+1)*CURRENT_TIMESTEP)-A*sin(omeg*N_TIME*CURRENT_TIMESTEP),NODE_Z(v));

}

}

}

end_f_loop(f,tf);

}

二维算例(点击图片查看动态图):





三维算例(点击图片查看动态图)





最新文章

  1. [.NET Core].NET Core R2安装教程及Hello示例
  2. Android随笔之——Android ADB详解
  3. JAVA 设计模式 迭代器模式
  4. 解决xib约束冲突
  5. Linux-某电商网站流量劫持案例分析与思考
  6. Oracle分析函数 — rank, dense_rank, row_number用法
  7. Android 换肤功能的实现(Apk插件方式)
  8. css3360度旋转动画
  9. hdu 5072 Coprime(同色三角形+容斥)
  10. PHP新手之学习数组声明
  11. mobile开发中常用的css
  12. Python模块 - re
  13. bzoj3944Sum
  14. ArrayList add方法的实现之扩容
  15. 如何以system身份运行指定的程序?
  16. BZOJ1208 [HNOI2004]宠物收养所 splay
  17. C#mvc下拉框绑定
  18. Asp.net mvc 5 CRUD代码自动生成工具- vs.net 2013 Saffolding功能扩展
  19. MySQL5.7更改用户名密码
  20. HTML5标签embed详解

热门文章

  1. 【转载】 C#使用Math.PI常量来表示圆周率
  2. WIN7U X64环境下的SQL SERVER 2008R2的防火墙配置
  3. elk使用不足及弥补报警措施
  4. Android笔记(七十三) Android权限问题整理 非常全面
  5. idea中添加web.xml配置文件与tomcat启动中遇到的web.xml文件找不到的问题
  6. ssh无密码连接
  7. HTML&CSS基础-常用选择器
  8. C实现除法
  9. 2013.4.29 - KDD第十一天
  10. 数据库系统load飙高问题解决思路