首页/文章/ 详情

让网格动起来 | 闲谈CFD动网格

3年前浏览2539

来源:仿真学习与应用,作者:流沙。


在固体有限元计算中,网格运动实非什么稀奇事儿。在绝多数固体计算的基本物理量是网格的节点位移,所以,固体计算中网格节点运动是对的,没有运动反而不正常了。也可以这么说:正因为计算域内部节点间的相对运动,才导致了内应力的产生。


流体计算与固体完全不同,其根源在于它们使用的网格类型不同。当前固体有限元计算采用的是拉格朗日网格,而流体计算则大多数采用的欧拉网格。如果说把拉格朗日网格中的节点看作是真实世界的物质原子的话,那么欧拉网格的节点则好比是真实世界中的一个个传感器,它们总是呆在相同的位置,真实的记录着各自位置上的物理量。


正常情况下,欧拉网格系统是这样的:计算域和节点保持位置不变,发生变化的是物理量,网格节点就像一个个布置在计算域中的传感器,记录该位置上的物理量。这其实是由流体力学研究方法所决定的。宏观与微观的差异决定了固体力学计算采用拉格朗日网格,流体计算采用欧拉网格。关于这部分的详细解说,可以参阅任何一本计算流体动力学书籍。


世界是公平的,有利必有弊。拉格朗日网格适合计算节点位移,然而对于过大的网格变形却难以处理;欧拉网格生来可以处理大变形(因为节点不动),然而对于节点运动的处理,则是其软肋。然而很不幸的是,现实生活中有太多网格边界运动的实例,如汽车发动机中的气缸运动、阀门开启与关闭、机翼的运动、飞机投弹等等,举不胜举。


计算流体动力学计算的基本物理量通常为:速度、温度、压力、组分,并不计算网格节点位移。因此,要让网格产生运动,通常给节点施加的物理约束是速度。CFD中的动网格大体分为两类:


  • 显式规定的网格节点速度。配合瞬态时间,即可很方便的得出位移。当然一些求解器(如FLUENT)也支持稳态动网格,这时候可以直接指定节点位移。


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


对于第一类动网格问题,在FLUENT中通常可以使用profile与UDF进行网格设置,通过规定节点或区域的速度、角速度或位移等方式,来显式确定网格的运动,通常大部分的动网格问题都归于此类。而对于第二类问题,通常涉及到力的计算,力在流体中通常是对压力进行积分而来。将力转换为速度或位移,一般涉及到加速度、转动惯量等物理量的计算。在FLUENT中,可以使用6DOF模型进行处理,在CFX中,可以使用刚体模型(13.0以上版本才有)。


在FLUENT中,动网格涉及的内容包括:


  • 运动的定义。主要是PROFILE文件与UDF中的动网格宏。


  • 网格更新。FLUENT中关于网格更新方法有三种:网格光顺、动态层、网格重构。需要详细了解这些网格更新方法的运作机理,每个参数所代表的具体含义及设置方法,每种方法的适用范围。


动网格的最终挑战来自于网格更新后的质量,避免负体积是动网格调试的主要目标。在避免负网格的同时,努力提高运动更新后的网格质量。


科普仿真体系网格处理流体基础其他软件
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-01-21
最近编辑:3年前
仿真圈
技术圈粉 知识付费 学习强国
获赞 10092粉丝 21553文章 3539课程 219
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈