FoamFile
{
    version         2.0;
    format          ascii;

    class           dictionary;
    object          caseSetupDict;
}

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

regions (region0);

region0
{

modificationSwitches
{
    reuseExistingDicts no;
    resetInternalFields yes; //overwrite existing field internal values - yes/no
    resetBoundaryFields yes; //overwrite exiting field boundaries - yes/no
    resetSystemDicts yes; //replace existing dictionaries in system
    resetConstDicts yes; //replace existing entries in constant, special handling of
                         //material properties and turbulence
    resetBoundaryMesh yes; //applies boundary mesh modifications
    deleteUnusedFields no; //deletes files in target directory that are not 
                            //fields initialised by caseSetup
}

boundaryMesh
{
    partialNamed
    {
        inlet{type inlet;}
        outlet{type outlet;}
        ff{type wall;}
    }

    exactNamed
    {
    }

}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

global
{
    state 
    (
        steady
        incompressible
        ras
        buoyant
    );

    turbulenceModel kOmegaSST;
    materials (air);

    materialProperties {}

    fieldMaps{}

    constant 
    {

         g
         {
                 dimensions      [ 0 1 -2 0 0 0 0 ];
                 value           ( 0 0 -9.81 );
         }

         porousZones
         {
             porous
             {
                 powerLaw
                 {
                     C0 400;
                     C1 1.8;
                 }
                 porosity 0.75;
             }
         }

         MRFZones
         {
            mrf
            {
                attachedPatches   ();
                rotatingPatches ();
                origin    origin [0 1 0 0 0 0 0]  (0.35 0 0);
                axis      axis   [0 0 0 0 0 0 0]  (1 0 0);
                omega     omega  [0 0 -1 0 0 0 0] 100;
            }
        }

         thermalZones
         {
            thermal
            {
                 powerLaw
                 {
                     C0  C0 [1 -1 -3 -1 0 0 0] 10500;
                     alpha alpha [0 0 0 0 0 0 0] 0.6;
                     dh dh [0 1 0 0 0 0 0] 0.4;
                     sigma sigma [0 0 0 0 0 0 0] 0.8;
                     T0 T0 [0 0 0 1 0 0 0] 355;
                 }
            }
        }

    }


    system 
    {
        controlDict
        {
            startFrom       startTime;

            startTime       0;

            stopAt          endTime;

            endTime         100;

            deltaT          1;

            writeControl    runTime;

            writeInterval   100;

            purgeWrite      0;

            writeFormat     ascii;

            writePrecision  6;

            writeCompression uncompressed;

            timeFormat      general;

            timePrecision   6;

            runTimeModifiable yes;

            adjustTimeStep  yes;

            maxCo           0.8;
        }   

    }

}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

fields
{

    U{initialisation{type potentialFlow;}}

    p{initialisation{type potentialFlow;}}

    T{initialisation{type fixedValue; value uniform 295;}  }

    k{initialisation{type turbulentIL; I 0.4; L 0.5; Uref 0.2;}   }
    omega{initialisation{type turbulentIL; I 0.4; L 0.5; Uref 0.2;}   }
    nuTilda{initialisation{type turbulentIL; I 0.4; L 0.5; Uref 0.2;}   }
}


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

boundaryConditions
{

    regionDefaults
    {
        wall {}
        inlet {}
        outlet {}
        patch {}
    }

    partialNamed
    {
	    inlet
        {
            T
            {
                type            fixedValue;
                value           uniform 295;
            }

            U 
            {
                type fixedValue; 
                value uniform (5 0 0);
            }
            k
            {
                type            fixedValue;
                value           uniform 6.04E-04;
            }
            omega
            {
                type            fixedValue;
                value           uniform 0.008;
            }
            nuTilda
            {
                type            fixedValue;
                value           uniform 0.3;
            }

	    }
    }

    exactNamed
	{
	}

}

functions
(
    vr1
    {
        type volumeReport;
        fields (U p);
    }
    zf
    {
        type zoneForces;
        verbose true;
        logToFile true;
    }
);

}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

include "$FOAM_CONFIG/caseSetupDict.defaults";

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