Difference between revisions of "Sig Turbulence/Library Added Incompressible RAS Models/zetaF0"

From OpenFOAMWiki
(zetaF0 incompressible RAS model)
(Others: removed absolute link)
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
== zetaF0 incompressible RAS model ==
 
== zetaF0 incompressible RAS model ==
  
The original version of this model was developed by Hanjalic and Popovac (A robust near-wall elliptic-relaxation eddy-viscosity turbulence model for CFD, Int. J. Heat Fluid Flow, 25, 1047–1051. 2004), while the current version implemented here has been presented at the 7th OpenFOAM Workshop (OpenFOAM Implementation of an Incompressible Eddy Viscosity Turbulence Model with Zero Wall Boundary Condition Elliptic Relaxation Function. 25-28 June 2012, Darmstadt, Germany [http://openfoam-extend.svn.sourceforge.net/viewvc/openfoam-extend/trunk/Breeder_1.6/OSIG/Turbulence/src/turbulenceModels/incompressible/RAS/zetaF0/Popovac-OFWS7_paper.pdf?view=log]).
+
The original version of this model was developed by Hanjalic and Popovac (A robust near-wall elliptic-relaxation eddy-viscosity turbulence model for CFD, Int. J. Heat Fluid Flow, 25, 1047–1051. 2004 [http://www.cfd-online.com/Wiki/Zeta-f_model]), while the current version implemented here has been presented at the 7th OpenFOAM Workshop (OpenFOAM Implementation of an Incompressible Eddy Viscosity Turbulence Model with Zero Wall Boundary Condition Elliptic Relaxation Function. 25-28 June 2012, Darmstadt, Germany [http://openfoam-extend.svn.sourceforge.net/viewvc/openfoam-extend/trunk/Breeder_1.6/OSIG/Turbulence/src/turbulenceModels/incompressible/RAS/zetaF0/Popovac-OFWS7_paper.pdf?view=log]).
  
  
 
=== Implementation ===
 
=== Implementation ===
  
As for the OpenFOAM implementation of the zetaF0 model itself, it is analogous to that of realizableKE model: both are based on the k-eps definition of the turbulent viscosity, including the "correction function" to account for the near-wall effects. The difference is, however, the definition of the "correction function": in the case of the realizable k-eps model this is the damping function rCmu
+
As for the OpenFOAM implementation of the zetaF0 model itself, it is analogous to that of realizableKE model: both are based on the k-eps definition of the turbulent viscosity, including the "correction function" to account for the near-wall effects. The difference in the implementation, however, is the definition of the "correction function": in the case of the realizable k-eps model this is the damping function rCmu
  
 
'''realizableKE:'''
 
'''realizableKE:'''
 +
// Correction function
 +
tmp<volScalarField> realizableKE::rCmu (gradU, S2, magS)
 +
{
 +
    volScalarField As
 +
    volScalarField Us
 +
    return 1.0/(A0_ + As*Us*k_/(epsilon_ + epsilonSmall_));
 +
}
 
  // Re-calculate viscosity
 
  // Re-calculate viscosity
 
  nut_ = rCmu(gradU, S2, magS)*sqr(k_)/epsilon_;
 
  nut_ = rCmu(gradU, S2, magS)*sqr(k_)/epsilon_;
  
whereas in the case of the zetaF0 model takes form of the normalized wall-normal velocity fluctuation component <math>\zeta</math>. Furthermore, the realizabililty constraints are introduced through an appropriate time scale definition.
+
whereas in the case of the zeta-f0 model takes form of the normalized wall-normal velocity fluctuation component <math>\zeta</math>. Furthermore, the realizabililty constraints are introduced through an appropriate time scale definition.
  
 
'''zetaF0:'''
 
'''zetaF0:'''
Line 19: Line 26:
 
                           CT_/(sqrt(6*2*magSqr(dev(symm(fvc::grad(U_)))))*Cmu_*zeta_+TinvMin_)),
 
                           CT_/(sqrt(6*2*magSqr(dev(symm(fvc::grad(U_)))))*Cmu_*zeta_+TinvMin_)),
 
                           Ctau_*sqrt(nu()/(epsilon_ + epsilonSmall_)));
 
                           Ctau_*sqrt(nu()/(epsilon_ + epsilonSmall_)));
 
 
  // Re-calculate viscosity
 
  // Re-calculate viscosity
 
  nut_ = Cmu_*k_*zeta_*TimeScale_;
 
  nut_ = Cmu_*k_*zeta_*TimeScale_;
 
  
 
=== Usage ===
 
=== Usage ===
Line 30: Line 35:
 
  RASModel            zetaF0;
 
  RASModel            zetaF0;
  
and add to the same file:
+
and add the coefficients to the same file (optional):
  
 
  zetaF0Coeffs
 
  zetaF0Coeffs
 
  {
 
  {
 
 
     Cmu        0.22;
 
     Cmu        0.22;
 
     sigmaK    1.0;
 
     sigmaK    1.0;
Line 53: Line 57:
  
 
  libs ("libaddedIncompressibleRASModels.so");
 
  libs ("libaddedIncompressibleRASModels.so");
 
  
 
=== Current limitations ===
 
=== Current limitations ===
  
* I wouldn't say it's a limitation, but a reminder: this model has been developed for wall-bounded flows.
+
* It's not really a limitation, but rather a reminder: this model has been developed for wall-bounded flows.
 
+
  
 
=== Tutorial ===
 
=== Tutorial ===
Line 66: Line 68:
 
Run:
 
Run:
  
  cd $WM_PROJECT_USER_DIR/src/turbulenceModels/RAS/incompressible/zetaF0/tutorials/pitzDaily
+
  cd $WM_PROJECT_USER_DIR/src/turbulenceModels/incompressible/RAS/zetaF0/pitzDaily
 
  blockMesh
 
  blockMesh
 
  simpleFoam
 
  simpleFoam
Line 73: Line 75:
  
 
Back to [[Sig Turbulence]]
 
Back to [[Sig Turbulence]]
 
Back to [http://openfoamwiki.net/index.php/Sig_Turbulence_Library_Added_Incompressible_RAS_Models_zetaF0 Top]
 

Latest revision as of 16:03, 1 March 2014

1 zetaF0 incompressible RAS model

The original version of this model was developed by Hanjalic and Popovac (A robust near-wall elliptic-relaxation eddy-viscosity turbulence model for CFD, Int. J. Heat Fluid Flow, 25, 1047–1051. 2004 [1]), while the current version implemented here has been presented at the 7th OpenFOAM Workshop (OpenFOAM Implementation of an Incompressible Eddy Viscosity Turbulence Model with Zero Wall Boundary Condition Elliptic Relaxation Function. 25-28 June 2012, Darmstadt, Germany [2]).


1.1 Implementation

As for the OpenFOAM implementation of the zetaF0 model itself, it is analogous to that of realizableKE model: both are based on the k-eps definition of the turbulent viscosity, including the "correction function" to account for the near-wall effects. The difference in the implementation, however, is the definition of the "correction function": in the case of the realizable k-eps model this is the damping function rCmu

realizableKE:

// Correction function
tmp<volScalarField> realizableKE::rCmu (gradU, S2, magS)
{
   volScalarField As
   volScalarField Us
   return 1.0/(A0_ + As*Us*k_/(epsilon_ + epsilonSmall_));
}
// Re-calculate viscosity
nut_ = rCmu(gradU, S2, magS)*sqr(k_)/epsilon_;

whereas in the case of the zeta-f0 model takes form of the normalized wall-normal velocity fluctuation component \zeta. Furthermore, the realizabililty constraints are introduced through an appropriate time scale definition.

zetaF0:

// Time scale
scalarField TimeScale=max(min(k_/(epsilon_ + epsilonSmall_),
                          CT_/(sqrt(6*2*magSqr(dev(symm(fvc::grad(U_)))))*Cmu_*zeta_+TinvMin_)),
                          Ctau_*sqrt(nu()/(epsilon_ + epsilonSmall_)));
// Re-calculate viscosity
nut_ = Cmu_*k_*zeta_*TimeScale_;

1.2 Usage

Modify the RASModel in constant/RASproperties to:

RASModel            zetaF0;

and add the coefficients to the same file (optional):

zetaF0Coeffs
{
    Cmu        0.22;
    sigmaK     1.0;
    sigmaEps   1.3;
    sigmaZeta  1.2;
    Ceps10     1.4;
    Ceps11     0.012;
    Ceps2      1.9;
    Cf1        1.4;
    Cf2        0.65;
    Ceta       85.0;
    CL         0.36;
    Ctau       6.0;
    CT         0.6;
}

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

libs ("libaddedIncompressibleRASModels.so");

1.3 Current limitations

  • It's not really a limitation, but rather a reminder: this model has been developed for wall-bounded flows.

1.4 Tutorial

In the zetaF0 directory there is a pitzDaily tutorial

Run:

cd $WM_PROJECT_USER_DIR/src/turbulenceModels/incompressible/RAS/zetaF0/pitzDaily
blockMesh
simpleFoam

2 Others

Back to Sig Turbulence