sixDoFRigidBodyMotion问题求助



  • 大家好,我在应用sixDoFRigidBodyMotion遇到了一个问题,我计算的是一个水平方向上可以运动的拍动翼,但是随着翼型的移动,网格会发生大变形导致计算停止。我想的解决办法是,让整个网格随着翼型在水平方向上一起运动,这样就不会导致网格在水平方向上的大变形。
    在这里我有两个问题,
    1.这种想法是否可行
    2.我在改代码的过程中,不知道怎么移动边界上网格点的坐标



  • 我计算的是一个水平方向上可以运动的拍动翼,但是随着翼型的移动,网格会发生大变形导致计算停止。

    有图更好

    让整个网格随着翼型在水平方向上一起运动,这种想法是否可行

    这个可行,参考sloshing晃荡的算例就是这样的。不需要改代码



  • 是这样的,我的远期目标是计算鱼的自由游动,现在就是在sixDoFRigidBodyMotion中强制加入了一个鱼的柔性运动,然后让鱼只有一个游动方向的自由度。但是鱼的游动距离太大的话,网格会变形很大,计算不了太久的时间。
    0_1536920502330_fish.png
    我的想法是,能不能让网格在y方向是变形,但是x方向的整体运动的,这样网格就不会有太大的变形了。



  • @东岳 也就是说,y方向的位移是我主动控制的,然后x方向位移是被动的。我看有些人会用overset实现大范围的运动,但是我想能不能让网格在x方向上整体运动来实现。



  • 能不能让网格在y方向是变形,但是x方向的整体运动的

    y方向点移动,x方向点间距不变么?

    y方向的位移是我主动控制的,然后x方向位移是被动的

    这个你需要改代码并且验证下。目前主动控制、被动移动openfoam里面都有,但你需要把二者结合起来分别用在xy上,这不是很难。

    大变形考虑下下把你网格变形区域扩大2倍,或者用RBF算法
    https://openfoam.org/release/2-3-0/mesh-motion/



  • @一步西龙 你可以大致描述一下你是怎么给的这个柔性运动吗


 

Forest
Mountains