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

libs            (overset fvMotionSolvers);

application     overPimpleDyMFoam;

startFrom       startTime;

startTime       0;

stopAt          endTime;

endTime         700;

deltaT          1e-5;

maxCo           0.25;

writeControl    adjustableRunTime;

writeInterval   5;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;

adjustTimeStep  yes;

minDeltaT	1e-7;

maxDeltaT	100e-3;

/*
functions
{
    recordForces
    {
        type            forces;
        libs            ("libforces.so");
        writeControl    timeStep;
        writeInterval   8;
        patches         (walls); // moving boundary name
        rho             rhoInf;
        rhoInf          1;   // Freestream density (kg/m^3)
        liftDir         (-1 0 0); // Direction vector for lift
        dragDir         (0 0 -1); // Direction vector for drag
        CofR            (0 0 0); // Center of Rotation for moments
        pitchAxis       (0 1 0); // Axis of rotation
    }
    
    forcesCoeffs
    {
        type            forceCoeffs;
        libs            ("libforces.so");
        writeControl    timeStep;
        writeInterval   8;
        patches         (walls); // moving boundary name
        rho             rhoInf;
        rhoInf          1;   // Freestream density (kg/m^3)
        liftDir         (-1 0 0); // Direction vector for lift
        dragDir         (0 0 -1); // Direction vector for drag
        CofR            (0 0 0); // Center of Rotation for moments
        pitchAxis       (0 1 0); // Axis of rotation

        magUInf         0.02;      // Freestream velocity magnitude (m/s)
        lRef            0.5;       // Reference length (e.g., chord length)
        Aref            0.15708;       // Reference area
    }

    residuals
    {
        type            solverInfo;                 // Fixes: "Unknown function type residuals"
        libs            (utilityFunctionObjects);   // Fixes: "functionObjectLibs entry instead of libs"
        writeControl    timeStep;
        writeInterval   8;
        fields          (p U);                      // Add your case fields here (e.g., k, omega, T)
    }
}*/

functions
{
    forces1
    {
    	type          forces;

    	libs          ("libforces.so");

    	writeControl  timeStep;
    	writeInterval  3;

    	log           yes;

    	patches       ("walls");

    	rho           rhoInf;

    	rhoInf        1;

    	CofR          (0 0 0);
    }

    residuals
    {
        type            solverInfo;                 // Fixes: "Unknown function type residuals"
        libs            (utilityFunctionObjects);   // Fixes: "functionObjectLibs entry instead of libs"
        writeControl    timeStep;
        writeInterval   3;
        fields          (p U);                      // Add your case fields here (e.g., k, omega, T)
    }
}




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