二十二、动网格Smoothing Spring方法及实例
1 概念介绍
最近一直忙着其他的事情,好久都没有更新,让各位家人们久等了。
今天我们接着聊一聊动网格问题,我们在文章二十一中介绍了动网格的Layering方法,但是Layering方法的局限性很高,只能对四边形网格或六面体网格才适用,对于三角形或四面体网格,我们需要使用光顺(Smoothing)的方法
Smoothing光顺方法分为弹簧(Spring)光顺和扩散(Diffusion)光顺,两者网格运动的基本原理不同,设置上也不相同。本次案例我们详细说明一下弹簧光顺。
2 基本原理
原理:弹簧光顺采用胡克定律原理,当边界运动后,网格按照胡克定律原理被压缩或拉伸,因此节点个数及连接关系并不会改变,只是改变了节点的相对位置。
使用条件:可适用于任意的网格类型;光顺方法一般会和remeshing方法共同使用。
3 模型描述
本例的模型很简单,如图所示。模型有四个面,分别为底面(bottom)、上面(top)、左侧面(left side)和右侧面(right side)。其中top面保持不动,bottom面以-0.01m/s的速度沿z轴的负方向运动,内部网格随着底部边界运动而被压缩,但网格节点并没有合并或分离。
4 导入网格
使用Workbench打开工程文件,文件在本文末尾链接资源内。
5 Scale网格尺寸
Scale修改网格尺寸。如图所示。
确保计算域尺寸是我们所需要的。
6 设置求解器
由于网格运动是随时间进行的,因此动网格技术必须为瞬态模拟。将计算工况设置为瞬态。其他求解器设置可根据具体工况进行选择。
7 设置动网格模型
在模型树下双击Dynamic mesh,此时Task Page下页面如图
勾选Dynamic mesh,勾选Smoothing后,点击Settings,出现Smoothing方法的设置页面
点击Advanced,出现Mesh Smoothing Parameters参数设置选项。
Spring constant factor:
弹簧因子,表示网格之间的阻尼系数,在0-1之间取值。0表示网格运动会扩散较远,1表示网格运动只会影响附近的网格。
Convergence tolerance:
为spring算法涉及到的具体值,对于一般工况保持默认值0.001即可。
Number of iteration:
也为Spring算法的具体值,默认值为20,一般设置为100
Elements:
Tri in Tri Zones:表示三角形网格在三角形区域变形
Tri in Mixed Zones:表示三角形网格在混合区域变形
All:表示所有区域的网格都发生变形
当网格均为三角形时,勾选Tri in Tri Zones,当网格有三角形和四边形时,可根据不同工况勾选Tri in Mixed Zones或All
Laplace Node Relaxation:
用于定义节点位置的更新,保持默认即可
Verbosity:
用于指定是否在控制台输出光顺方法的残差,1表示输出,0表示不输出。
Dynamic Mesh Zones:
单击Dynamic Mesh Zones下的Create/Edit,弹出如下窗口
bottom边界:刚体边界;Zone Names选择bottom;Type选择Rigid Body;Motion Attributes下只需要定义Motion UDF,导入文章二十一的UDF,选中此UDF,其他均保持默认,单击Create,则在Dynamic Mesh Zones栏下出现bottom。
Right side:变形边界,Zone Names选择Right side;Type选择Deforming;Geometry Definition下Definition选择Faceted,定义变形边界;
Left side:与Right side保持相同的设置。
8 查看动网格
在Task Page页面单击Preview Mesh Motion,设置时间步数为100,时间步长为0.1s,显示频率为1。
Spring constant factor=1
Spring constant factor=0
源文件链接:
链接:https://pan.baidu.com/s/1JhsNAthG2CBcE6PtWIYg3w
提取码:uhob