openfoam如何结合主动控制和被动控制?
-
各位老师好,我想请问一下在openfoam当中有比较容易的方法结合主动控制和被动控制吗?
例如目前我想用openfoamV2306的overPimpleDyMFoam进行这样一个仿真:
在均匀来流的流场中放置一个椭圆,只放开它垂直来流方向的自由度,但是给它一个恒定的角速度,让它在流场的作用下进行VIV(vortex induced vibration,涡激振动),如下图所示:
我一开始的想法是直接在dynamicDict文件中缝合solidbody进行主动控制和sixDoFRigidBodyMotion进行被动运动,因为这两种方法单独使用都是可行的,但是结合起来无法进行运算,具体表现为计算发散,Co突增,以下是我尝试的dynamicMeshDict
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: v2306 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dynamicFvMesh dynamicOversetFvMesh; solver multiSolidBodyMotionSolver; solvers { viv { motionSolver sixDoFRigidBodyMotion; patches (cylinder); innerDistance 100; outerDistance 101; report on; mass 2; centreOfMass (0.0 0.0 0.0); momentOfInertia (1 1 1); g (0 0 0); rho rhoInf; rhoInf 1; solver { type Newmark; } constraints { yLine { sixDoFRigidBodyMotionConstraint line; direction ( 0 1 0); } rotation { // sixDoFRigidBodyMotionConstraint orientation; sixDoFRigidBodyMotionConstraint axis; // centreOfRotation (0 0 0); axis (0 0 1); } } } overset_internal { motionSolver solidBody; solidBodyMotionFunction rotatingMotion; rotatingMotionCoeffs { origin (0. 0. 0.); axis (0 0 1); omega 1.570; } } }
我也在网上搜索了很多相关的问题,但是都没有得到一个满意的答复。
如本站的sixDoFRigidBodyMotion问题求助这篇帖子中,李东岳老师提到,在openfoam中主动控制和被动移动的结合起来不难,但是没有给出具体的方法。在github上有个feedback-flow-control-openfoam仓库,他的算例和我的需求比较相似。他提到在openfoam中并不支持同时使用主动和被动控制,而他是通过自定义边界条件来实现主动控制(也就是强迫旋转),这样可以只使用sixDoFRigidBodyMotion这一个solver,但是他的方法对我的问题并没有作用,自定义边界条件并没有改变我的物体的位置,也就是说在我看来,他的方法是一种等效的方法,他没有实际让物体运动起来,而是改变物体表面的速度分布来等效物体运动。我觉得这种方法对于轴对称的圆柱来说可能有效果,但是我的物体是一个椭圆,同时我也不想使用那些非惯性系之类的方法。
在cfd-online中其实也有一些相似的问题,但是那些问题都没有得到回答,比如:
https://www.cfd-online.com/Forums/openfoam-solving/238053-prescribed-rotation-6dof-possible.html
https://www.cfd-online.com/Forums/openfoam/253447-integrating-sixdofrigidbodymotion-rotatingmotion-openfoam.html以上,希望各位老师可以不吝赐教,万分感激!