6DOF能只计算刚体运动但不更新网格吗



  • 用Fluent做投弹模拟,因为要计算的弹体下降高度比较大,全部做成计算域画网格不现实,想只做弹体周围一部分区域的网格,然后通过改变边界条件来模拟弹体下降过程中的姿态变化。想请教一下能不能通过UDF控制Fluent 6DOF模块儿只计算出刚体运动参数(并读取出来用于来流边界条件设置)但不更新网格?
    希望有类似经验的网友提供些思路,谢谢!


  • Linux讲师 OpenFOAM讲师

    这个要求有点自相矛盾:mihu: 。如果没有动网格怎么计算出真实的流场边界,动网格会影响流场,不更新动网格就无法得到真实的流场。

    如果是高度太大,即流域太大,可以用那种自适应网格还是叫啥来着。网格疏密程度会自己变化,哪里物理量变的剧烈就在哪里加密网格。这样大流域也不会有太大的计算负担。

    或者用等效下降直接模拟,直接给流场条件;而不是把算出的运动参数设为流场条件。真实下降时弹体加速度为$g_{等效}=\frac{mg-弹力}{m}$,因为弹力是时变的,这还是个时变的量。看看怎么写时变的等效重力UDF。然后不让它下降,让流体以这个加速度向上加速是不是符合你的要求了。



  • @bestucan 多谢指导!实际的案例不方便在网上讨论,比投弹这个复杂。下降高度大概是飞行器特征长度几万倍这个量级。
    通过请教他人,目前觉得还可以的方法是:飞行器是6自由度体,其他网格(计算域几十倍飞行器特征长度)包括边界都设置成刚体(rigid body)->6DOF, passive。不知道这样做得理论基础是啥(老板催得急,还没来得急思考),但用这种方法刚算了一个球体在空气中自由下落,感觉结果应该是符合物理规律的。


  • Linux讲师 OpenFOAM讲师

    @baizheng 理论基础大概是忽略空气阻力了?流域里只有一个东西自由落体,而没有流体。

    设置一个密度比空气小的球体下落就看出来是不是了。:chitang: 最好不用球,否则只能看出来三个自由度,看不出来另外三个自由度



  • 流域里是有流体的,球受到的阻力也是随速度增大的。从静止下降1s后对称面上的压力分布如下图所示,球的直径是1m。等有时间了会做个与正常6DOF模拟(就是让网格变形那种的对比)的对比。20200722114110.png


Log in to reply
 

CFD中文网 2016 - 2020 | 京ICP备15017992号-2