首页/文章/ 详情

Fluent动网格|光顺

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家
平台推荐
内容稀缺
7月前浏览10339

本文摘要(由AI生成):

本文介绍了Fluent动网格中网格光顺的控制方法,通过两个案例演示了弹簧光顺和扩散光顺的实现过程。弹簧光顺采用Smoothing方法,使用UDF定义网格运动,通过设置变形区域、动网格设置、动网格预览等步骤实现。扩散光顺采用Diffusion方法,同样使用UDF定义网格运动,通过设置General参数、读取Profile文件、设置动网格、指定区域运动类型、网格预览等步骤实现。两个案例均采用2D、Double Precision方式启动Fluent,并读取相应的网格文件。


本案例演示Fluent动网格中网格光顺的控制方法。

1 案例1:弹簧光顺

  • 2D、Double Precision方式启动Fluent

  • 读取网格文件metal-sheet.msh

初始网格如下图所示。

1.1 分割计算区域

变形区域需要进行分割。

  • 点击按钮Setting Up Domain Zones → Separate → Faces...打开如下图所示对话框,按图所示设置参数,点击按钮Separate分割边界

1.2 General设置

  • 激活Transient计算

1.3 编译UDF

  • 点击按钮User Defined → User Defined → Functions → Compiled...打开对话框,编译UDF

源代码如下: 


 #include "udf.h"
 #include "dynamesh_tools.h"
 #define AMPL .1
 #define FREQ 10.
  
 DEFINE_GRID_MOTION(vibration1, domain, dt, time, dtime)
 {
   face_t f;
   Thread *tf = DT_THREAD ((Dynamic_Thread *)dt);
   Node *v;
   real x;
   int n;
   /* set deforming flags */
   SET_DEFORMING_THREAD_FLAG (tf->t0);
  
   begin_f_loop (f, tf)
    {
       f_node_loop (f, tf, n)
    {
       v = F_NODE (f, tf, n);
       x=NODE_X(v);
       NODE_Y(v)=+AMPL*sin(M_PI*x/2)*sin(2*M_PI*FREQ*time)+0.03;
    }
       Update_Face_Metrics (f, tf);
    }
   end_f_loop (f,tf)
   printf("\n x_velocity \n");
 }
  
 DEFINE_GRID_MOTION(vibration2, domain, dt, time, dtime)
 {
   face_t f;
   Thread *tf = DT_THREAD ((Dynamic_Thread *)dt);
   Node *v;
   real x;
   int n;
   /* set deforming flags */
   SET_DEFORMING_THREAD_FLAG (tf->t0);
  
   begin_f_loop (f, tf)
    {
       f_node_loop (f, tf, n)
    {
       v = F_NODE (f, tf, n);
       x=NODE_X(v);
       NODE_Y(v)=+AMPL*sin(M_PI*x/2)*sin(2*M_PI*FREQ*time)-0.03;
    }
       Update_Face_Metrics (f, tf);
    }
   end_f_loop (f,tf)
  
 }


1.4 动网格设置

  • Dynamic Mesh,采用Smoothing方法

  • 采用弹簧光顺

  • 使用默认参数

  • 设置变形区域metal-sheet,设置类型为User-Defined,设置Mesh motion UDFvibration2::libudf

  • 设置变形区域metal-sheet:003,设置类型为User-Defined,设置Mesh motion UDFvibration1::libudf

  • 设置区域metal-sheet:011,采用如下图所示参数

  • 设置区域lower-left,设置其为Deforming,采用图中所示参数

  • 设置区域upper-left,采用下图所示参数

1.5 动网格预览

  • 采用下图所示参数预览网格运动

网格变形结果如下图所示。

2 案例2:扩散光顺

  • 2D、Double Precision方式启动Fluent

  • 读取网格文件diffusion.msh

计算网格如图所示。

2.1 General设置

  • 激活Transient计算

2.2 读取Profile文件

  • Physics → Zones → Profiles...读取profile文件


2.3 设置动网格

  • 激活动网格,采用Smoothing方法

  • 采用Diffusion光顺

  • 采用默认光顺参数

  • 指定区域box的运动类型为Rigid Body,如下图所示设置运动参数

2.4 网格预览

  • 保存case文件

  • 如下图所示设置预览参数

网格运动如图所示。

2.5 改变运动为转动

  • 读取case文件

  • 如下图所示修改区域box的网格运动形式

  • 设置网格预览参数

  • 网格预览如下图所示



Fluent动网格UDF代码&命令通用
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2019-11-02
最近编辑:7月前
CFD之道
博士 | 教师 探讨CFD职场生活,闲谈CFD里外
获赞 2568粉丝 11328文章 737课程 27
点赞
收藏
未登录
4条评论
何贻海
有志者,事竟成!
3年前
感谢流沙老师!
回复
韩新宇
签名征集中
3年前
网格变形的大小对计算结果有没有影响
回复
yujiong
机械人,机械魂,机械都是人上人...
4年前
这个挺好啊,用于练习动网格。
回复
4年前
udf给个备注就好了
回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈