/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM v2512                                  |
|  \\    /   O peration     | Motion Properties                               |
|   \\  /    A nd           | Overset Mesh Motion Settings                    |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/


// This dictionary defines rigid body motion
// and dynamic overset mesh settings

FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      motionProperties;
}


// Motion solver library

motionSolverLibs ( "libsixDoFRigidBodyMotion.so" );


// Dynamic overset mesh solver

dynamicFvMesh       dynamicOversetFvMesh;

dynamicOversetFvMeshCoeffs
{
//    layerRelax 0.3;
}


// Six degree of freedom motion solver

solver          sixDoFRigidBodyMotion;

accelerationRelaxation 0.4;


// Rigid body motion properties

sixDoFRigidBodyMotionCoeffs
{

    // Moving body patch

    patches         (disk);

    // Overset interpolation distances

    innerDistance   100.;
    outerDistance   101.;
        
    accelerationRelaxation 0.4;
    accelerationDamping 0.4;
    
    
    // Effective body mass

    mass 4E-04;


    // Moment of inertia for annular disk
    momentOfInertia (1.05E-08 1.05E-08 2.08E-08);

    // Moment of inertia for disk
    // momentOfInertia (9.37E-09 9.37E-09 1.85E-08);


    // Centre of mass location

    centreOfMass (0 0 0.00075);

    rho             rhoInf;
    rhoInf          970;

    // Gravity vector

    g               (0 0 -9.81);

    // Motion reporting

    report          on;
    reportToFile    on;
    
    
    // Time integration solver

    solver
    {
        type Newmark;
    }
    
    
    // Motion constraints

    constraints
    {
    }

}

// ************************************************************************* //