扩散光顺是Fluent提供的另外一种常用的网格光顺方法。其基本原理是通过求解扩散方程得到网格节点的运动位移。

扩散光顺基本计算

扩散光顺通过求解 以下扩散方程来设置网格的节点位置。
\[
\nabla \cdot (\gamma \nabla \vec{u})=0
\]
其中,u为网格的运动速度。求解出运动速度后,可以很容易获得网格节点在下一个时间步长的位置。
\[
\vec{x}_{new}=\vec{x}_{old}+\vec{u}\Delta t
\]
式中, γ为扩散系数。Fluent提供两种计算扩散系数的方法。

  • Boundary distant:基于网格节点与边界zhi的距离来计算扩散系数。

\[
\gamma = \frac{1}{d^\alpha}
\]

式中d为正则化后的网格节点与边界之间的距离。

  • cell volume:基于网格体积计算扩散系数。

\[
\gamma = \frac{1}{V^\alpha }
\]

式中,v为网格正则化体积。

参数\(\alpha\)即扩散光顺设置面板中的Diffusion Parameter,如下图所示。此参数取值\(\alpha \ge 0\)。

扩散光顺参数设置

扩散光顺需要设置的参数只有Diffusion Parameter,亦即前面公式中的\(\alpha\)。

该参数取值范围为0~2。当取值为0时,扩散系数\(\gamma=1\),则计算域中网格为均匀扩散。提高此参数值可以使得距离运动边界较远区域吸收更多的位移。对于旋转边界运动,建议初始扩散参数取1.5。

注意:扩散光顺比弹簧光顺的计算量要大,但通常能够获得比弹簧光顺更好的网格质量(特别是对于非四面体/非三角形网格区域)。与弹簧光顺一样,扩散光顺也更适合于平移运动,对于旋转运动边界则很容易出现负体积。

Linearly Elastic Solid光顺

线弹性实体光顺方法是新版本Fluent中添加的。此方法则是通过借鉴弹性力学中的平衡方程来计算节点位移。具体计算方法可参阅Fluent UserGuid的10.6.2.1.3节。

该方法只有一个参数需要设置:Poisson's Ratio。泊松比的取值方位为-1.0~0.5。默认参数为0.45。

此方法的计算量比扩散光顺更大,但是能够提供比扩散光顺更好的网格质量。此方法支持二维的三角形和四边形网格,三维模型中的四面体、六面体、三棱柱以及五面体网格,但是不能用于变形网格区域中包含有多面体或悬挂节点的网格。在包含有多面体或悬挂节点的网格区域,建议使用扩散光顺。


更多关于CFD内容,可微信扫描下方二维码关注微信公众号。

Fluent动网格【12】:扩散光顺的更多相关文章

  1. Fluent动网格【13】:网格光顺总结及实例

    光顺(Smoothing)方法是最基本的网格节点更新方法.Fluent提供了三种光顺方法: Spring弹簧光顺 Diffusion扩散光顺 Linearly Elastic Solid光顺 三种方法 ...

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

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

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

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

  4. Fluent动网格【11】:弹簧光顺

    动网格除了前面讲了很多的关于运动指定之外,另一个重要主题则为网格的更新. 在部件运动之后,不可避免的会造成网格形状的变化,如若不对网格加以控制,在持续运动的过程中,则可能造成网格极度变形.歪曲率过大, ...

  5. Fluent动网格【9】:区域运动

    本文所述的区域运动并非动网格中的运动域,而是指在多参考系(MRF)或滑移网格中所涉及到的区域的运动. 在滑移网格中指定区域运动时,除了能够指定绝对运动外,还能指定某一区域与其他区域间的相对运动,如图所 ...

  6. Fluent动网格【7】:网格节点运动

    在动网格中,对于那些既包含了运动也包含了变形的区域,可以通过UDF来指定区域中每一个节点的位置.这给了用户最大的自由度来指定网格的运动.在其他的动网格技术中(如重叠网格)则很难做到这一点.定义网格节点 ...

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

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

  8. Fluent动网格【3】:DEFINE_CG_MOTION宏

    除了利用Profile进行运动指定之外,Fluent中还可以使用UDF宏来指定部件的运动.其中用于运动指定的宏主要有三个: DEFINE_CG_MOTION DEFINE_GEOM DEFINE_GR ...

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

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

随机推荐

  1. RFC2616-HTTP1.1-Header Field Definitions(头字段规定部分—单词注释版)

    part of Hypertext Transfer Protocol -- HTTP/1.1RFC 2616 Fielding, et al. 14 Header Field Definitions ...

  2. shell delete with line number

    If you want to delete lines 5 through 10 and 12: sed -e '5,10d;12d' file This will print the results ...

  3. 深度学习(TensorFlow)环境搭建:(三)Ubuntu16.04+CUDA8.0+cuDNN7+Anaconda4.4+Python3.6+TensorFlow1.3

    紧接着上一篇的文章<深度学习(TensorFlow)环境搭建:(二)Ubuntu16.04+1080Ti显卡驱动>,这篇文章,主要讲解如何安装CUDA+CUDNN,不过前提是我们是已经把N ...

  4. SpringBoot应用War包形式部署到外部Tomcat

    这一篇文章介绍SpringBoot应用修改默认打jar形式部署为打war包形式,部署到外部Tomcat. SpringBoot应用默认打包成为可执行jar模式让我们感觉到部署的便捷,接下来给大家介绍一 ...

  5. SpringBoot返回json和xml

    有些情况接口需要返回的是xml数据,在springboot中并不需要每次都转换一下数据格式,只需做一些微调整即可. 新建一个springboot项目,加入依赖jackson-dataformat-xm ...

  6. XamarinAndroid组件教程RecylerView适配器设置动画

    XamarinAndroid组件教程RecylerView适配器设置动画 本小节将讲解动画相关设置,如动画的时长.插值器以及复合动画等. 1.设置动画时长 设置动画持续的时间可以使用Animation ...

  7. 简单总结下opacity、transparent以及rgba

    这几个概念最开始学的时候只是有个大致印象,现在复习这部分的知识点,发现不仔细区分一下,还真有点混乱. 三者共同点是都和透明有关.先分着来说一下: 1.opacity用来设置元素的不透明级别,从 0.0 ...

  8. C++多态实现原理详解

    C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数.如果对象类型是派生类,就调用派生类的函数:如果对象类型是基类 ...

  9. [算法]Collebarative Filtering

    挖坑 https://en.wikipedia.org/wiki/Collaborative_filtering

  10. 1171 Big Event in HDU 01背包

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1171 题意:把商品分成两半,如不能均分,尽可能的让两个数相接近.输出结果:两个数字a,b且a>=b. ...