动网格

合集下载

Fluent 动网格实例具体操作步骤

Fluent 动网格实例具体操作步骤

目录实例:Profile定义运动 (2)I、参数说明 (2)II、操作步骤 (3)一、将计算域离散为网格 (3)二、Fluent操作步骤 (4)1.启动Fluent 14.5求解器 (4)2.初始设置 (4)3.选择湍流模型 (5)4.设置流体物性 (6)5.设置边界条件 (7)6.动网格设置 (8)7.设置其它选项 (12)在Fluent中,动网格模型可以用来模拟由于流域边界运动引起流域形状随时间变化的流动情况,动网格在求解过程中计算网格要重构,例如汽车发动机中的气缸运动、阀门的开启与关闭、机翼的运动、飞机投弹等等。

CFD中的动网格大体分为两类:(1)显式规定的网格节点速度。

配合瞬态时间,即可很方便的得出位移。

当然一些求解器(如FLUENT)也支持稳态动网格,这时候可以直接指定节点位移。

(2)网格节点速度是通过求解得到的。

如6DOF模型基本上都属于此类。

用户将力换算成加速度,然后将其积分成速度。

在Fluent中,动网格涉及的内容包括:(1)运动的定义。

主要是PROFILE文件与UDF中的动网格宏。

(2)网格更新。

FLUENT中关于网格更新方法有三种:网格光顺、动态层、网格重构。

需要详细了解这些网格更新方法的运作机理,每个参数所代表的具体含义及设置方法,每种方法的适用范围。

动网格的最在挑战来自于网格更新后的质量,避免负体积是动网格调试的主要目标。

在避免负网格的同时,努力提高运动更新后的网格质量。

拉格朗日网格(固体有限元计算)网格欧拉网格(流体计算)实例:Profile定义运动I、参数说明本次实例采用的场景来自于流体中高速飞行的物体。

如子弹、火箭、导弹等。

这里只是为了说明profile在动网格运动定义中的应用,因此为了计算方便不考虑高速问题。

问题描述如下图所示:图 1 (1为运动刚体,2为计算域)图2计算说明:由于不考虑也没办法考虑刚体的变形,因此在构建面域的时候,将1中的部分通过布尔运算去除。

计算域总长度300mm,其中固体运动最大位移为:300-40-30-6mm=224mm。

FLUENT_6_动网格技巧

FLUENT_6_动网格技巧

FLUENT 6 动网格技巧一、动网格简介CFD动网格大致分为两类:第一类为显式规定网格节点速度,配合瞬态时间,即可很方便的得出位移,当然一些求解器(如FLUENT)也支持稳态动网格,这时候可以直接指定网格节点的位移。

第二类为网格节点速度是通过求解得到的,如6DOF模型基本上都属于此类,用户将力换算成加速度,然后将其积分成速度。

对于第一类动网格问题,在FLUENT中通常可以使用Profile与UDF进行网格设置,通过规定节点或区域的速度、角速度或位移等方式来显式确定网格的运动,通常大部分的动网格问题都归于此类。

而对于第二类问题,通常涉及到力的计算,力在流体中通常是对压力进行积分而来。

将力转换为速度或位移,一般涉及到加速度、转动惯量等物理量的计算。

在FLUENT中,可以使用6DOF模型进行处理,在CFX中,可以使用刚体模型(13.0以上版本才有)。

在FLUENT中,动网格涉及的内容包括:1)运动的定义。

主要是PROFILE文件与UDF中的动网格宏。

2)网格更新。

FLUENT中关于网格更新方法有三种:网格光顺、动态层、网格重构。

需要详细了解这些网格更新方法的运作机理,每个参数所代表的具体含义及设置方法,每种方法的适用范围。

动网格的最在挑战来自于网格更新后的质量,避免负体积是动网格调试的主要目标。

在避免负网格的同时,努力提高运动更新后的网格质量。

二、第一类动网格操作0打开FLUENT双击桌面快捷方式→ 选择2D或3D模式(FLUENT和GAMBIT默认单位为米)1导入网格文件File → Read → Case → 选择mesh文件2检查网格文件Grid > Check(可以查看网格的大致情况,如有无负体积等)3定义求解器Define → Models → Solver → 在Time项里点选Unsteady(非稳态求解器)4编译UDF文件Define → User-Defined → Functions → Compiled → 单击Add添加UDF文件(*.C)→点击Build按钮→ 点击Load按钮→ 点击Close按钮(如果不关闭编译对话框,在调试程序时可随时对程序进行编译)5设定动网格参数Define → Dynamic Mesh → Parameters→ 勾选Dynamic Mesh> Models(模型)Dynamic Mesh(动网格,默认勾选)In-Cylinder(气缸)2.5DSix DOF Solver(六自由度)> Mesh Methods(网格方法)Smoothing(网格光顺,默认勾选)Layering(动态分层)Remeshing(网格重构)> Smoothing(网格方法)Spring Constant Factor(弹簧常数因子,默认为1)Boundary Node Relaxation(边界节点松弛,默认为1)Convergence Tolerance(收敛容差,默认为0.001)Number of Iterations(迭代次数,默认为20)> Layering(网格方法)Constant Height(固定高度)Constant Ratio(固定比例)Split Factor(分割因子)Collapse Factor(收缩因子)> Remeshing(网格方法)Size Function(尺寸函数)Must Improve Skewness(必须提高扭曲度)Face Remeshing(面网格重构)Minimum Length Scale(最小长度缩放,默认为0)Maximum Length Scale(最大长度缩放,默认为1000)Maximum Cell Skewness(最大单元扭曲度,默认为0.6)Maximum Face Skewness(最大面扭曲度,默认为0.7)Size Remeshing Interval(尺寸重构间隔,默认为10)Size Function Resolution(尺寸函数分辨率,默认为3)Size Function V ariation(尺寸函数变异,默认为1.581787)Size Function Rate(尺寸函数比率,默认为0.3)6设定动网格区域Define → Dynamic Mesh → Zones> Zone Names(在下拉列表里选择要运动的区域或边界)> Type(点选区域或移动边界的类型)Stationary(静止的)Rigid Body(刚体,默认勾选)Deforming(变形)User-Defined(用户自定义)> Motion Attributes(运动属性)Motion UDF/Profile(运动自定义文件,一般UDF文件编译后,会在下拉列表中显示)Center of Gravity Location(全部设置为0)Center of Gravity Orientation(全部设置为0)> Geometry Definition(几何定义,一般不设置)> Meshing Options(网格划分选项)Adjacent Zone(毗邻区域,默认为fluid)Cell Height(单元高度,一般设定为网格单元最小尺寸)→ 单击Create按钮→ 单击Draw按钮→ 单击Update按钮→ 单击Close按钮(这一步非常关键,否则无法预览动态网格)7显示网格Display → Grid(弹出网格显示窗口)8预览动网格Solve → Mesh Motion> Time(时间设置)Current Mesh Times(当前时间,即瞬态运动的时间)Time Step Sizes(时间步长,每个子步的时间)Number of Time Steps(时间步,即总的时间步数)> Display Options(显示选项)Display Grid(显示网格,默认勾选)Save Hardcopy(保存硬拷贝)Enable Autosave(启动自动保存)Display Frequency(显示频率,默认为1)三、第二类动网格操作Number of Iterations(最大迭代步数,在每个时间子步内迭代的次数,即在一个时间步内计算稳态的过程)。

动网格2

动网格2

本文摘自“工程流体网论坛”/dvbbs/dispbbs.asp?boardid=61&id=1396题记:在学习使用Fluent的时候,有不少朋友需要使用动网格模型(Dynamic Mesh Model),因此,本版推出这个专题,进行大讨论,使大家在使用动网格时尽量少走弯路,更快更好地掌握;也欢迎使用过的版友积极参与讨论指导,谢谢!该专题主要包括以下的主要内容:§一、动网格的相关知识介绍;§二、以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程;§一、动网格的相关知识介绍有关动网格基础方面的东西,请具体参考FLUENT User’s Guide或FLUENT全攻略的相关章节,这里只给出一些提要性的知识要点。

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

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

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

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

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

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

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

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

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

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

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

动网格参数图解

动网格参数图解

主要包括两部分内容:(1)Mesh Methods (2)Dynamic Mesh Zones。

该部分主要用于网格或网格域在运动过程中,设置计算域中网格节点位置更新方法。

fluent中有三种主要网格更新方法:(1)网格光顺方法(2)动态层方法(3)网格重构。

对于3D模型,还包括in-cylinder、six-dof、Implicit Update
三种选项。

其中in-cyliner用于发动机气缸模拟,six-dof主要用于流体作用于刚体,预测刚体运动。

implicit update用于设定网格更新方式。

默认采用显式方式,勾选此选项可设定网格以隐式方式更新。

2、动态网格域
用于定义网格运动的区域及运动类型。

FLUENT中网格运动类型主要有:静止、刚体运动、变形区域、用户自定义域、耦合域。

静止域在网格运动过程中,区域内节点位置保持不变。

虽然说默认情况下不设定区域运动,则该区域为静止,但是一些情况下还是需要显式设定某些区域为静止域,尤其是在一些与刚体域相连的区域处理上。

刚体运动域:这是fluent动网格中最常见的运动类型。

通过规定刚体的速度或位移来控制运动。

变形域:由于边界运动导致节点变形。

变形域通常与刚体域是相连的。

自定义域:用户可以使用UDF定义自己需要的域
耦合域:节点位移由耦合求解器计算,在流固耦合计算中,耦合面上通常设定为耦合域类型。

【ANSYS Fluent培训】15-动网格分析

【ANSYS Fluent培训】15-动网格分析
什么是动网格 (DM) 模型? FLUENT 要求将运动的描述定义在网格面或网格区域上。 如果流场中包含运动与不运动两种区域,则需要将它们组合在 初始网格中以对它们进行识别。 那些由于周围区域运动而发生变形的区域必须被组合到各自的 初始网格区域中。 不同区域之间的网格不必是正则的,可以在模型设置中用 FLUENT软件提供的非正则或者滑动界面功能将各区域连接起 来。
性 表面运动表现出CFD计算中的压力和反作用力 重力和其它力可以加入力的平衡
3.动网格更新方法
Smoothing (弹性光顺) Local Remeshing (几何重构) Layering (铺层法) 混合使用
3.动网格更新方法
Smoothing (弹性光顺)
网格的移动就像相连的弹簧,或者是海绵 连通性并没有改变 当使用独立网格形式时,受相关最小变形的限
Split Factor(分割因子)
Collapse Factor(合并因子)
式中 h min为单元的最小高度,h0 为理想单元高度, a s 为层的 分割因子,在满足上述条件的情况下,就可以对网格单元进行分 割。 式中 a c 为合并因子,在紧邻动边界的网格层高度满足这个条件 时,则将这一层网格与外面一层网格相合并。
弹性系数等于1 时
3.动网格更新方法
Boundary Node Relaxation(边界点松弛因子) 边界点松弛因子用于控制动边界上网格点的移动。当这个值为零时,边界节
点不发生移动;在这个值为1 时,则边界节点的移动计算中不采用松弛格式。在 大多数情况下,这个值应该取为0 到1 之间的一个值,以保证边界节点以合适的 移动量发生移动 Convergence Tolerance(收敛判据) 收敛判据就是网格节点移动计算中,迭代计算的判据 Number of Iterations(迭代次数) 迭代次数是指网格节点移动计算的最大迭代次数

动网格技术及其应用举例

动网格技术及其应用举例
动网格技术
• 气动外形设计 • 气动弹性优化 • 评估飞行器气动弹性性能和飞行品质
• 根据飞行器外形的变化,对网格不断的做相应 的调整 • 用动网格来适应运动的物面
动网格模型用来模拟流场状态由于边界运动随 时间改变的情况。
边界的运动形式:

指定的运动(指定其速度或角速度) 未确定的运动(边界的运动由前一步 的计算结果决定)
外形复杂的多体分离问题(如子母弹)
对人员和设 备要求很高 ①风洞试验方法
结果不能全面的 描述实际过程
②动网格方法
容易解决流 场仿真问题
子母弹分离的仿真流程
•扩展FLUENT程序的功能 •提高模型的完善性 •更好的模拟实际中的问题

• 子母弹特性
攻击范围广 毁伤面积大 攻击集群目标 或军用设施
母弹开仓
抛撒机构 抛撒子弹
(干扰流场)
子弹飞行
超音速飞行子母弹分离特性仿真:
子弹初始攻角 0o 时,经过模拟得到的云图
"勺型"变化
通过初攻角可以控 制子弹抛撒密度
同时,可以根据不 同时间的弹丸气动 力参数及运动参数, 合理设计引信。
ቤተ መጻሕፍቲ ባይዱ
• 引信作用过程
保障安全 解除保险 目标探测 发火控制 起爆战斗部
• 动网格技术
气动力参数 六自由度运动参数 流场特性

Fluent理论手册3—滑移网格及动网格理论

Fluent理论手册3—滑移网格及动网格理论

− 转捩模型
4.7:SST 转捩模型 4.8: − 模型
4.9:雷诺应力模型(RSM) 4.10:分离涡模型(DES) 4.11:大涡模拟模型(LES) 4.12:壁面边界湍流流动的近壁处理
更多关于 ANSYS FLUENT 中湍流模拟的资料, 可以查看用户手册第 12 章: 湍流模拟。
4.1 简介
例如仅有转子作用时如图态近似感兴时必须采动参考系问题也就是说周瞬态类型包子使用旋图322兴趣则可以31采用周期包括旋转323以使32要在位置要使32直线滑移网滑移网格在计算开始一个计算区成网格分在计算中图324分界面上使用瞬态分网格分网格交界线327图322转子网格技术格技术使用两始前将网格文域与其相邻分界的形式一个计算及325上网格并不需分析
湍流流动通过速度场波动进行表征。这些脉动混合诸于动量、能量及组分浓 度等标量方程, 引起传输量的脉动。 由于这些脉动存在于小尺度, 且频率非常高, 因此对其进行直接模拟非常消耗计算资源。
37
图 3.2. .8 3D 圆锥网格交界面 面 对于轴向转子/定子结构,转动 动及静止部 部分对齐于轴 轴线,分界 界面可能为平 平面 形。此面为 为垂直于沿着 着静子至转 转子的旋转轴 轴向的横截 截面。 扇形
33
图 3.2.9 9 3D 平面扇 扇形网格界面 面
3.2.3 滑移网 网格概念
如 3.2 节: :滑移网格 格理论中所讨 讨论,滑移 移网格模型允 允许相邻网 网格相对于其 其他 网格 格滑动。在这 这种情况下 下,网格面不 不需要在网 网格分界面上 上对齐。这 这种条件需要 要对 穿过 过两个非保 保角区域分界 界面的通量 量进行计算。 更多的关于 于 ANSYS FLUENT 中非 中 保角 角界面信息,查看用户 户手册 6.4 节 节:非保角 角网格。

动网格

动网格

①进行动网格演示时,首先设置为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动网格技术简介

FLUENT动网格技术简介

FLUENT动网格技术简介FLUENT动网格简介在固体有限元计算中,网格运动实非什么稀奇事儿。

而且在绝多数固体计算的基本物理量是网格的节点位移,所以,固体计算中,网格节点运动是对的,没有运动反而不正常了。

也可以这么说:正因为计算域内部节点间的相对运动,才导致了内应力的产生。

流体计算与固体完全不同。

其根源在于它们使用的网格类型不同。

当前固体有限元计算采用的是拉格朗日网格,而流体计算则大多数采用的欧拉网格。

如果说把拉格朗日网格中的节点点看作是真实世界的物质原子的话,那么欧拉网格的节点则好比是真实世界中的一个个传感器,它们总是呆在相同的位置,真实的记录着各自位置上的物理量。

正常情况下,欧拉网格系统是这样的:计算域和节点保持位置不变,发生变化的是物理量,网格节点就像一个个布置在计算域中的传感器,记录该位置上的物理量。

这其实是由流体力学研究方法所决定的。

宏观与微观的差异决定了固体力学计算采用拉格朗日网格,流体计算采用欧拉网格。

关于这部分的详细解说,可以参阅任何一本计算流体动力学书籍。

世界是公平的。

有利必有弊。

朗格朗日网格适合计算节点位移,然而对于过大的网格变形却难以处理。

欧拉网格生来可以处理大变形(因为节点不动),然而对于对于节点运动的处理,则是其直接软肋。

然而很不幸的是,现实生活中有太多网格边界运动的实例。

如汽车发动机中的气缸运动、阀门开启与关闭、机翼的运动、飞机投弹等等等等举不胜举。

计算流体动力学计算的基本物理量通常为:速度、温度、压力、组分。

并不计算网格节点位移。

因此要让网格产生运动,通常给节点施加的物理约束是速度。

CFD中的动网格大体分为两类:(1)显式规定的网格节点速度。

配合瞬态时间,即可很方便的得出位移。

当然一些求解器(如FLUENT)也支持稳态动网格,这时候可以直接指定节点位移。

(2)网格节点速度是通过求解得到的。

如6DOF模型基本上都属于此类。

用户将力换算成加速度,然后将其积分成速度。

对于第一类动网格问题,在fluent中通常可以使用profile与UDF 进行网格设置,通过规定节点或区域的速度、角速度或位移等方式来显式确定网格的运动,通常大部分的动网格问题都归于此类。

fluent 动网格

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。

FLUENT动网格教程

FLUENT动网格教程

FLUENT动网格教程摘自题记:在学习使用Fluent的时候,有不少朋友需要使用动网格模型(Dynamic Mesh Model),因此,本版推出这个专题,进行大讨论,使大家在使用动网格时尽量少走弯路,更快更好地掌握;也欢迎使用过的版友积极参与讨论指导,谢谢!。

该专题主要包括以下的主要内容:§一、动网格的相关知识介绍;§二、以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程;§三、与动网格应用有关的参考文献;§四、使用动网格进行计算的一些例子。

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

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

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

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

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

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

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

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

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

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

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

2、动网格更新方法动网格计算中网格的动态变化过程可以用三种模型进行计算,即弹簧近似光滑模型(spring-based smoothing)、动态分层模型(dynamic layering)局部重划模型(local remeshing)1)弹簧近似光滑模型原则上弹簧光顺模型可以用于任何一种网格体系,但是在非四面体网格区域(二维非三角形),最好在满足下列条件时使用弹簧光顺方法:(1)移动为单方向。

FLUENT实例-搅拌桨-动网格讲解

FLUENT实例-搅拌桨-动网格讲解

搅拌桨底部十字挡板流场分析动网格实例教程搅拌设备在各个行业运用的十分广泛,搅拌就是为了更够更快速更高效的将物质与介质充分混合,发生充分的反应,而搅拌中存在着许多不利于混合的情况,比如液体旋流。

为了解决这个问题,之前很多人提出在罐体的侧壁上增加挡板,可以抵消大部分旋流,然后大部分都是研究侧挡板的,对于底部挡板的研究十分少,本文就在椭圆底部挡板增加十字型挡板,对罐体中进行流场分析。

1.Gambit建模首先用Gambit建模图形如下:图1:Gambit建立的模型分为两个区域,里面的圆柱为动区域,外面包着的大圆柱设为静区域,静区域划分网格大,划分粗糙,内部动区域划分网格小,划分精细。

边界条件主要设置了轴,搅拌桨,底部挡板,上层液面。

以下就是fluent进行数值模拟。

2.fluent数值模拟2.1导入case文件2.2对网格进行检查Minimum volume的数值大于0即可。

图2网格检查2.3调节比例单位选择mm单位。

图3比例调节2.4定义求解器参数设置如图4所示图4设置求解器参数2.5设置能量线图5能量线2.6设置粘度模型,选择k-e模型k-e模型对该模型模拟十分实用。

图6粘度模型2.7定义材料介质选择液体水。

图7介质选择2.8定义操作条件由于存在着终于,建模时的方向向上,所以在Z轴增加一个重力加速度。

图8操作条件2.9定义边界条件在边界设置重,动区域如图所示,将材料设成水,motion type设成moving reference frame (相对滑动),转速设为10rad/s,单位可在Define中的set unit中的angular-velocity设置。

而在在轴的设置中,如上图所示,将wall motion设成moving wall,motion设成Absolute,速度设成-10,由于轴跟动区域速度是相对的,所以设成反的。

图9动区域边界条件图10轴边界条件2.10设置求解器求解器的设置如图11需将momentum改成0.5即可图11求解器2.11初值初始化在Slove中选择solution initialiation设置一下,初值全为0.2.12设置残留控制将plot点上,其他参数如图12所示。

Fluent动网格

Fluent动网格

Fluent动网格----layering个一个简单实例我这几天看了点动网格技术方面的东西,在学习过程中发现这方面的例子很少,自己也走了一些弯路。

现在还好,弄明白了一些,能够应付现在我的工作。

为了让更多学习者快速了解动网格,我打算尽量把我学习心得在这里和大家分享,这里给出一个layering的一个简单例子。

1.Gambit画网格本例很简单,在Gambit里画一个10*10的矩形,网格间隔为1,也就是有100个网格,具体见下图。

都学动网格的人了,不至于这个不会做!这里需要注意一个问题:设置边界条件的时候,一定要把要移动的边单独设定,本例中一右边界作为移动的边,设成wall就可以,这里再后面需要制定。

2.编写UDF#include "udf.h"#include "unsteady.h"#include "stdio.h"#include "stdlib.h" /************************************************************/real current_time = 0.0 ;Domain * domain ;Thread * thread ;real NV_VEC( origin ),NV_VEC( force ),NV_VEC( moment ) ;/************************************************************/DEFINE_CG_MOTION(throttle,dt,vel,omega,time,dtime){current_time = CURRENT_TIME ;vel[0] = 30;Message("time=%f omega=%f\n",current_time) ; }上面这段代码就是设置x轴方向的速度为30米每秒(UDF默认是SI单位制)。

滑移网格与动网格

滑移网格与动网格

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

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

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

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

滑移网格与动网格

滑移网格与动网格

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

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

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

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

动网格参考教程

动网格参考教程

弹性系数等于0 时
在弹性系数等于1 时,弹簧系统的耗散过程 与缺省设置相同,从图中可以发现壁面发生
变形,壁面附近网格因为过度加密而质量
下降
弹性系数等于1 时
Smoothing Method
Boundary Node Relaxation(边界点松弛因子) 边界点松弛因子用于控制动边界上网格点的移动。当这个值为零时,边 界节点不发生移动;在这个值为1 时,则边界节点的移动计算中不采用 松弛格式。在大多数情况下,这个值应该取为0 到1 之间的一个值,以 保证边界节点以合适的移动量发生移动
般设置相同 网格预览SolveMesh Motion utility
Smoothing Method
Spring Constant Factor(弹簧弹性系数):
弹性系数应该在0 到1 之间变化,弹性系数等
于0 时,弹簧系统没有耗散过程,在图中算
例中,靠近壁面的网格没有被改变,而是保
持了原来的网格形状和密度
Convergence Tolerance(收敛判据) 收敛判据就是网格节点移动计算中,迭代计算的判据
Number of Iterations(迭代次数) 迭代次数是指网格节点移动计算的最大迭代次数
Local Remeshing Method
Maximum Cell Skewness(最大畸变率) Maximum Cell Volume(最大网格体积) Minimum Cell Volume(最小网格体积) 其含义是超过这些限制网格需要被重新划
那些由于周围区域运动而发生变形的区域必须被组合到各 自的初始网格区域中。
ቤተ መጻሕፍቲ ባይዱ
不同区域之间的网格不必是正则的,可以在模型设置中用
FLUENT软件提供的非正则或者滑动界面功能将各区域连

归纳整理-动网格

归纳整理-动网格

一、动网格该专题主要包括以下的主要内容:§一、动网格的相关知识介绍;§二、以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程;§三、与动网格应用有关的参考文献;§四、使用动网格进行计算的一些例子。

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

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

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

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

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

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

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

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

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

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

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

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

对于3D模型,还包括in-cylinder、six-dof、Implicit Update三种选项。

其中in-cyliner用于发动机气缸模拟,six-dof主要用于流体作用于刚体,预测刚体运动。

fluent 动网格

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。

动网格模型(Dynamic Mesh )学习

动网格模型(Dynamic Mesh )学习

动网格模型(Dynamic Mesh )一个简单的例子。

水在通道中流动如图所示,有一个入口(ab),一个出口(cd),一个可移动的挡板(fg),挡板有一定的移动范围(ef,gh)。

本例研究简单动网格的应用,将会涉及到:(1) UDF 函数的读入以及要注意的问题 (2) 动网格参数的设定 (3) 动网格动画的设定一、 利用Gambit 建立计算模型1、 创建各控制点2、 由点连成直线3、 由线段创建面——流域4、 设定边界类型ab--速度入口(inlet );cd--压力出流(outlet ); ef —可变形边界(form1);hg —可变形边界(form2); fg —移动边界(valve ) 5、 输出网格文件二、 利用fluent-2d 进行计算1、 读入mesh 文件File → Read → Case …2、 网格检查(注意最大长度和最小长度)3、 长度单位设定(cm ),并显示网格fg4、设置非定常求解器保持Unstready Formulation 的1st-Order Implict注意:目前动态网格计算只能用first-Order5、选择紊流模型6、材料设置为水7、边界条件:设置速度入口条件8、编译程序(1)读入和编辑udf函数Define→ User-Defined→ Functions→ Compiled…(a)在Source Files下,点击 Add…Select File 面板将会打开,选择valve.c(b)在Compiles UDF 面板下,点击Build注意:将会在FLUENT目录下产生一个缺省libudf文件夹。

如果工作目录下已有这个文件夹,请将删掉。

(c)点击Load注意:如果出现“找不到系统文件之类的提示”,则需要在计算机里装一个c语言的程序。

Valve.c的内容如下:#include <stdio.h>#include "udf.h"DEFINE_CG_MOTION(valve,dt,cg_vel,cg_omega,time,dtime){if(time<=0.5)cg_vel[0]= - 0.2;elsecg_vel[0]=0.0;}这是一个UDF文件,即用户自定义函数,可用来确定阀门的运动规律。

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

FLUENT6.1全攻略图10-16 转子定子模型的静压等值线图在显示速度矢量时,同样有绝对速度和相对速度两种形式。

另外需要注意的是,后处理过程不能在交界区中的壁面、内部、周期等类型的边界上建立数据显示面(surface),但是可以在交界面上建立数据显示面,但结果将是单边的,就是只显示交界面一侧的结果。

而且在跨越交接面时,等值线中可能会有细微的不连续。

在画三维填充等值线时,图形中可能会出现一些小缝,但是这些缝只是图形显示问题,与解的连续性无关。

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

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

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

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

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

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

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

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

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

10.6.2 动网格守恒方程在任意一个控制体中,广义标量Φ的积分守恒方程为:()∫∫∫∫∂∂+⋅∇=⋅−+V V Φg V VdV S A d ΦΓA d u u ρΦV ρΦd dt d G G G G (10-7) 式中ρ为流体密度,u G 为速度向量,g u G 移动网格的网格速度,Γ为扩散系数,ΦS 为源项,V ∂代表控制体V 的边界。

方程(10-7)中的时间导数项,可以用一阶后向差分格式写成:()()t V V dV dt d nn V ΔΦ−Φ=Φ+∫ρρρ1 (10-8) 式中n 和n+1代表不同的时间层。

n+1层上的V n+1由下式计算:t dtdV V V n n Δ+=+1 (10-9) 式中dV/dt 是控制体的时间导数。

为了满足网格守恒定律,控制体的时间导数由下式计算:∫∑∂⋅=⋅=V n jj j g g f A u A d u dt dV G G G G , (10-10) 式中n f 是控制体积的面网格数,j A G 为面j 的面积向量。

点乘j j g A u G G ⋅,由下式计算:tV A u j j j g Δ=⋅δG G , (10-11) 式中j δV 为控制体积面j 在时间间隔Δt 中扫过的空间体积。

10.6.3 动网格更新方法动网格计算中网格的动态变化过程可以用三种模型进行计算,即弹簧光滑模型、动态层模型和局部重划模型。

FLUENT6.1全攻略1. 弹簧光滑模型在弹簧光滑模型中,网格的边被理想化为节点间相互连接的弹簧。

移动前的网格间距相当于边界移动前由弹簧组成的系统处于平衡状态。

在网格边界节点发生位移后,会产生与位移成比例的力,力量的大小根据胡克定律计算。

边界节点位移形成的力虽然破坏了弹簧系统原有的平衡,但是在外力作用下,弹簧系统经过调整将达到新的平衡,也就是说由弹簧连接在一起的节点,将在新的位置上重新获得力的平衡。

从网格划分的角度说,从边界节点的位移出发,采用虎克定律,经过迭代计算,最终可以得到使各节点上的合力等于零的、新的网格节点位置,这就是弹簧光顺法的核心思想。

图10-17和图10-18是弹簧光顺法的一个实例,图10-17是网格的初始状态,图10-18是网格在边界运动后达到新的平衡位置。

图10-17 基于弹簧光滑节点开始状况图10-18基于弹簧光滑节点结束状况原则上弹簧光顺模型可以用于任何一种网格体系,但是在非四面体网格区域(二维非三角形),最好在满足下列条件时使用弹簧光顺方法:(1)移动为单方向。

23FLUENT6.1全攻略24(2)移动方向垂直于边界。

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

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

2.动态层模型对于棱柱型网格区域(六面体和或者楔形),可以应用动态层模型。

动态层模型的中心思想是根据紧邻运动边界网格层高度的变化,添加或者减少动态层,即在边界发生运动时,如果紧邻边界的网格层高度增大到一定程度,就将其划分为两个网格层;如果网格层高度降低到一定程度,就将紧邻边界的两个网格层合并为一个层,如图10-19所示:图10-19 动态层如果网格层j 扩大,单元高度的变化有一临界值:()0min 1h h s α+> (10-21)式中h min 为单元的最小高度,h 0为理想单元高度,s α为层的分割因子。

在满足上述条件的情况下,就可以对网格单元进行分割,分割网格层可以用常值高度法或常值比例法。

在使用常值高度法时,单元分割的结果是产生相同高度的网格。

在采用常值比例法时,网格单元分割的结果是产生是比例为s α的网格。

图10-20与10-21是用常值高度法和常值比例法的结果。

FLUENT6.1全攻略25图10-20 用常值高度法分割网格图10-21 用常值比例法分割网格若对第j 层进行压缩,压缩极限为:0min h h c α< (10-22)式中c α为合并因子。

在紧邻动边界的网格层高度满足这个条件时,则将这一层网格与外面一层网格相合并。

动网格模型的应用有如下限制:(1)与运动边界相邻的网格必须为楔形或者六面体(二维四边形)网格。

(2)在滑动网格交界面以外的区域,网格必须被单面网格区域包围。

(3)如果网格周围区域中有双侧壁面区域,则必须首先将壁面和阴影区分割开,再用滑动交界面将二者耦合起来。

(4)如果动态网格附近包含周期性区域,则只能用FLUENT 的串行版求解,但是如FLUENT6.1全攻略果周期性区域被设置为周期性非正则交界面,则可以用FLUENT的并行版求解。

如果移动边界为内部边界,则边界两侧的网格都将作为动态层参予计算。

如果在壁面上只有一部分是运动边界,其他部分保持静止,则只需在运动边界上应用动网格技术,但是动网格区与静止网格区之间应该用滑动网格交界面进行连接,如图10-22所示。

图10-22 动态层区域与临近区域间应用滑动界面局部重划模型在使用非结构网格的区域上一般采用弹簧光顺模型进行动网格划分,但是如果运动边界的位移远远大于网格尺寸,则采用弹簧光顺模型可能导致网格质量下降,甚至出现体积为负值的网格,或因网格畸变过大导致计算不收敛。

为了解决这个问题,FLUENT在计算过程中将畸变率过大,或尺寸变化过于剧烈的网格集中在一起进行局部网格的重新划分,如果重新划分后的网格可以满足畸变率要求和尺寸要求,则用新的网格代替原来的网格,如果新的网格仍然无法满足要求,则放弃重新划分的结果。

在重新划分局部网格之前,首先要将需要重新划分的网格识别出来。

FLUENT中识别不合乎要求网格的判据有二个,一个是网格畸变率,一个是网格尺寸,其中网格尺寸又分最大尺寸和最小尺寸。

在计算过程中,如果一个网格的尺寸大于最大尺寸,或者小于最小尺寸,或者网格畸变率大于系统畸变率标准,则这个网格就被标志为需要重新划分的网格。

在遍历所有动网格之后,再开始重新划分的过程。

局部重划模型不仅可以调整体网格,也可以调整动边界上的表面网格。

需要注意的是,局部重划模型仅能用于四面体网格和三角形网格。

在定义了动边界面以后,如果在动边界面附近同时定义了局部重划模型,则动边界上的表面网格必须满足下列条件:(1)需要进行局部调整的表面网格是三角形(三维)或直线(二维)。

26FLUENT6.1全攻略(2)将被重新划分的面网格单元必须紧邻动网格节点。

(3)表面网格单元必须处于同一个面上并构成一个循环。

(4)被调整单元不能是对称面(线)或正则周期性边界的一部分。

动网格的实现在FLUENT中是由系统自动完成的。

如果在计算中设置了动边界,则FLUENT会根据动边界附近的网格类型,自动选择动网格计算模型。

如果动边界附近采用的是四面体网格(三维)或三角形网格(二维),则FLUENT会自动选择弹簧光顺模型和局部重划模型对网格进行调整。

如果是棱柱型网格,则会自动选择动态层模型进行网格调整。

在静止网格区域则不进行网格调整。

动网格问题中对于固体运动的描述,是以固体相对于重心的线速度和角速度为基本参数加以定义的。

既可以用型函数定义固体的线速度和角速度,也可以用UDF来定义这两个参数。

同时需要定义的是固体在初始时刻的位置。

10.6.4 动网格问题的建立设置动网格问题的步骤如下:(1)在Solver(求解器)面板中选择非定常流(unsteady)计算。

(2)设定边界条件,即设定壁面运动速度。

(3)激活动网格模型,并设定相应参数,菜单操作如下:Define -> Dynamic Mesh -> Parameters...(4)指定移动网格区域的运动参数,菜单操作如下:Define -> Dynamic Mesh -> Zones...(5)保存算例文件和数据文件。

(6)预览动网格设置,菜单操作为:Solve -> Mesh Motion...(7)在计算活塞问题时,设定活塞计算中的事件:Define -> Dynamic Mesh -> Events...并可以通过显示阀与活塞的运动,检查上述设置是否正确:Display -> IC Zone Motion...(8)应用自动保存功能保存计算结果。

File -> Write -> Autosave...在动网格计算中,因为每个计算步中网格信息都会改变,而网格信息是储存在算例文件中的,所以必须同时保存算例文件和数据文件。

(9)如果想建立网格运动的动画过程,可以在Solution Animation(计算结果动画)面板中进行相关设置。

27FLUENT6.1全攻略10.6.6 设定动网格参数为了使用动网格模型,需要在dynamic mesh(动网格)面板中激活Dynamic Mesh(动网格)选项。

如果计算的是活塞运动,则同时激活In-Cylinder(活塞)选项。

然后选择动网格模型,并设置相关参数。

如果激活了活塞运动,则同时设置活塞运动的相关参数,如图10-23所示。

图10-23 动网格面板1.选择网格更新模型在Mesh Methods(网格划分方法)下面选择Smothing(弹簧光顺模型),Layering(动态层模型)和(或)Remshing(局部重划模型)。

相关文档
最新文档