%[_header%]
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

application     %(solver/SolverName%);

startFrom       %(solver/StartFrom%);

startTime       0;

stopAt          endTime;

%{%(physics/Time%)
%:Steady
deltaT          1;

endTime         %(solver/MaxIterations%);

writeControl    timeStep;

writeInterval   %(solver/SteadyWriteInterval%);

purgeWrite      %(solver/PurgeWrite%);

%:Transient
deltaT          %(solver/TimeStep%);

endTime         %(solver/EndTime%);

writeControl    adjustableRunTime;

writeInterval   %(solver/TransientWriteInterval%);

purgeWrite      %(solver/PurgeWrite%);

%{%(solver/SolverName%)
%:hisa
adjustTimeStep  no;
%:default
adjustTimeStep  yes;
%}

maxCo           %(solver/MaxCFLNumber%);

%}
%{%(solver/SolverName%)
%:interFoam multiphaseInterFoam
maxAlphaCo      %(solver/MaxInterfaceCFLNumber%);

%}
writeFormat     ascii;

writePrecision  15;

runTimeModifiable true;

libs
(
    // Needed for availability of porous baffle boundary in potentialFoam
%{%(solver/SolverName%)
%:hisa
    // Needed for availability of boundary conditions in potentialFoam
    "libhisaFiniteVolume.so"
%}
);

functions
{
%{%(reportingFunctionsEnabled%)
%:True
%[system/_functions_reporting%]
%}
%{%(scalarTransportFunctionsEnabled%)
%:True
%[system/_functions_scalarTransport%]
%}
%{%(physics/TurbulenceModel%)
%:kOmegaSSTDES kOmegaSSTDDES kOmegaSSTIDDES SpalartAllmarasDES SpalartAllmarasDDES SpalartAllmarasIDDES
%[system/_functions_DESRegions%]
%}
%{%(dynamicMeshEnabled%)
%:True
%{%(dynamicMesh/Type%)
%:shock
shockRefinement
{
    #include "meshRefinement"
}

%}
%}
%{%(solver/SolverName%)
%:hisa
#includeFunc MachNo

%}
}

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