Parameter Definitions - dynamicMotionSolverFvMesh
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.
- Mesh morphing control
- Physical parameters of the rigid body
- Parameters to control how the 6DoF solver will actually solve the body motions
- Forces and motion constraints on the body, in addition to fluid forces.
Contents
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 Main Controls
There are two main entries to specify outside of the coefficients subdictionary. These are required entries. You specify the motion solver and import the library for the motion solver. This must be included in any code definition for the dynamicMotionSolverFvMesh dictionary.
motionSolverLibs ( "libsixDoFRigidBodyMotionDev.so" ); solver sixDoFRigidBodyMotion;
3 sixDoFRigidBodyMotionCoeffs
4 Parameters - Morphing Control
5 Parameters - 6DoF Solver Control
6 Parameters - Body Definition
7 Parameters - Force Definitions
8 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.
- Anything within the innerDistance directly moves the mesh nodes as a rigid body.
- Between the innerDistance and outerDistance, the mesh nodes are morphed.
- 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.