Parameter Definitions - dynamicMotionSolverFvMesh

From OpenFOAMWiki
Revision as of 13:09, 29 July 2016 by Nickninevah (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This starts to get into the realm of fluid structure interaction (FSI). This solver morphs the mesh around a specified set of boundaries. The meshing motion is calculated based on the pressures on those boundaries. In turn, the dynamicMotionSolverFvMesh provides feedback to the fluid simulation. It alters the velocity boundary conditions (U field) on the included boundaries to specify the local velocity of the defined body. This local velocity includes coupled translation and rotational motions, if permitted. This mesh control is almost exclusively used to solve problems involving rigid body motion. There are many options and controls built into this one dictions. This section of the dynamicMeshDict is where you define the following items.

  1. Mesh morphing control
  2. Physical parameters of the rigid body
  3. Parameters to control how the 6DoF solver will actually solve the body motions
  4. Forces and motion constraints on the body, in addition to fluid forces.


1 Example Dictionary File

dynamicFvMesh dynamicMotionSolverFvMesh; motionSolverLibs ( "libsixDoFRigidBodyMotionDev.so" ); solver sixDoFRigidBodyMotion; diffusivity quadratic inverseDistance 1 ( Body ); sixDoFRigidBodyMotionCoeffs { patches ( Body ); innerDistance 25; outerDistance 275; centreOfMass ( 16.81 -1087.4 -1063.3 ); mass 4.1453e+06; g ( 0 0 -9.8065 ); momentOfInertia ( 2.7874e+08 5.8901e+08 6.6762e+08 ); velocity ( 0 -0.5 -0.25 ); rhoName rhoInf; rhoInf 1024.81; accelerationRelaxation 0.9; accelerationDamping 0.95; report on; reportToFile on; solver { type CrankNicolson; } constraints { } restraints { Bouyancy { sixDoFRigidBodyMotionRestraint constantForce; refAttachmentPt ( 16.8 -1087.4 -1062 ); constantForce ( 0 0 4.0994e+07 ); } } }






2 User Notes

If you are using the sixDoFRigidBodyMotion, you must import the additional motion solver library.

motionSolverLibs ( "libsixDoFRigidBodyMotionDev.so" );

The solver also allows you to specify an innerDistance and outerDistance parameter. These control how the sixDof solver morphs the mesh.

  1. Anything within the innerDistance directly moves the mesh nodes as a rigid body.
  2. Between the innerDistance and outerDistance, the mesh nodes are morphed.
  3. Outside the outerDistance, no morphing occurs.

But be careful. The outerDistance parameter must always be larger than the innerDistance parameter. If you try to specify outerDistance as smaller than innerDistance, the solver will override your inputs with default values.