Dynamic Mesh

Moving Cell Zone

The dynamicMeshDict file for the Moving Cell Zone is as follows.

dynamicFvMesh dynamicMotionSolverListFvMesh;
motionSolverLibs ( fvMotionSolvers );
solvers
{
anyName
{
motionSolver solidBody;
solidBodyCoeffs
{
solidBodyMotionFunction multiMotion;
multiMotionCoeffs
{
motion_name
{
solidBodyMotionFunction anyMotionFunction];
...
}
}
}
cellZone "(anyCellZoneName)";
}
}

Moving Boundary

The dynamicMeshDict file for the Moving Boundary is as follows.

dynamicFvMesh dynamicMotionSolverFvMesh;
motionSolverLibs ( fvMotionSolvers );
motionSolver displacementLaplacian;
displacementLaplacianCoeffs
{
diffusivity inverseDistance
(
anyBoundaryName
);
}

Rigid Body Dynamics

The dynamicMeshDict file for Rigid Body Dynamics is as follows.

dynamicFvMesh dynamicMotionSolverFvMesh;
motionSolverLibs ( rigidBodyMeshMotion );
motionSolver rigidBodyMotion;
rigidBodyMotionCoeffs
{
solver
{
type Newmark; //CrankNicolson;//symplectic;
}
accelerationRelaxation 0.1;
accelerationDamping 1.0;
bodies
{
anyName
{
type rigidBody;
parent root;
mass 15.0;
centreOfMass (0 0 0.25);
inertia (0.3625 0 0 0.0425 0 0.1625);
transform (1 0 0 0 1 0 0 0 1) (0.5 0.45 0.1);
patches ( floatingObject );
innerDistance 0.05;
outerDistance 0.35;
joint
{
}
}
}
}
restraints
{
}

Motion Functions of dynamicMeshDict

Rotating motion

The motion definition of dynamicMeshDict is as follows.

multiMotionCoeffs
{
anyMotionName
{
solidBodyMotionFunction rotatingMotion;
rotatingMotionCoeffs
{
origin (0 0 0);
axis (0 0 1);
omega 2;
}
}
}

Rotating Oscillation motion

The motion definition of dynamicMeshDict is as follows.

multiMotionCoeffs
{
anyMotionName
{
solidBodyMotionFunction oscillatingRotatingMotion;
oscillatingRotatingMotionCoeffs
{
origin (0 0 0);
amplitude (0 0 1);
omega 2;
}
}
}

Linear Translation motion

The motion definition of dynamicMeshDict is as follows.

multiMotionCoeffs
{
anyMotionName
{
solidBodyMotionFunction linearMotion;
linearMotionCoeffs
{
velocity (0 0 1);
}
}
}

Linear Oscillation motion

The motion definition of dynamicMeshDict is as follows.

multiMotionCoeffs
{
anyMotionName
{
solidBodyMotionFunction oscillatingLinearMotion;
oscillatingLinearMotionCoeffs
{
amplitude (0 0 1);
omega 2;
}
}
}

Manual Position

The motion definition of dynamicMeshDict is as follows.

multiMotionCoeffs
{
anyMotionName
{
solidBodyMotionFunction tabulated6DoFMotion;
tabulated6DoFMotionCoeffs
{
CofG (0 0 1);
timeDataFileName "<constant>/fileName";
}
}
}

Prescribed Motion

When it is a Moving Boundary, the prescribed motion is defined as follows in the pointDisplacement file in folder 0.

anyBoundaryName
{
type solidBodyMotionDisplacement;
value uniform (0 0 0);
solidBodyMotionFunction multiMotion;
multiMotionCoeffs
{
....
}
}