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

// NB: the #functions do not work here
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

Documentation
{
    docBrowser      "firefox";
    doxyDocDirs
    (
        "$WM_PROJECT_USER_DIR/html"
        "~OpenFOAM/html"
        "$WM_PROJECT_DIR/doc/Doxygen/html"
        "http://cpp.openfoam.org/v13"
    );
    doxySourceFileExt "_8C.html";
}


InfoSwitches
{
    writePrecision          6;
    writeJobControl         0;
    writeJobInfo            0;
    writeDictionaries       0;
    writeOptionalEntries    0;

    // Allow case-supplied C++ code (#codeStream, codedFixedValue)
    allowSystemOperations   1;
}


OptimisationSwitches
{
    // On NFS mounted file system: maximum wait for files to appear/get
    // updated. Set to 0 on distributed case.
    fileModificationSkew 10;

    //- Modification checking:
    //  - timeStamp         : use modification time on file
    //  - inotify           : use inotify framework
    //  - timeStampMaster   : do time stamp (and file reading) only on master.
    //  - inotifyMaster     : do inotify (and file reading) only on master.
    fileModificationChecking timeStampMaster;

    //- Parallel IO file handler
    //  uncollated (default), collated or masterUncollated
    fileHandler uncollated;

    //- collated: thread buffer size for queued file writes.
    //  If set to 0 or not sufficient for the file size threading is not used.
    //  Default: 2e9
    maxThreadFileBufferSize 2e9;

    //- masterUncollated: non-blocking buffer size.
    //  If the file exceeds this buffer size scheduled transfer is used.
    //  Default: 2e9
    maxMasterFileBufferSize 2e9;

    commsType       nonBlocking; // scheduled; // blocking;
    floatTransfer   0;
    nProcsSimpleSum 0;

    // Force dumping (at next timestep) upon signal (-1 to disable)
    writeNowSignal              -1; // 10; // SIGUSR1

    // Force dumping and exit (at next timestep) upon signal (-1 to disable)
    stopAtWriteNowSignal        -1; // 12; // SIGUSR2
}


DebugSwitches
{
    dimensionSet        1;
    fileName            2;
    GAMGAgglomeration   1;
    level               2;
    lduMatrix           1;
    SolverPerformance   1;
    vtkUnstructuredReader 1;
}


UnitConversions
{
    unitSet             SI;

    SICoeffs
    {
        // Basic units
        kg          [1 0 0 0 0 0 0]     1;
        m           [0 1 0 0 0 0 0]     1;
        s           [0 0 1 0 0 0 0]     1;
        K           [0 0 0 1 0 0 0]     1;
        kmol        [0 0 0 0 1 0 0]     1;
        A           [0 0 0 0 0 1 0]     1;
        Cd          [0 0 0 0 0 0 1]     1;

        // Derived units
        Hz          [s^-1]              1;
        N           [kg m s^-2]         1;
        Pa          [N m^-2]            1;
        J           [N m]               1;
        W           [J s^-1]            1;

        // Scaled units
        g           [kg]                1e-3;
        um          [m]                 1e-6;
        mm          [m]                 1e-3;
        cm          [m]                 1e-2;
        km          [m]                 1e3;
        us          [s]                 1e-6;
        ms          [s]                 1e-3;
        min         [s]                 60;
        hr          [s]                 3600;
        mol         [kmol]              1e-3;

        // Derived scaled units
        l           [m^3]               1e-3;
        ml          [m^3]               1e-6;
        rpm         [rot/min]           1;
        bar         [Pa]                1e5;
        atm         [Pa]                101325;
        kPa         [Pa]                1e3;
        MPa         [Pa]                1e6;
        cal         [J]                 4.184;
        kcal        [J]                 4184;
        cSt         [m^2/s]             1e-6;
        cP          [kg/m/s]            1e-3;
    }

    USCSCoeffs
    {
        // Basic units
        lb          [1 0 0 0 0 0 0]     1;
        ft          [0 1 0 0 0 0 0]     1;
        s           [0 0 1 0 0 0 0]     1;
        R           [0 0 0 1 0 0 0]     1;
        lbmol       [0 0 0 0 1 0 0]     1;
        A           [0 0 0 0 0 1 0]     1;
        Cd          [0 0 0 0 0 0 1]     1;

        // Derived units
        Hz          [s^-1]              1;
        pdl         [lb ft s^-2]        1;

        // Scaled units
        us          [s]                 1e-6;
        ms          [s]                 1e-3;
        min         [s]                 60;
        hr          [s]                 3600;

        // Derived scaled units
        rpm         [rot/min]           1;
        lbf         [pdl]               32.174049;

        // (conversions to SI needed for constants)
        kg          [lb]                2.2046226218487757;
        m           [ft]                3.280839895013123;
        K           [R]                 1.8;
        mol         [lbmol]             2.2046226218487757e-3;
    }
}


DimensionedConstants
{
    standard
    {
        Pstd    1e5 [kg m^-1 s^-2];
        Tstd    298.15 [K];
    }
}


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