动网格除了前面讲了很多的关于运动指定之外,另一个重要主题则为网格的更新。
在部件运动之后,不可避免的会造成网格形状的变化,如若不对网格加以控制,在持续运动的过程中,则可能造成网格极度变形、歪曲率过大,甚至产生负体积。因此必须对发生变形的网格进行矫正。
Fluent主要提供了三种方式控制网格:

  • Smoothing
  • Layering
  • Remeshing
    本文关注Fluent中的Smoothing方法。

    启用Smoothing方法

    Smoothing方法的启用非常简单,只需要在Dynamic Mesh中激活Smoothing选项即可,如图所示。

    之后可进入Setting...菜单项中进行参数设置。

    Smoothing设置面板

    Smoothing参数比较多,如图所示。

    其包含三种光顺方法:

  • Spring/Laplace/Boudary Layer
  • Diffusion
  • Linearly Elastic Solid
    通常选择:
  • 小幅度的网格运动,使用smoothing方法,此方法计算量较小
  • 大幅度的网格运动,建议使用Diffusion方法,此方法可以提供较好的网格质量
  • 对于存在旋转运动的边界,可以使用Linearly Elastic Solid方法,此方法计算量最大,但能够提供更好的网格质量。

弹簧光顺

弹簧光顺(Spring)是最基础的光顺方法,也是Fluent默认使用的光顺方法。
该方法的基本思路是将网格节点之间的连接线近似为弹簧,通过计算节点之间力平衡方程得到各节点光顺后的位置。
\[ \vec{F_{i}}=\sum_{j}^{n_i}{k_{ij}(\Delta\vec{x}_j-\Delta\vec{x}_i)} \]

式中\(\Delta \vec{x}_i\)及\(\Delta \vec{x}_j\)分别为节点i与节点j的位移。\(n_i\)为与节点i相连的节点数量;\(k_{ij}\)为节点i与节点j之间的弹簧刚度。

弹簧刚度可定义为:
\[ k_{ij} = \frac{k_{fac}}{\sqrt{|\vec{x}_i-\vec{x}_j|}} \]
式中\(k_{fac}\)为Spring Constant Factor,是一个需要用户输入的值。

当弹簧力达到平衡时,可计算得到:
\[ \Delta \vec{x}_i^{m+1}=\frac{\sum_{j}^{n_i}{k_{ij}\Delta \vec{x}_j^m}}{\sum_{j}^{n_i}{k_{ij}}} \]
其中,m为迭代次数。

当节点i的位移计算得到之后,即可更新网格位置:
\[ \vec{x}_{i}^{n+1}=\vec{x}_i^n+\Delta \vec{x}_i^{converged} \]

需要设置的参数包括:

  • Spring Constant Factor:弹簧常数因子。该参数控制了扩散阻尼,参数取值范围0~1,默认值为1。此参数越小,表示网格之间的阻尼越小,网格运动更容易扩散到更远的节点。当边界运动较为剧烈时,可适当减小此数值。
  • Convergence Tolerance:收敛精度。计算网格节点运动采用的是迭代法,这个迭代容差控制了迭代精度。默认值为0.001,通常不需要修改。
  • Number of Iterations:迭代次数。当迭代次数达到此设定值,停止迭代计算。默认值为20,通常不需要修改。
    这三个参数决定了弹簧光顺过程中网格节点的运动方式。
    Elements方式决定了更新的网格类型:
  • Tri in Tri Zones:只光顺三角形或四面体网格
  • Tri in Mixed Zones:光顺混合区域中的三角形或四面体网格

要点

对于弹簧光顺方法:

  • 光顺方法并不会改变网格拓扑关系。意思是说,不管部件如何运动,网格节点之间的链接关系不会发生改变,网格的数量也不会变化。因此光顺方法只适合于小幅度的运动
  • 可通过调整设置参数Spring Contant Factor来控制网格节点的运动幅度。当边界运动幅度很大时,可适当降低该参数值,从而利用更多的网格节点运动来消减边界运动造成的网格影响。
  • 光顺方法只要适用于三角形或四面体网格,虽然Fluent宣称smoothing方法可以用于所有网格,但其实在其他类型的网格上,smoothing并不会得到好的结果。
    ---
    更多关于CFD内容,可微信扫描下方二维码关注微信公众号。

转载于:https://www.cnblogs.com/LSCAX/p/7016996.html

Fluent动网格【11】:弹簧光顺相关推荐

  1. Fluent动网格【1】:概述

    最近总有小伙伴向我询问Fluent中的动网格问题,因此决定做一期关于Fluent动网格技术的内容. 动网格技术在流体仿真中很特殊,应用也很广.生活中能够碰到形形色色的包含有部件运动的问题,比如说我现在 ...

  2. 一个Fluent动网格问题及解决方法的记录

    一个Fluent动网格问题及解决方法的记录 case中有固体和液体两种区域.由于固体模仿的是推进剂非均匀燃烧,因此燃面上下两侧边界层外有一部分使用了三角形网格.在计算过程中,推进剂的下部和右侧均是流场 ...

  3. Fluent动网格【8】:网格节点运动案例

    Fluent动网格中的DEFINE_GRID_MOTION宏允许用户定义网格节点的运动.本案例演示采用DEFINE_GRID_MOTION宏指定边界节点的运动. 案例动网格效果如图所示. 案例描述 本 ...

  4. fluent 动网格模型

    1. 光顺模型: ①弹簧光顺: 遵循胡克定律,推荐四面体网格和三角形网格使用,其他情况下应满足下列条件: a:移动是单方向的 b:移动方向垂直运动边界 在非四面体和三角形网格中使用的时候,激活该模型需 ...

  5. Fluent动网格【5】:部件变形

    在动网格中关于部件运动除了指定刚体运动外,有时还需要指定某些边界的变形,这种情况经常会遇到,尤其是与运动部件存在相连接边界的情况下,如下图中边界1运动导致与之相连的边界2和边界3发生变形. Fluen ...

  6. Fluent动网格【2】:Profile文件

    动网格中一个重要任务是部件运动方式的指定.在动网格中指定部件的运动,往往将部件的运动方式指定为其加速度.速度或位移与时间的相关关系,本文主要讲述如何在Fluent中利用瞬态Profile文件指定部件的 ...

  7. Fluent动网格+滑移网格+重叠网格对比介绍(以震荡水翼flapping foil为例)

    初学fluent笔记,本文主要包含: Flapping foil在fluent内的几种实现方式 在哪设置动网格.滑移.重叠网格 flapping的UDF 示例 写在前面:Fluent在预览网格运动/提 ...

  8. fluent动网格profile文件的编写

    在fluent中指定部件运动主要有两种方式:profile文件和UDF宏文件.当运动方程已知时,利用UDF宏指定运动非常方便,而profile方法则适合当需要指定的运动无任何函数关系的情况. 标准瞬态 ...

  9. 二十一、动网格Layering方法及实例

    1  概念介绍 我们之前给出的案例计算域边界都是固定不变的,如文章二十的多孔介质.文章十八的DPM模型等,但实际上一些工况下计算域的边界可能发生运动或者变形,如风扇扇叶的运动.齿轮的运动等. 对于计算 ...

最新文章

  1. 10个经典又容易被人疏忽的JVM面试题
  2. Ubuntu16.04 安装Qt
  3. 转:Git_Windows 系统下Git安装图解
  4. Gibbs sampling
  5. 机器学习算法精讲20篇(一)-k-means聚类算法应用案例(附示例代码)
  6. Activiti工作流之实现一个简单的流程审批
  7. boost::sloan_ordering用法的测试程序
  8. 计算机桌面为什么总是换,你的电脑桌面是什么,
  9. Vue中生成二维码的一种方式—vue-qr
  10. aop 获取方法入参出参_Spring AOP 如何将参数传递给需要织入的方法
  11. topic1:Qt入门之搭建环境与hello world看Qt开发框架
  12. PHP微信公众开发笔记(九)
  13. 软件测试必问必背面试题
  14. ubuntu20.10设置桌面共享的三种方式
  15. Apollo.Photonics.FOGS.BG.v3.2(以Bragg光栅原理为基础建立的一款光纤设备模拟及优化软件)
  16. android gridview 拖动排序,android可拖动排序GridView实现
  17. 群晖NAS同步阿里云盘
  18. 借助工业网关如何实现罗克韦尔PLC的远程监控和维护?
  19. 排序——使每位学生都有座位的最少移动次数
  20. 【读书札记】《北大授课》中华文化四十七讲 余秋雨

热门文章

  1. java大鱼吃小鱼_Java课程设计——大鱼吃小鱼(团队)
  2. 处理大文件排序的方式--外部排序
  3. 食物中的天然“血管保护伞”,最好每周吃一次,血管清,人长寿!
  4. 在iOS上进行WebP编码是一种怎样的体验?
  5. 移动app测试的多样性_web测试与移动App测试的常见测试要点
  6. HP-UX执行Oracle相关命令报错Memory fault(coredump)分析处理
  7. windows系统RNDIS驱动手动安装
  8. BeautifulSoup中的.text 和get_text()的区别,.text与.string的区别
  9. gnu parallel_使用GNU Parallel在Linux命令行上完成更多工作
  10. 005:vue+openlayers加载Mapbox地图示例