Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. Fluent
  3. udf动网格壁面运动速度的问题

udf动网格壁面运动速度的问题

已定时 已固定 已锁定 已移动 Fluent
7 帖子 3 发布者 9.7k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • H 离线
    H 离线
    hellofoam
    写于 最后由 CFD中文网 编辑
    #1

    大家好,我想让一个壁面实现一个简单的变形,如图:

    0_1460382916291_捕获.JPG
    就是从左图变形边界壁面变形到右边。
    我用DEFINE_CG_MOTION的宏写了一个udf:

    	begin_f_loop(f,t)
    	{
    		F_CENTROID(x,f,t);
    		y = x[1];
    		printf("\ny=%f\t",y);
    		vel[0] = -2.*(y+2.5);
    		printf("vel[0]=%f\n",vel[0]);
    	}
    	end_f_loop(f,t)
    	printf("vel=%f\n",vel[0]);
    

    其中我想让在左边壁面上的每个节点的运动速度跟y坐标值有关。
    但是,我在预览动网格变形的时候发现壁面的运动并没有像我想象的那样倾斜,而是保持竖直的。
    请问,我的这段程序该怎么修改才能实现那样的效果呢?谢谢!

    1 条回复 最后回复
  • 硫 离线
    硫 离线
    硫酸亚铜
    写于 最后由 编辑
    #2

    用DEFINE_GRID_MOTION宏试试看

    H 1 条回复 最后回复
  • H 离线
    H 离线
    hellofoam
    在 中回复了 硫酸亚铜 最后由 编辑
    #3

    @硫酸亚铜已经解决了,谢谢😊

    硫 1 条回复 最后回复
  • 硫 离线
    硫 离线
    硫酸亚铜
    在 中回复了 hellofoam 最后由 编辑
    #4

    @hellofoam 贴一下你自己的解决方法噻

    1 条回复 最后回复
  • H 离线
    H 离线
    hellofoam
    写于 最后由 CFD中文网 编辑
    #5

    还是没有总逛论坛的习惯~
    我就是利用DEFINE_GRID_MOTION将坐标按照一定的规律重新赋值。

    #include "udf.h"
    DEFINE_GRID_MOTION(my_grid,d,dt,time,dtime)
    {
    	Thread *t=DT_THREAD(dt);
    	Node *node;
    	face_t f;
    	int n;
    	SET_DEFORMING_THREAD_FLAG(THREAD_T0(t));
    	begin_f_loop(f,t)
    	{
    		f_node_loop(f,t,n)
    		{
    			node=F_NODE(f,t,n);
    			if(NODE_POS_NEED_UPDATE(node))
    			{
    				NODE_POS_UPDATED(node);
    				if(NODE_X(node)!=0)
    				{
    					NODE_COORD(node)[0]=NODE_X(node)+NODE_Y(node);
    				}
    				else NODE_COORD(node)[0]=0;				
    			}
    		}
    	}
    	end_f_loop(f,t)
    }
    

    NODE_COORD(node)是重新赋值的部分,[0]表示x坐标。不知道这样做好不好~

    硫 1 条回复 最后回复
  • 硫 离线
    硫 离线
    硫酸亚铜
    在 中回复了 hellofoam 最后由 编辑
    #6

    @hellofoam 感谢你的分享

    望 1 条回复 最后回复
  • 望 离线
    望 离线
    望山跑
    在 中回复了 硫酸亚铜 最后由 编辑
    #7

    @硫酸亚铜 大神,又看到你了,我要膜拜你了。

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]