Sig Turbulence/Library Added Incompressible RAS Models/kOmegaSSTF

From OpenFOAMWiki

1 kOmegaSSTF incompressible RAS model

The kOmegaSSTF model was developed by:

Gyllenram, W. and Nilsson, H., Design and Validation of a Scale-Adaptive Filtering Technique for LRN Turbulence Modeling of Unsteady Flow, JFE, May 2008, Vol.130.

It sets an upper limit (\Delta_f or lt below) to the modelled length scale (L_t or Lt below), applied to \nu_t:

\Delta_f = \alpha \max \left\{ \left| \vec{U}\right| \delta t, \Delta^{1/3}\right\}

where

\alpha=3.

\alpha should be greater than 1. The value 3 was determined in Gyllenram and Nilssson, Very Large Eddy Simulation of Draft Tube Flow, IAHR Symposium, Yokohama, 2006.

\delta t and \Delta^{1/3} are the discetized time and length scales.

The filter is applied to the turbulent viscosity:

\hat{\nu_t}=\left(\frac{\min(L_t,\Delta_f)}{L_t}\right)^{4/3}\frac{k}{\omega}

where L_t is the length scale given by the turbulence model.

The implementation of the kOmegaSSTF model is the same as that for the kOmegaSST model, except for the following difference:

kOmegaSST:

// Re-calculate viscosity
nut_ = a1_*k_/max(a1_*omega_, F2()*sqrt(S2));

kOmegaSSTF: (please help me implement this more general!)

// Compute Filter
scalar alph = 3.0; //Should be in a dictionary
scalarField Lt = sqrt(k_)/(betaStar_*omega_);
scalarField lt = alph*Foam::max(Foam::pow(mesh_.V().field(), 1.0/3.0),
                 (mag(U_)*runTime_.deltaT())->internalField());

// Re-calculate viscosity
nut_.internalField() = Foam::min(Foam::pow(lt/Lt,4.0/3.0), 1.0)*
       (a1_*k_/max(a1_*omega_, F2()*sqrt(S2)))->internalField();

1.1 Usage

Modify the RASModel in constant/RASproperties to:

RASModel            kOmegaSSTF;

and add to the same file:

kOmegaSSTFCoeffs
{
    alphaK1          0.85034;
    alphaK2          1.0;
    alphaOmega1      0.5;
    alphaOmega2      0.85616;
    gamma1           0.5532;
    gamma2           0.4403;
    beta1            0.0750;
    beta2            0.0828;
    betaStar         0.09;
    a1               0.31;
    c1               10;

    Cmu              0.09;
}

Make sure that the addedIncormpressibleRASModels library is linked to by adding at the end of the system/controlDict file:

libs ("libaddedIncompressibleRASModels.so");

1.2 Current limitations

  • None :-)
  • Note that this is a model for unsteady simulations. Steady simulations will most likely not converge to a steady solution.

1.3 Tutorial

In the kOmegaSSTF directory there is a pitzDaily tutorial

Run:

cd $WM_PROJECT_USER_DIR/src/turbulenceModels/RAS/incompressible/kOmegaSSTF/tutorials/pitzDaily
blockMesh
turbFoam >& log

One of the Dellenback Abrupt Expansion case-study cases also uses kOmegaSSTF by default.

1.4 Utility writekOmegaSSTFilter

In the kOmegaSSTF directory there is a utility named writekOmegaSSTFilter, which is used to write out the filter function, \left(\frac{\min(L_t,\Delta_f)}{L_t}\right)^{4/3}, for viewing in paraFoam or other manipulation.

Compile:

cd $WM_PROJECT_USER_DIR/src/turbulenceModels/RAS/incompressible/kOmegaSSTF/utilities/writekOmegaSSTFilter/
wmake

Run:

writekOmegaSSTFilter

2 Others

Back to Sig Turbulence