六自由度属性里质量填成1kg,物体入水直接弹飞了,水花溅到计算域外面。质量、惯性矩、初始速度、角速度都在Dynamic Mesh→Six DOF里设,或者用DEFINE_SDOF_PROPERTIES宏,斜抛的话初始速度按角度分解,Vx=V*cosθ,Vy=V*sinθ,Vz=0,角速度看抛的时候转不转,转的话omega_x、omega_y、omega_z填上,惯性矩用CAD软件查,质心在物体几何中心还是重心,差一点入水姿态就偏了。视频里讲内置六自由度不用写UDF,填几个参数就行,质量、惯性矩、初始速度、角速度,斜抛角度在全局坐标系里分解,别跟局部坐标系搞混。
组件网格包住物体,外围一圈圆柱或者球,外边界指定为overset,不能等到Fluent里再改。背景网格覆盖整个水槽,尺寸可以粗一点,六面体或者多面体都行,重叠区域至少四层网格厚度,物体运动范围大就再留宽,太薄了供体单元找不到,orphan出来计算直接崩。网格工具里把背景和组件分开画,两个cell zone,导进Fluent里Merge。组件网格在物体表面加密,边界层第一层0.1mm,增长率1.2,层数10,水面附近也加密,不加密飞溅看不到。
VOF两相,主相空气,次相水,表面张力0.072 N/m,CSF模型勾上,重力Y方向-9.81。初始化用Standard,然后Patch水区域,z轴以下填水,以上填空气,水面附近网格加密到物体尺寸的十分之一。斜抛入水溅射大,水面附近不加密根本看不到飞溅。VOF格式用Geo-Reconstruct,压力速度耦合PISO,压力离散PRESTO,动量二阶迎风。

时间步长1e-4秒起步,物体速度5m/s的话一个时间步走0.5mm,组件网格最小单元0.5mm的话刚好,再大就负体积。Courant数界面0.25,全局2,六自由度子步数设10,每个时间步内迭代10次物体运动,算得准一点。VOF和六自由度耦合,时间步大了物体穿过水面时力突变,残差炸。双精度必须开,单精度插值误差积累,物体轨迹会漂。
Domain→Mesh Interfaces→Create,选背景和组件,命名,点Create。Display→Mesh→Cell Type,Solve cells绿色,Receptor蓝色,Donor红色,Orphan没颜色,看有没有Orphan,有的话把重叠区域加密或者组件外边界往外推。优先级背景设0,组件设1,两个物体靠近时都设1。六自由度属性里质量填错那次,物体入水后往上飞,查了半天是质量少了一个零。惯性矩坐标系不对,物体绕错轴转。重叠区域太薄,物体一运动就orphan。
轨迹用Six DOF Motion History,导出物体质心坐标、速度、角速度,力用Report→Forces,选物体壁面,方向按入水角度。水花用VOF体积分数等值面,0.5的等值面就是水面。跟实验对比看入水角度和速度衰减,差太多查质量、惯性矩和阻力系数。时间步大了,VOF界面破碎,飞溅算不出来。六自由度属性里的初始速度方向跟全局坐标系不一致,斜抛角度分解错了。
下次把那个球体入水的算例换成圆柱体,六自由度属性里的惯性矩要重新算,圆柱绕横轴的惯性矩跟球不一样,那个公式是……
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删