动网格经典集合


【让网格动起来】Fluent中动网格出现负体积,怎样处理? 最近在做一个三维旋转圆柱绕流算例,动网格这边一直有负体积出现,试了很多次 也没有解决,但同样的操作二维就可以实现,在预览三维动网格时迭代到一定时 间后最大单元畸变率就开始增大直到超过0.95,到出现负体积,这是什么原因造 成的呢,旋转的那块采用四面体结构,其畸变率小于0.83,还有一个就是三维四 面体的畸变率是不是多数在0.7以上呢?udf应该是没有问题,参数设臵也感觉没 有问题,现在不知原因错在哪?求老师指点。 /ap/bd/Q/qv/id/12036 间步长设臵要合适,建议修改时间步长和网格重建参数。 还要修改网格重建参数,网上有很多过于这个的分析,可以参考一下。 【让网格动起来】在Fluent中,并行编译UDF时,Primitive Error at Node 1: open_udf_library: 系统找不到指定的文件 是什么原因? (1)并行的UDF和单机的UDF不一样,不能用单机的UDF编译后的文件目录直接用 ,必须重新在并行情况下编译一次(会看到目录下多了两个文件夹); (2)修改libudf为绝对路径。 /ap/bd/Q/qv/id/12092
【让网格动起来】动态分层(layering)问题 您好,我在练习动网格,用的动态分层的方法,做的实例如下,让小方块向 右动起来。我将流场分了四个区域(小方块上部,小方块左部,小方块 右部,小方块下部)。上下区域的分界线采用的是interface。小方块左右 两边设定为刚体运动,上下两边设定为变形。四个interface设臵为变形。 采用的软件是fluent 6.3.26。layering的设定是拉伸0.4,合并0.2,希望高度 1m(图中网格每格为2m,物体运动速度1m/s) /ap/bd/Q/qv/id/12191 主要是interface没设臵好。你的整个流场还是在一个区域中。 【让网格动起来】使用动网格模拟流致振动在模拟流致振动这个问题,在网 上的许多文献都是是用fluent+UDF的办法加以解决,而软件教学书本上 常常使用的是workbench进行流固耦合模拟。请问使用以上哪一种方法较 好(较好发文章)呢?并且请教一下流致振动这一块,需要学习什么样的 基础知识呢? fluent+UDF和workbench进行耦合,是两种不同的处理方式。 如果只是发文章,两种方法都可以。 /ap/bd/Q/qv/id/12199
【让网格动起来】在Fluent中,要做个飞机投弹的动网格模型,具体的网格是 怎麽画的? 动网格的思维方式是将需要移动的部分周围网格进行变形重组,其实际上还 只是一个共同流域,因此网格按照边-面-体的方式离散就行! /ap/bd/Q/qv/id/11906 【让网格动起来】在Fluent中三维动网格报错,在预览动网格时迭代到一段 时间后最大单元畸变率就开始增大直到出现负体积,这是什么原因呢? 最近在做一个三维旋转圆柱绕流算例,在预览动网格时迭代到一段时间后最 大单元畸变率就开始增大直到出现负体积,这是什么原因呢?同样的操作 二维就没有出错,三维就一直报错,希望你能指点指点! /ap/bd/Q/qv/id/12035 1、时间步长; 2、修改网格再生方法和参数。
【让网格动起来】在Fluent中,预览动网格不论怎么修改,参数还是时间步 长,最大单元畸变率还是一直增大,怎么解决? 最近在预览动网格不论怎么修改,参数还是时间步长,最大单元畸变率还是 一直增大,肯定某个地方出问题但不知哪儿,纠结,该怎么解决呢 /ap/bd/Q/qv/id/12171 建议详细描述您的模型。 动网格参数的设臵无非就那么几个地方: (1)动网格方法选择。对于不同的网格类型和运动方式,选择合理的动网 格方法。比如说光顺方法适合于小幅度运动及三角形四面体网格;动态 层方法适合于四边形六面体网格的单方向运动;网格重构适合于三角形 四面体大幅度运动。 (2)动网格参数。设臵了方法之后需要设臵合理的动网格参数。怎样的参 数才算合理?需要根据经验来决定,您需要详细描述模型,别人才能给 你网格参数设臵上的建议。 (3)动区域设臵。确保动区域设臵合理。这个比较复杂,强烈建议您看一 下FLUENT帮助文档中的动网格一章。
动网格经典集合
更新时间:2013-11-26
让网格动起来 Fluent软件有完善的动网格技术,不仅可以解决鸟 儿飞行、鱼儿游动等仿生学问题,也可以解决发动 机内活塞与阀门的运动,导弹、飞机、子弹等涉及 到边界运动的流体力学的问题都可以解决。 本期专题小编就为大家展示动网格的魅力,让网格 动起来!
资讯:
【让网格动起来】流沙《利用6DOF模型计算小球自空气中跌落水中》的扩 展所遇见的问题 参照流沙的新浪博客(/s/blog_599d8faa010121yc.html) 《利用6DOF模型计算小球自空气中跌落水中》一文,做了相关的例子, 能够顺利实现。随后,我有对模型进行了修改,如图1(第一幅图)所示, 原意是实现小球调入水中之后右侧水面升高,水流入右侧管道中,使得 小球顺着水面向右侧飘动。动网格预览中没有问题,可以实现小球的下 落过程,如图2所示。但是加入多相流之后,上部的出口条件为pressureout时,在迭代一个时间步长之后出现:Aivergence detected in AMG solver: epsilon。更换层流\湍流模型,都是计算一个时间步之后出现Divergence detected in AMG solver:...。在这个时间步中,小球都有很小的运动(多相 流模型如图3所示)。当把出口设臵为outflow时,可以迭代,但是小球严 重偏离原来的轨迹,如图4所示。 希望能后借这个机会了解一下出现上述问题的原因,非常感谢您的阅读。 恳请各位专家能持续关注这个问题,非常感谢! 模型msh、careid=1929827936&uk=4228494921 /ap/bd/Q/qv/id/12214 1、为什么要用outflow?outflow用于充分发展的流动出口。 2、把动网格和多相流分开调试,然后合在一起调试。 3、右侧通道附近网格密度需要加密,是否可以考虑分区?
【让网格动起来】如何使坐标随网格一起动? 在建立几何模型时坐标原点位于动体上,那网格在动的时候如何使坐标随动 体一起动呢? /ap/bd/Q/qv/id/12203 使用滑移网格即可实现。那就直接使用动网格吧。 【让网格动起来】动网格 网格划分问题 现在很多fluent书中关于动网格的例子,都没有解释动网格的划分问题。首 先gambit的网格划分没有怎么讲,其次icemcfd这么专业的网格划分软件, 也不举例用此前处理软件作为例子讲讲,我觉得很有必要用这个前处理 软件举例划分二维跟三维的,有利于我们更好的学习动网格。 /ap/bd/Q/qv/id/12207 fluent主要专注的是流体动力学分析,网格划分时基础,至于动网格,其划 分原则和普通的网格区别不大,或者说没什么区别。
苍蝇的“飞行秘籍” 橄榄球旋转的奥秘 被动型动网格解决方案: 6DOF模型 /ap/bd/Topic/topic_article/id/4603 通用CFD,专用CFD,谁是我的最爱? CFD软件的现状 《精通CFD动网格工程仿真与案例实践》读书笔记
问答:
【让网格动起来】如何使坐标随网格一起动? 在建立几何模型时坐标原点位于动体上,那网格在动的时候如何使坐标随动 体一起动呢? /ap/bd/Q/qv/id/12203 使用滑移网格即可实现。那就直接使用动网格吧。 【让网格动起来】动网格 网格划分问题 现在很多fluent书中关于动网格的例子,都没有解释动网格的划分问题。首 先gambit的网格划分没有怎么讲,其次icemcfd这么专业的网格划分软件, 也不举例用此前处理软件作为例子讲讲,我觉得很有必要用这个前处理 软件举例划分二维跟三维的,有利于我们更好的学习动网格。 /ap/bd/Q/qv/id/12207 fluent主要专注的是流体动力学分析,网格划分时基础,至于动网格,其划 分原则和普通的网格区别不大,或者说没什么区别。
【让网格动起来】在Fluent 中做六自由度仿真的时候,出现负体积,终止计 算?这个是什么做六自由度仿真的时候,平动产生的力,扭矩值均不会 有较大变化,而在平动过程中发生转动时,力和扭矩值会发生剧烈的变 化(10倍以上的平动值),导致网格畸变,出现负体积,终止计算?这 个是什么原因呢? 做六自由度仿真的时候,平动产生的力,扭矩值均不会有较大变化,而在平 动过程中发生转动时,力和扭矩值会发生剧烈的变化(10倍以上的平动 值),导致网格畸变,出现负体积,终止计算?这个是什么原因呢? /ap/bd/Q/qv/id/12187
【让网格动起来】在将UDF函数与动边界连到一起时出错,并且预览动网格 时动网格没有变化,是怎么回事? 步长设臵,网格是六面体/四边形还是四面体/三角形,还有网格的重构方式, udf编写的是否正确都会有影响。 还有出错了怎么预览?如果只是预览没变化的话就是后面几种原因导致的, 如果是预览过程中出错大多是第一种原因。 /ap/bd/Q/qv/id/11893 【让网格动起来】FLUENT13.0动网格UDF的编译时,找不到指定文件: libudf.dll,是什么原因? 1.你有没有正确的安装VC++,而且需要添加lib、include等环境变量 2.你的 UDF有问题不能编译 3.非并行UDF到并行情况下使用 4.检查一下你的 UDF文件名,不要有特殊字符啊空格之类 /ap/bd/Q/qv/id/11894
【让网格动起来】在Fluent中,用udf 热源进行初始化,为什么卡住了?能否 帮我看下程序哪里有错误? 求大神帮我看看我的程序哪里出问题了?这是一个激光高斯面热源程序,我 的意图是:激光脉宽0.008s,频率是10Hz,就是1秒激光打10次,每次持 续0.008s。但是模拟的结果却是不能初始化,初始化时就卡主了,一直停 在那。求大神救我! 如果只是没有发热的话,是不是因为坐标系的原因,网格点不在你选的范围 内。 /ap/bd/Q/qv/id/11593 【让网格动起来】在fluent中计算动网格,开始迭代运算,直至运算完成网 格都没动,是什么原因啊? 你说的是动网格吗,问题描述不清。 如果是动网格的话,在计算时网格是不动的。你后处理看即可 /ap/bd二冲程活塞动网格,分块后交界面无法连通, 如何解决? 我在做二冲程活塞动网格时,汽缸圆柱面上有扫气气道和排气气道,即有交 界面,我是把他们分块做的网格,现在交界面无法联通,请问如何能让 汽缸面和气道联通起来,然后又能实现活塞运动?非常感谢! /ap/bd/Q/qv/id/12180 需要定义两个区域为Disconnected,然后再Fluent中设定Mesh Interface就可以 了,然后活塞运动可以参考in-cylinder给定相关参数设定。
合集下载

FLUENT动网格讲解分析

FLUENT动网格讲解分析

题记:在学习使用Fluent的时候,有不少朋友需要使用动网格模型(Dynamic Mesh Model),因此,本版推出这个专题,进行大讨论,使大家在使用动网格时尽量少走弯路,更快更好地掌握;也欢迎使用过的版友积极参与讨论指导,谢谢!该专题主要包括以下的主要内容:##1.动网格的相关知识介绍;##2.以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程;##3. 与动网格应用有关的参考文献;##4. 使用动网格进行计算的一些例子。

##1.动网格的相关知识介绍有关动网格基础方面的东西,请具体参考FLUENT User’s Guide或FLUENT全攻略的相关章节,这里只给出一些提要性的知识要点。

1、简介动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。

边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。

网格的更新过程由FLUENT 根据每个迭代步中边界的变化情况自动完成。

在使用动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。

可以用边界型函数或者UDF 定义边界的运动方式。

FLUENT 要求将运动的描述定义在网格面或网格区域上。

如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。

那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。

不同区域之间的网格不必是正则的,可以在模型设置中用FLUENT软件提供的非正则或者滑动界面功能将各区域连接起来。

注:一般来讲,在Fluent中使用动网格,基本上都要使用到UDF,所以你最好具备一定的C 语言编程基础。

2、动网格更新方法动网格计算中网格的动态变化过程可以用三种模型进行计算,即弹簧近似光滑模型(spring-based smoothing)、动态分层模型(dynamic layering)和局部重划模型(local remeshing)。

动网格实例

动网格实例

NACA0012翼型俯仰振荡(动网格的应用过程);本例是想对作简谐振荡运动的NACA0012翼型的气动特性(升力系数,阻力系数和力矩系数)进行数值计算,来流速度为V,攻角的变化规律为:Alpha(t)=A/2*sin(omega*t)其中,A=10度,omega=10*pi 弧度/秒。

1、该例需要使用动网格来实现,首先需要编写刚体运动UDF实现翼型的俯仰运动,由于在FLUENT的UDF中只能指定速度,角速度;所以,需要将攻角对时间求导,得到转动角速度的规律:D(alpha)/dt=A*omega/2*cos(omega*t)编写的UDF在附件中。

2、由于本例只是为了讲述动网格的实现,至于其他方面的设置及分析就不再讨论;这里详细讲述下动网格的建立以及动网格的预览的结果。

步骤如下:1)将mesh文件读入到FLUENT中,Grid:check,scale…,Smooth/Swap…;Display Grid;2)定义求解器为,Define:pressure-based,2D,unsteady,Implicit,Green-Gauss Node Based(因本例使用的是三角形单元).3)编译UDF,Define->User-Defined->Functions->Complied…此时打开了Complied UDFs的窗口,Add…在选择UDF的对话框中找到NACA0012DM文件夹中的airfoil.c文件,选中,ok;此时返回到Complied UDFs的窗口点击Build,FLUENT 开始进行编译,可以在FLUENT窗口看到编译的一些过程提示;等编译完成,点击Load;就将已经编译好的UDF加载到FLUENT中了。

4)定义动网格参数,Define->Dynamic Mesh(选勾,激活动网格模型)->Parameters…此时打开了Dynamic Mesh Parameters 窗口,在Models中只选取Dynamic Mesh,本例的网格类型为三角形单元,要实现的运动为小幅度的转动,因此选用的动网格更新方法为Smoothing+Remeshing;开始依次对这两种更新方法进行参数设定:Smoothing中的参数设定:Spring Constant Factor(弹簧倔强系数),该值设定为一个较小的值,在0.01到0.1之间,本例选取0.08;Boundary Node Relaxation(边界节点松弛),设定为0.5;Convergence Tolerance(收敛判据),保持默认的0.001;Number of Iterations(迭代次数),保持默认的20;Remeshing中的参数设定:为了得到较好的网格更新,本例在使用局部网格重新划分方法时,使用尺寸函数,也就是Remeshing+Must Improve Skewness+Size Function的策略。

动网格系列(一)

动网格系列(一)
/* projection of node on cylinder axis */
b = NV_DOT(rvec, axis);
NV_V_VS(Pp, =, origin, +, axis, *, b);
/*节点沿径向运动*/
NV_VV(dvec, =, NODE_COORD(v), -, Pp);
在动网格设置面板中,点击按钮【Create/Edit…】按钮,弹出动网格区域定义对话框。如图1-5、图1-6所示。
在图1-6所示面板中,设置Zone Names为fluid-cylinder,设置Type为User-Defined,在下方的Motion Attributes标签页中设置Mesh Motion UDF为scale_cyl::libudf,点击按钮【Create】创建动网格区域。
点击按钮【Load】加载UDF文件。如图1-2所示。
UDF加载成功后,input.txt文件内容将会被显示在命令窗口中。如图1-3所示。
图1-2编译UDF
图1-3input.txt文件内容
Step 4:设置网格运动及缩放圆柱区域
点击模型树节点【Dynamic Mesh】,在右侧面板中勾选【Dynamic Mesh】,本例不需要设置Mesh Methods,如图1-4所示。
{
v = C_NODE(c,tc,n);//取得节点
if (NODE_POS_NEED_UPDATE(v))
{
NODE_POS_UPDATED(v);
/* direction vector of node wrt origin of cylinder axis */
NV_VV(rvec, =, NODE_COORD(v), -, origin);

Fluent动网格系列篇

Fluent动网格系列篇

A:求解uds不,求解选specified flux就行了。一般来说速度
的第二类边界条件不用特别设置吧
Q:边界条件设置UDS菜单的中,编号为0的标量方程应该是自 定义的第一个标量方程还是动量方程?动量方程的flux在哪 里设置呢?如果需要求解一个自定义的标量方程,那么第二 类边界条件如何编写UDF?还有一个问题,flux给定的是对x 的偏导还是对y的偏导?
散,各位有木有碰到这种情况的?
A:VOF法比较容易发散,且引起发散的原因很多。 1.调小点时间步长、松弛因子。 2、检查求解格式 3、检查网格
4、检查边界条件
2.Fluent风扇用fan模型计算知道PQ曲线 :大家好,在fluent, 没有风扇的结构尺寸,但是厂家给了风扇的PQ曲线,想利用 fluent的Fan模型,设置了PQ曲线,但是计算的流量为0之类
到边界运动的流体力学的问题都可以解决。
咨讯: 1.FLUENT动网格系列:公转&自转
2.FLUENT动网格系列:System Coupling流固耦合
3.FLUENT动网格系列:区域运动
问答:
1.使用vof功能时,为什么经常会发散?无论是结构网格还是非
结构网格,使用vof功能时,基于压力的求解器下,很容易发
却。我在 Gambit中已经把网格划分完毕,先划十节圆柱形电
池,然后通过布尔操作把电池和风扇减去,最后划分剩下的 部分。由于电池在充放电时需要发热,所以需要 给电池加载 生热率,我以前用ANSYS可以直接添加生热率,但是不知道 Fluent该如何处理,网上有人说使用UDF,但是大约看了一下 UDF的介绍,也还不太清楚。有哪位.pdf 网格与CFD求解精度的关系,Fluent公司工程师崔凯的文章。 曾经想整理出版,但是他自己找不到原稿了,翻箱底我竟然 找到了,哈哈哈,分享给需要者。

动网格技术

动网格技术

动网格技术题记:在学习使用Fluent的时候,有不少朋友需要使用动网格模型(Dynamic Mesh Model),因此,本版推出这个专题,进行大讨论,使大家在使用动网格时尽量少走弯路,更快更好地掌握;也欢迎使用过的版友积极参与讨论指导,谢谢!该专题主要包括以下的主要内容:##1.动网格的相关知识介绍;##2.以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程;##3. 与动网格应用有关的参考文献;##4. 使用动网格进行计算的一些例子。

##1.动网格的相关知识介绍有关动网格基础方面的东西,请具体参考FLUENT User’s Guide 或FLUENT全攻略的相关章节,这里只给出一些提要性的知识要点。

1、简介动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。

边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。

网格的更新过程由FLUENT 根据每个迭代步中边界的变化情况自动完成。

在使用动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。

可以用边界型函数或者UDF 定义边界的运动方式。

FLUENT 要求将运动的描述定义在网格面或网格区域上。

如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。

那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。

不同区域之间的网格不必是正则的,可以在模型设置中用FLUENT软件提供的非正则或者滑动界面功能将各区域连接起来。

注:一般来讲,在Fluent中使用动网格,基本上都要使用到UDF,所以你最好具备一定的C 语言编程基础。

2、动网格更新方法动网格计算中网格的动态变化过程可以用三种模型进行计算,即弹簧近似光滑模型(spring-based smoothing)、动态分层模型(dynamic layering)和局部重划模型(local remeshing)。

动网格经典集合

动网格经典集合

【让网格动起来】流沙《利用6DOF模型计算小球自空气中跌落水中》的扩 展所遇见的问题 参照流沙的新浪博客(/s/blog_599d8faa010121yc.html) 《利用6DOF模型计算小球自空气中跌落水中》一文,做了相关的例子, 能够顺利实现。随后,我有对模型进行了修改,如图1(第一幅图)所示, 原意是实现小球调入水中之后右侧水面升高,水流入右侧管道中,使得 小球顺着水面向右侧飘动。动网格预览中没有问题,可以实现小球的下 落过程,如图2所示。但是加入多相流之后,上部的出口条件为pressureout时,在迭代一个时间步长之后出现:Aivergence detected in AMG solver: epsilon。更换层流\湍流模型,都是计算一个时间步之后出现Divergence detected in AMG solver:...。在这个时间步中,小球都有很小的运动(多相 流模型如图3所示)。当把出口设臵为outflow时,可以迭代,但是小球严 重偏离原来的轨迹,如图4所示。 希望能后借这个机会了解一下出现上述问题的原因,非常感谢您的阅读。 恳请各位专家能持续关注这个问题,非常感谢! 模型msh、careid=1929827936&uk=4228494921 /ap/bd/Q/qv/id/12214 1、为什么要用outflow?outflow用于充分发展的流动出口。 2、把动网格和多相流分开调试,然后合在一起调试。 3、右侧通道附近网格密度需要加密,是否可以考虑分区?
动网格经典集合
更新时间:2013-11-26
让网格动起来 Fluent软件有完善的动网格技术,不仅可以解决鸟 儿飞行、鱼儿游动等仿生学问题,也可以解决发动 机内活塞与阀门的运动,导弹、飞机、子弹等涉及 到边界运动的流体力学的问题都可以解决。 本期专题小编就为大家展示动网格的魅力,让网格 动起来!

滑移网格与动网格

图1采用滑移网格
图2采用动网格
滑移网格与动网格都可以计算瞬态运动问题。

但是存在以下区别:
(1)滑移网格需要建立多个域,实际上还是计算区域运动,是一个独立区域内所有网格一起运动,而动网格则是真正意义上的网格运动。

(2)滑移网格不会涉及到网格的变形与重生,但是要设计到交界面设置
(3)滑移网格不会造成负体积,而动网格极易形成负网格
(4)滑移网格是一种简化了的模型,最大计算误差出现在交界面位置
(5)动网格误差常出现在运动壁面位置,因此实际应用中往往将边界层与壁面合在一起运动。

(6)SRF,MRF与MP只能计算稳态,在新版本的FLUENT中应用的是坐标系变换,和滑移网格的设置有所区别。

动网格学习资料汇总

动网格学习资料汇总为了提高流体传动与控制研究室科研助理对FLUENT软件的学习效率,现将有关动网格学习资料进行汇总,资料来源于书籍和网上资源,不能以偏概全,希望科研助理在学习的过程中,多搜集相关资料,作为后续补充,逐渐完善,为以后科研助理的学习提供帮助。

1、动网格简介动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。

边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。

网格的更新过程由FLUENT根据每个迭代步中边界的变化情况自动完成。

在使用动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。

可以用边界型函数或者UDF 定义边界的运动方式。

FLUENT 要求将运动的描述定义在网格面或网格区域上。

如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。

那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。

不同区域之间的网格不必是正则的,可以在模型设置中用FLUENT软件提供的非正则或者滑动界面功能将各区域连接起来。

注:一般来讲,在Fluent中使用动网格,基本上都要使用到UDF,所以你最好具备一定的C语言编程基础。

2、动网格更新方法动网格计算中网格的动态变化过程可以用三种模型进行计算,即弹簧近似光滑模型(spring-based smoothing)、动态分层模型(dynamic layering)和局部重划模型(local remeshing)。

弹簧近似光滑模型原则上弹簧光顺模型可以用于任何一种网格体系,但是在非四面体网格区域(二维非三角形),最好在满足下列条件时使用弹簧光顺方法:(1)移动为单方向。

(2)移动方向垂直于边界。

如果两个条件不满足,可能使网格畸变率增大。

另外,在系统缺省设置中,只有四面体网格(三维)和三角形网格(二维)可以使用弹簧光顺法,如果想在其他网格类型中激活该模型,需要在dynamic-mesh-menu 下使用文字命令spri ng-on-all-shapes,然后激活该选项即可。

动网格

①进行动网格演示时,首先设置为transient;②动网格预览:display zone motion---preview mesh motion;预览之后不保存,重新打开才能恢复原样;③问题:出现负体积:如果有error前有warning,仔细查看;第一章理论基础1.1 网格生成方法比较1)铺层layering计算区域进行扩张和收缩时,网格进行合并或删除;特点:①网格的增加或删除是一层一层进行的;②适用于四边形、六面体和三棱柱网格,不适用于三角形、四面体网格;③常适用于边界线线性运动;2)弹性光顺spring smoothing计算区域进行扩张和收缩时,网格和节点像弹簧一样被拉伸和压缩(接近运动的地方压缩严重);特点:①节点数量和链接关系不发生变化;②如果变形幅度过大,网格会高度扭曲;③适用于三角形、四面体网格,也适用于四边形、六面体和三棱柱网格;3)局部重构local remeshing计算区域进行扩张和收缩时,会自动重构扭曲或尺寸过大的网格,以满足要求;①节点的数量和链接关系会发生变化;②适合大变形、大位移;仅使用与三角形网格和四面体网格;③常和spring smoothing联合使用;1.2 边界运动1.2.1 in-cylinder对于类活塞运动,fluent集成了气缸(in-cylinder)模型;dynamic mesh---option---in cylinder;1)常用参数Crank radius:曲柄半径;connecting rod length:连杆半径;(1)通过设置起始、终止角度、曲柄、连杆半径,调整指定边界运动范围;设置crank angle step size,调整边界运动速度;设置起始、终止角度、piston axis方向,调整边界运动的方向;2)指定运动区域Dynamic mesh zones---creat/edit;Zone name---选择gambit中指定的运动边界;Type---rigid body;Motion attributes---选择piston-full(motion udf/profile)---指定活塞轴方向(piston axis);设置h_ideal(meshing option---cell hight);1.2.2 profile对于预先指定的运动,可用profile来描述;1)define---profile---read;后缀名为prof;1.2.3 六自由度模型对于物体运动和流体作用力耦合的计算问题,可以使用六自由度模型;1.2.4 udf1.3 变形的指定1.3.1 deforming1)边界上的节点,默认情况下是静止的(既不弹性光顺也不局部重构);在smoothing时,如果将边界设置为deforming,则边界上的节点会做类似内部节点的运动和生成;2)deforming的变形形式(1)面板中只能定义cylinder和plane类型的变形;如果边界复杂,则需要用DEFINE_GEOM来定义形状;①cylinder:2d:轴不能是z轴,其实成了一个矩形,定义的边界沿着两条直线变形;(2)对于边界沿直线变化,用layering时不需要定义deforming;但是沿曲线变化则需要用deforming的udf(如扇形网格中的圆弧);3)变形原理第二章铺层2.1 参数设置Hight based:铺层形成的网格在同一层内高度相同;Ratio based:同一层网格高度可能不同,但是不同位置处不同层网格高度比相同(移动边界为斜直线或曲线时常常出现);Split factor:相邻网格的高度为h_ideal,当网格高度h > (1 + split factor) * h_ideal 时,一层网格被分成两层网格;Collapse fator:当网格高度h < collapse factor * h_ideal时,该层网格与相邻网格层合并;2.2 运动形式1)静止stationary2)刚体运动rigid body motion3)变形deforming4)用户自定义user-defined2.3 区域优先级1)运动优先级静止区域:高;面区域:中;单元区域:低;2)以活塞向上运动为例活塞边界(wall_down)为面区域,fluid为单元区域;如果指定wall_down为rigid body,则网格在wall_down运动的地方进行铺层;如果指定fluid(或者interior和其他边界)为rigid body,指定wall_up为stationary,则网格在顶部进行铺层;2.4 边界条件的继承性第三章弹性光顺3.1 参数3.1.1 convergence tolerance(收敛容差)1)收敛容差和迭代步数,默认值在一般情况下都比较适用;2)在迭代过程中,节点当前一次迭代位移与第一次迭代位移之比作为收敛控制参数,当其小于设定的收敛容差时,迭代停止;在一定迭代步内不能达到规定的收敛容差,也需要停止迭代,防止死循环;3.1.2 spring constant factor弹性常数主要控制内部节点相对于运动边界的位移变形;范围0-1;默认为1,此时网格在活塞(运动边界)变形明显,远离活塞变形不明显,网格仅局部变化,插值过程少,但是网格拉伸扭曲大时,也会影响计算精度;为0时,运动边界几乎影响到所有边界,网格全局变化,需要全局插值,影响计算精度;3.1.3 laplace node relaxation节点松弛因子:内部节点位移对变形边界(deforming)节点位移的影响程度;范围0-1;默认1;先在dynamic mesh zones---meshing option---smoothing methord---laplace,然后在smoothing设置该参数才会起作用;为1,内部节点充分影响到变形边界节点运动;为0,不影响,相当于没有设置deforming变形;3.2 smoothing用于其它类型网格Smoothing一般用于三角形和四面体网格,但也可以用于其他类型的网格;设置:mesh method---setting---smoothing---parameters---element---all;第四章局部重构4.1 remeshing基本特点1)当网格的扭曲率或者尺寸超过用户规定范围时,网格被重构;2)适用于三角形和四面体网格,网格节点和数量都发生改变;3)remeshing一般和smoothing结合使用;4)适用于大位移大变形,比如转动和平动结合的运动;4.2 remeshing算法4.2.1 remeshing算法流程1)标记网格参数:Minimum length scale,maxmum length scale,maxmum cell skewness;标记出尺寸超出最小最大范围的网格,以及扭曲率超过给定值的网格;Size remeshing interval:每几个时间步进行一次网格重构;Mesh cell info可以查看当前网格的信息;2)标记的网格被删除形成空穴;3)求解器使用一系列重构方法,进行区域填充;4)将物理量在重构的网格上进行插值;4.2.2 算法1)面网格重构:(1)Region face remeshing:区域面网格重构;一般定义最小网格尺度是平均尺度的0.4倍,最大尺度是平均尺度的1.4倍;(2)local face remeshing:局部面网格重构;完全基于网格的扭曲率;不能重构那些同时属于多个变形区域的面网格;设置:首先mesh moethods---setting---选中local face---设置face skewness;然后dynamic mesh zones---meshing option---remeshing method---勾选local;(3)2.5Dface remeshing:2.5维度面网格重构;见例9,虽然是三维网格,但是重构仅仅涉及一对表面,故为2.5d;设置:Remeshing---2.5d---设置参数即可;对于2.5为cell hight没什么用;4.2.3 remeshing参数1)Size remeshing interval(SRI):通过网格尺寸控制网格重构的频率;每一个时间步,fluent都会根据扭曲率进行标记网格,并决定是否重构:如果扭曲率超标,进行重构;如果扭曲率不超标,且达到SRI的间隔,且最小最大尺寸超标,则也进行重构;网格扭曲率对计算的影响大于网格尺寸;SRI较大时,网格重构主要受扭曲率控制,SRI较小时,网格重构受扭曲率和尺寸共同控制;2)maxmum cell skewness二维:0.6-0.7;三维:0.85;4.3 其它4.3.1 时间步长动网格预览时的时间步长的选取:1)基于网格尺寸和运动速度:Deta_t < min_scale / max_velocity;4.3.2 算法技巧动网格的时间步长要足够小,每一次移动网格应该小于最小网格尺寸的一半;光顺方法的结合可以适当增加时间步长;如果移动幅度已知,最好将区域划分,减少计算;4.4 sizing function尺寸函数4.4.1 说明1)功能:尺寸函数用于控制重构过程中网格的分布,使网格变化更加均匀;尺寸函数在运动边界处约束网格,使其维持在一个较小的尺度,在远离运动边界处,逐步将其增大;运用尺寸函数时,fluent自动标记出网格尺度大于当地尺寸函数值的网格;尺寸函数仅用于网格标识,并不在重构过程中控制网格尺寸;2)fluen重构网格步骤(1)标记扭曲率大于maximum cell skewness的网格;(2)如果time = SRI * deta_t,标记出长度尺度小于minmum scale length和大于maxmum scale length的网格;(3)如果打开了sizing function,标记出不满足当地尺寸函数的网格;(4)对标记网格进行重构;(5)如果打开了smoothing(推荐打开),进行光顺;4.4.2 参数1)resolution:分辨率,控制背景网格的密度;variation:变化量,最大允许网格尺度的量度;Rate:变化率,网格成长率的量度;rate=0,意味着线性增长,rate越大,表明边界处网格生长越慢,内部网格生长越快;2)设置fluent会自动生成variation和rate,默认参数就行;4.4.3 技巧1)以等高线显示尺寸函数分布:初始化流场---输入:/solve/set/expert---keep temporary memory be freed?[no]yes(这一个打开,其它全为no)---graphics and animation---countours---adaption---background size function;4.4.4 原理1)[me]fluent将当前网格边长代入尺寸函数进行计算,如果大于标准值,则标记出来;标准值:由标准网格尺寸代入求解;标准尺寸deta_s:二维,与网格等面积的三角形网格边长;三维,等体积的四面体边长;第五章其它5.1 耦合运动6DOF5.1.1 概念用in-cylinder或者profile定义的运动一般是预知的;而6DOF求解器可以计算运动与流场耦合的运动5.2.2 设置1)原理6DOF是将每一个时间步的速度角速度进行积分得到当前位置和角度的;2)设置首先:在dynamic mesh中勾选6DOF---setting设置重力加速度;然后:rigid body---motion attributes---six DOF option勾中on;第十章网格实例10.1 油缸1)设置底边为rigid body:网格在底边生成和销毁;10.2 箱体移动1)设置fluid和箱体为rigid body,左右边界为stationary:网格在左右边界生成和销毁;10.3 子弹移动设置下面流域和子弹体为rigid body;最左右侧边界设为stationary;网格在左右侧产生和销毁;设置子弹体为rigid body:网格在子弹体左右产生和销毁(不利于计算);10.4 扇形网格扇形网格铺层:定义右下边界为rigid body,用profile文件定义其转动角速度;定义内外圆弧为deforming,用udf中define_geom定义其上节点在圆上进行节点位置更新;①udf:sector.c: DEFINE_GEOM();10.5 油缸弹性Smoothing网格光顺;左右边界设置为deforming;下边界设置为rigid body;10.6 箱体振动Smoothing其他类型网格;Box设置为rigid body;10.7 投弹Remeshing + smoothing;设置边界层为regid body(边界层自动包含弹体边界);之前出现负网格,是因为指定单体边界运动,而周围边界层网格为四边形不能remeshing;①如果用6DOF:弹体和fluid_bondary_layer都设置为rigid body,并且在fulid_bondary_layer打开6DOF时,选中passive;②udf:6DOF_missile_drop.c:DEFINE_SDOF_PROPERTIES()10.8 活塞Remeshing---region face + smoothing;底面设置rigid body,圆柱侧面设置为deforming---cylinder;10.9 2.5D设置内外表面为rigid body;用profil文件定义旋转,方向相反(设置一个转动即可);设置上下表面为deforming---plane,上表面的meshing method中勾选remeshing,下表面的不勾选remeshing,因为下表面是由上表面拉伸过去的。

fluent 动网格

Remeshing方法中的一些参数设定:Remeshing中的参数Minimum length scale和Maximum Length Scale,这两个参数你可以参考mesh scale info中的值,仅是参考,因为mesh scale info中的值是整个网格的评价值,设置的时候看一下动网格附近的网格和整个网格区域的大小比较,然后确定这两个参数,一般来讲,动网格附近的网格较密,这些值都比整体的小,所以在设置时通常设置为比mesh scale info中的Minimum length scale大一点,比Maximum Length Scale小一点。

以上是一般来讲的设置思路。

下面是我在NACA0012翼型动网格例子中的设置:Remeshing中的参数设定:为了得到较好的网格更新,本例在使用局部网格重新划分方法时,使用尺寸函数,也就是Remeshing+Must Improve Skewness+Size Function的策略。

将Minimum Length Scale及Maximum Length Scale均设置为0,为了使所有的区域都被标记重新划分;Maximum Cell Skewness(最大单元畸变),参考Mesh Scale Info…中的参考值0.51,将其设定为0。

4,以保证更新后的单元质量;Size Remesh Interval(依照尺寸标准重新划分的间隔),将这个值设定为1,在FLUENT,不满足最大网格畸变的网格在每个时间步都会被标记,而后重新划分,而不满足最小,最大及尺寸函数的网格,只有在Current Time=(Size Remesh Interval)*delta t的时候,才根据这些尺寸的标准标记不合格的单元进行重新划分,为了保证每步的更新质量,将其修改为1,就是每个时间都根据尺寸的标准标记及更新网格.Size Function Resolution(尺寸函数分辨率),保持默认的3;Size Function Variation(尺寸函数变量):建议使用一个小值,在0.1到0。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档