动网格让网格动起来(1)—闲谈动网格在固体有限元计算中,网格运动实非什么稀奇事儿
而且在绝多数固体计算的基本物理量是网格的节点位移,所以,固体计算中,网格节点运动是对的,没有运动反而不正常了
也可以这么说:正因为计算域内部节点间的相对运动,才导致了内应力的产生
流体计算与固体完全不同
其根源在于它们使用的网格类型不同
当前固体有限元计算采用的是拉格朗日网格,而流体计算则大多数采用的欧拉网格
如果说把拉格朗日网格中的节点点看作是真实世界的物质原子的话,那么欧拉网格的节点则好比是真实世界中的一个个传感器,它们总是呆在相同的位置,真实的记录着各自位置上的物理量
正常情况下,欧拉网格系统是这样的:计算域和节点保持位置不变,发生变化的是物理量,网格节点就像一个个布置在计算域中的传感器,记录该位置上的物理量
这其实是由流体力学研究方法所决定的
宏观与微观的差异决定了固体力学计算采用拉格朗日网格,流体计算采用欧拉网格
关于这部分的详细解说,可以参阅任何一本计算流体动力学书籍
世界是公平的
朗格朗日网格适合计算节点位移,然而对于过大的网格变形却难以处理
欧拉网格生来可以处理大变形(因为节点不动),然而对于对于节点运动的处理,则是其直接软肋
然而很不幸的是,现实生活中有太多网格边界运动的实例
如汽车发动机中的气缸运动、阀门开启与关闭、机翼的运动、飞机投弹等等等等举不胜举
计算流体动力学计算的基本物理量通常为:速度、温度、压力、组分
并不计算网格节点位移
因此要让网格产生运动,通常给节点施加的物理约束是速度
CFD中的动网格大体分为两类:(1)显式规定的网格节点速度
配合瞬态时间,即可很方便的得出位移
当然一些求解器(如FLUENT)也支持稳态动网格,这时候可以直接指定节点位移
(2)网格节点速度是通过求解得到的
如6DOF模型基本上都属于此类
用户将力换算成加速度,然后将其积分成