/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2012                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "./constant/include/dynamicMeshConfig"

motionSolverLibs    (sixDoFRigidBodyMotion);

dynamicFvMesh       dynamicOversetFvMesh;

solver              sixDoFRigidBodyMotion;

sixDoFRigidBodyMotionCoeffs
{

    patches         (object);
    innerDistance   100.0;
    outerDistance   101.0;

    // mass            854.76828;
    // mass            427.38414;      // half if running symmetric
    // centreOfMass    (0.0 0.0 0.0);
    // momentOfInertia (1.0 1.0 1.0);  // irrotational
    mass            $Mass;
    centreOfMass    $CenterOfMass;
    momentOfInertia $MomentOfInertia;
    report          on;
    //accelerationRelaxation 0.5;
    //accelerationDamping    0.9;

    solver
    {
        type Newmark;
    }

    constraints
    {

        /*
        fixedPoint
        {
             sixDoFRigidBodyMotionConstraint point;
             centreOfRotation (0.5 0.45 0.1);
        }
        */

        /*
        fixedLine
        {
            sixDoFRigidBodyMotionConstraint line;
            //centreOfRotation (0.5 0.45 0.1);
            direction (0 0 1);
        }
        */

        heaveOnly
        {
            sixDoFRigidBodyMotionConstraint line;
            centreOfRotation (0.0 0.0 0.0);
            direction (0 0 1);
        }

        fixedOrientation
        {
            sixDoFRigidBodyMotionConstraint orientation;
        }

        /*
        fixedAxis
        {
            sixDoFRigidBodyMotionConstraint axis;
            axis (0 1 0);
        }
        */
    }
}

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