From b92fbd8f73ee39c9beb3ece52d70c39fbfa4e794 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Wed, 11 May 2022 10:09:13 +0100 Subject: [PATCH 01/24] ENH: Refactored Spalart-Allmaras turbulence models - Added a new S-A base class: SpalartAllmarasBase - RAS and DES models derived from new base class - Removed code duplication --- .../SpalartAllmaras/SpalartAllmarasBase.C | 471 ++++++++++++++++++ .../SpalartAllmaras/SpalartAllmarasBase.H | 226 +++++++++ .../turbulenceModels/DES/DESModel/DESModel.C | 2 +- .../turbulenceModels/DES/DESModel/DESModel.H | 2 +- .../SpalartAllmarasDDES/SpalartAllmarasDDES.C | 36 +- .../SpalartAllmarasDDES/SpalartAllmarasDDES.H | 11 +- .../SpalartAllmarasDES/SpalartAllmarasDES.C | 437 ++-------------- .../SpalartAllmarasDES/SpalartAllmarasDES.H | 91 +--- .../SpalartAllmarasIDDES.C | 39 +- .../SpalartAllmarasIDDES.H | 23 +- .../DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C | 4 +- .../RAS/SpalartAllmaras/SpalartAllmaras.C | 341 +------------ .../RAS/SpalartAllmaras/SpalartAllmaras.H | 79 +-- 13 files changed, 796 insertions(+), 966 deletions(-) create mode 100644 src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.C create mode 100644 src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.H diff --git a/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.C b/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.C new file mode 100644 index 0000000000..6400f85e27 --- /dev/null +++ b/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.C @@ -0,0 +1,471 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2016-2022 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "SpalartAllmarasBase.H" +#include "wallDist.H" +#include "bound.H" +#include "fvOptions.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // + +template +tmp SpalartAllmarasBase::chi() const +{ + return nuTilda_/this->nu(); +} + + +template +tmp SpalartAllmarasBase::fv1 +( + const volScalarField& chi +) const +{ + const volScalarField chi3("chi3", pow3(chi)); + return chi3/(chi3 + pow3(Cv1_)); +} + + +template +tmp SpalartAllmarasBase::fv2 +( + const volScalarField& chi, + const volScalarField& fv1 +) const +{ + return scalar(1) - chi/(scalar(1) + chi*fv1); +} + + +template +tmp SpalartAllmarasBase::ft2 +( + const volScalarField& chi +) const +{ + return Ct3_*exp(-Ct4_*sqr(chi)); +} + + +template +tmp SpalartAllmarasBase::Omega +( + const volTensorField& gradU +) const +{ + return sqrt(2.0)*mag(skew(gradU)); +} + + +template +tmp SpalartAllmarasBase::r +( + const volScalarField& nur, + const volScalarField& Stilda, + const volScalarField& dTilda +) const +{ + const dimensionedScalar eps("SMALL", Stilda.dimensions(), SMALL); + + tmp tr = + min(nur/(max(Stilda, eps)*sqr(kappa_*dTilda)), scalar(10)); + + tr.ref().boundaryFieldRef() == 0; + + return tr; +} + + +template +tmp SpalartAllmarasBase::fw +( + const volScalarField& Stilda, + const volScalarField& dTilda +) const +{ + const volScalarField::Internal r(this->r(nuTilda_, Stilda, dTilda)()()); + const volScalarField::Internal g(r + Cw2_*(pow6(r) - r)); + + return g*pow((1 + pow6(Cw3_))/(pow6(g) + pow6(Cw3_)), 1.0/6.0); +} + + +template +tmp SpalartAllmarasBase::Stilda +( + const volScalarField& chi, + const volScalarField& fv1, + const volTensorField& gradU, + const volScalarField& dTilda +) const +{ + const volScalarField Omega(this->Omega(gradU)); + + return + max + ( + Omega + fv2(chi, fv1)*nuTilda_/sqr(kappa_*dTilda), + Cs_*Omega + ); +} + + +template +void SpalartAllmarasBase::correctNut +( + const volScalarField& fv1 +) +{ + this->nut_ = nuTilda_*fv1; + this->nut_.correctBoundaryConditions(); + fv::options::New(this->mesh_).correct(this->nut_); +} + + +template +void SpalartAllmarasBase::correctNut() +{ + correctNut(fv1(this->chi())); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +SpalartAllmarasBase::SpalartAllmarasBase +( + const word& type, + const alphaField& alpha, + const rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaRhoPhi, + const surfaceScalarField& phi, + const transportModel& transport, + const word& propertiesName +) +: + BasicEddyViscosityModel + ( + type, + alpha, + rho, + U, + alphaRhoPhi, + phi, + transport, + propertiesName + ), + + sigmaNut_ + ( + dimensioned::getOrAddToDict + ( + "sigmaNut", + this->coeffDict_, + 0.66666 + ) + ), + kappa_ + ( + dimensioned::getOrAddToDict + ( + "kappa", + this->coeffDict_, + 0.41 + ) + ), + Cb1_ + ( + dimensioned::getOrAddToDict + ( + "Cb1", + this->coeffDict_, + 0.1355 + ) + ), + Cb2_ + ( + dimensioned::getOrAddToDict + ( + "Cb2", + this->coeffDict_, + 0.622 + ) + ), + Cw1_(Cb1_/sqr(kappa_) + (1.0 + Cb2_)/sigmaNut_), + Cw2_ + ( + dimensioned::getOrAddToDict + ( + "Cw2", + this->coeffDict_, + 0.3 + ) + ), + Cw3_ + ( + dimensioned::getOrAddToDict + ( + "Cw3", + this->coeffDict_, + 2.0 + ) + ), + Cv1_ + ( + dimensioned::getOrAddToDict + ( + "Cv1", + this->coeffDict_, + 7.1 + ) + ), + Cs_ + ( + dimensioned::getOrAddToDict + ( + "Cs", + this->coeffDict_, + 0.3 + ) + ), + ck_ + ( + dimensioned::getOrAddToDict + ( + "ck", + this->coeffDict_, + 0.07 + ) + ), + Ct3_ + ( + dimensioned::getOrAddToDict + ( + "Ct3", + this->coeffDict_, + 1.2 + ) + ), + Ct4_ + ( + dimensioned::getOrAddToDict + ( + "Ct4", + this->coeffDict_, + 0.5 + ) + ), + + nuTilda_ + ( + IOobject + ( + "nuTilda", + this->runTime_.timeName(), + this->mesh_, + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + this->mesh_ + ), + + y_(wallDist::New(this->mesh_).y()) +{ + if (mag(Ct3_.value()) > SMALL) + { + Info<< " ft2 term: active" << nl; + } + else + { + Info<< " ft2 term: inactive" << nl; + } +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template +bool SpalartAllmarasBase::read() +{ + if (BasicEddyViscosityModel::read()) + { + sigmaNut_.readIfPresent(this->coeffDict()); + kappa_.readIfPresent(*this); + + Cb1_.readIfPresent(this->coeffDict()); + Cb2_.readIfPresent(this->coeffDict()); + Cw1_ = Cb1_/sqr(kappa_) + (1.0 + Cb2_)/sigmaNut_; + Cw2_.readIfPresent(this->coeffDict()); + Cw3_.readIfPresent(this->coeffDict()); + Cv1_.readIfPresent(this->coeffDict()); + Cs_.readIfPresent(this->coeffDict()); + + ck_.readIfPresent(this->coeffDict()); + + Ct3_.readIfPresent(this->coeffDict()); + Ct4_.readIfPresent(this->coeffDict()); + + if (mag(Ct3_.value()) > SMALL) + { + Info<< " ft2 term: active" << nl; + } + else + { + Info<< " ft2 term: inactive" << nl; + } + + return true; + } + + return false; +} + + +template +tmp +SpalartAllmarasBase::DnuTildaEff() const +{ + return tmp::New + ( + IOobject::groupName("DnuTildaEff", this->alphaRhoPhi_.group()), + (nuTilda_ + this->nu())/sigmaNut_ + ); +} + + +template +tmp SpalartAllmarasBase::k() const +{ + // (B:Eq. 4.50) + const scalar Cmu = 0.09; + const auto fv1 = this->fv1(chi()); + + return tmp::New + ( + IOobject::groupName("k", this->alphaRhoPhi_.group()), + cbrt(fv1)*nuTilda_*::sqrt(scalar(2)/Cmu)*mag(symm(fvc::grad(this->U_))) + ); +} + +template +tmp +SpalartAllmarasBase::epsilon() const +{ + // (B:Eq. 4.50) + const scalar Cmu = 0.09; + const auto fv1 = this->fv1(chi()); + const dimensionedScalar nutSMALL(nuTilda_.dimensions(), SMALL); + + return tmp::New + ( + IOobject::groupName("epsilon", this->alphaRhoPhi_.group()), + sqrt(fv1)*sqr(::sqrt(Cmu)*this->k())/(nuTilda_ + this->nut_ + nutSMALL) + ); +} + + +template +tmp SpalartAllmarasBase::omega() const +{ + // (P:p. 384) + const scalar betaStar = 0.09; + const dimensionedScalar k0(sqr(dimLength/dimTime), SMALL); + + return tmp::New + ( + IOobject::groupName("omega", this->alphaRhoPhi_.group()), + this->epsilon()/(betaStar*(this->k() + k0)) + ); +} + + +template +void SpalartAllmarasBase::correct() +{ + if (!this->turbulence_) + { + return; + } + + // Local references + const alphaField& alpha = this->alpha_; + const rhoField& rho = this->rho_; + const surfaceScalarField& alphaRhoPhi = this->alphaRhoPhi_; + const volVectorField& U = this->U_; + fv::options& fvOptions(fv::options::New(this->mesh_)); + + BasicEddyViscosityModel::correct(); + + const volScalarField chi(this->chi()); + const volScalarField fv1(this->fv1(chi)); + const volScalarField ft2(this->ft2(chi)); + + tmp tgradU = fvc::grad(U); + volScalarField dTilda(this->dTilda(chi, fv1, tgradU())); + volScalarField Stilda(this->Stilda(chi, fv1, tgradU(), dTilda)); + tgradU.clear(); + + tmp nuTildaEqn + ( + fvm::ddt(alpha, rho, nuTilda_) + + fvm::div(alphaRhoPhi, nuTilda_) + - fvm::laplacian(alpha*rho*DnuTildaEff(), nuTilda_) + - Cb2_/sigmaNut_*alpha()*rho()*magSqr(fvc::grad(nuTilda_)()()) + == + Cb1_*alpha()*rho()*Stilda()*nuTilda_()*(scalar(1) - ft2()) + - fvm::Sp + ( + (Cw1_*fw(Stilda, dTilda) - Cb1_/sqr(kappa_)*ft2()) + *alpha()*rho()*nuTilda_()/sqr(dTilda()), + nuTilda_ + ) + + fvOptions(alpha, rho, nuTilda_) + ); + + nuTildaEqn.ref().relax(); + fvOptions.constrain(nuTildaEqn.ref()); + solve(nuTildaEqn); + fvOptions.correct(nuTilda_); + bound(nuTilda_, dimensionedScalar(nuTilda_.dimensions(), Zero)); + nuTilda_.correctBoundaryConditions(); + + correctNut(); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.H b/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.H new file mode 100644 index 0000000000..9aca849ea4 --- /dev/null +++ b/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.H @@ -0,0 +1,226 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2015-2022 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::LESModels::SpalartAllmarasBase + +Group + grpDESTurbulence + +Description + SpalartAllmarasBase DES turbulence model for incompressible and + compressible flows + + Reference: + \verbatim + Spalart, P. R., Jou, W. H., Strelets, M., & Allmaras, S. R. (1997). + Comments on the feasibility of LES for wings, and on a hybrid + RANS/LES approach. + Advances in DNS/LES, 1, 4-8. + \endverbatim + +SourceFiles + SpalartAllmarasBase.C + +\*---------------------------------------------------------------------------*/ + +#ifndef Foam_SpalartAllmarasBase_H +#define Foam_SpalartAllmarasBase_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class SpalartAllmarasBase Declaration +\*---------------------------------------------------------------------------*/ + +template +class SpalartAllmarasBase +: + public BasicEddyViscosityModel +{ + // Private Member Functions + + //- No copy construct + SpalartAllmarasBase(const SpalartAllmarasBase&) = delete; + + //- No copy assignment + void operator=(const SpalartAllmarasBase&) = delete; + + +protected: + + // Protected data + + // Model constants + + dimensionedScalar sigmaNut_; + dimensionedScalar kappa_; + + dimensionedScalar Cb1_; + dimensionedScalar Cb2_; + dimensionedScalar Cw1_; + dimensionedScalar Cw2_; + dimensionedScalar Cw3_; + dimensionedScalar Cv1_; + dimensionedScalar Cs_; + dimensionedScalar ck_; + + + dimensionedScalar Ct3_; + dimensionedScalar Ct4_; + + + // Fields + + volScalarField nuTilda_; + + //- Wall distance + // Note: different to wall distance in parent RASModel + // which is for near-wall cells only + const volScalarField& y_; + + + // Protected Member Functions + + tmp chi() const; + + tmp fv1(const volScalarField& chi) const; + + tmp fv2 + ( + const volScalarField& chi, + const volScalarField& fv1 + ) const; + + tmp ft2(const volScalarField& chi) const; + + tmp Omega(const volTensorField& gradU) const; + + tmp r + ( + const volScalarField& nur, + const volScalarField& Stilda, + const volScalarField& dTilda + ) const; + + tmp fw + ( + const volScalarField& Stilda, + const volScalarField& dTilda + ) const; + + virtual tmp Stilda + ( + const volScalarField& chi, + const volScalarField& fv1, + const volTensorField& gradU, + const volScalarField& dTilda + ) const; + + //- Length scale + virtual tmp dTilda + ( + const volScalarField& chi, + const volScalarField& fv1, + const volTensorField& gradU + ) const = 0; + + void correctNut(const volScalarField& fv1); + virtual void correctNut(); + + +public: + + typedef typename BasicEddyViscosityModel::alphaField alphaField; + typedef typename BasicEddyViscosityModel::rhoField rhoField; + typedef typename BasicEddyViscosityModel::transportModel transportModel; + + + // Constructors + + //- Construct from components + SpalartAllmarasBase + ( + const word& type, + const alphaField& alpha, + const rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaRhoPhi, + const surfaceScalarField& phi, + const transportModel& transport, + const word& propertiesName = turbulenceModel::propertiesName + ); + + + //- Destructor + virtual ~SpalartAllmarasBase() = default; + + + // Member Functions + + //- Re-read model coefficients if they have changed + virtual bool read(); + + //- Return the effective diffusivity for nuTilda + tmp DnuTildaEff() const; + + //- Return the (estimated) turbulent kinetic energy + virtual tmp k() const; + + //- Return the (estimated) turbulent kinetic energy dissipation rate + virtual tmp epsilon() const; + + //- Return the (estimated) specific dissipation rate + virtual tmp omega() const; + + tmp nuTilda() const + { + return nuTilda_; + } + + //- Correct nuTilda and related properties + virtual void correct(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository + #include "SpalartAllmarasBase.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C index ae5a815b7d..94ed812c67 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C +++ b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C @@ -63,7 +63,7 @@ DESModel::DESModel {} -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // template DESModel::~DESModel() diff --git a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.H b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.H index 4422bf3274..fd1a452518 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.H +++ b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.H @@ -92,7 +92,7 @@ public: //- Destructor - virtual ~DESModel(); + virtual ~DESModel() = default; // Public Member Functions diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C index aa955595b5..f0af3c94c0 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2020 OpenCFD Ltd. + Copyright (C) 2015-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -37,41 +37,15 @@ namespace LESModels // * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * // -template -tmp SpalartAllmarasDDES::rd -( - const volScalarField& magGradU -) const -{ - tmp tr - ( - min - ( - this->nuEff() - /( - max - ( - magGradU, - dimensionedScalar("SMALL", magGradU.dimensions(), SMALL) - ) - *sqr(this->kappa_*this->y_) - ), - scalar(10) - ) - ); - tr.ref().boundaryFieldRef() == 0.0; - - return tr; -} - - template tmp SpalartAllmarasDDES::fd ( const volScalarField& magGradU ) const { - return 1 - tanh(pow(Cd1_*rd(magGradU), Cd2_)); + return + 1 + - tanh(pow(this->Cd1_*this->r(this->nuEff(), magGradU, this->y_), Cd2_)); } @@ -86,7 +60,7 @@ tmp SpalartAllmarasDDES::dTilda ) const { const volScalarField& lRAS(this->y_); - const volScalarField lLES(this->psi(chi, fv1)*this->CDES_*this->delta()); + const volScalarField lLES(this->lengthScaleLES(chi, fv1)); return max ( diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H index 414d278759..29f279d353 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -48,10 +48,10 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef SpalartAllmarasDDES_H -#define SpalartAllmarasDDES_H +#ifndef Foam_SpalartAllmarasDDES_H +#define Foam_SpalartAllmarasDDES_H -#include "SpalartAllmarasDES.H" +#include "SpalartAllmarasBase.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -71,10 +71,9 @@ class SpalartAllmarasDDES { // Private Member Functions + //- Delay function tmp fd(const volScalarField& magGradU) const; - tmp rd(const volScalarField& magGradU) const; - //- No copy construct SpalartAllmarasDDES(const SpalartAllmarasDDES&) = delete; diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C index e474d3065f..1b17db41f6 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -38,120 +38,6 @@ namespace LESModels // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // -template -tmp SpalartAllmarasDES::chi() const -{ - return nuTilda_/this->nu(); -} - - -template -tmp SpalartAllmarasDES::fv1 -( - const volScalarField& chi -) const -{ - const volScalarField chi3("chi3", pow3(chi)); - return chi3/(chi3 + pow3(Cv1_)); -} - - -template -tmp SpalartAllmarasDES::fv2 -( - const volScalarField& chi, - const volScalarField& fv1 -) const -{ - return 1.0 - chi/(1.0 + chi*fv1); -} - - -template -tmp SpalartAllmarasDES::ft2 -( - const volScalarField& chi -) const -{ - return Ct3_*exp(-Ct4_*sqr(chi)); -} - - -template -tmp SpalartAllmarasDES::Omega -( - const volTensorField& gradU -) const -{ - return sqrt(2.0)*mag(skew(gradU)); -} - - -template -tmp SpalartAllmarasDES::Stilda -( - const volScalarField& chi, - const volScalarField& fv1, - const volScalarField& Omega, - const volScalarField& dTilda -) const -{ - return - ( - max - ( - Omega - + fv2(chi, fv1)*nuTilda_/sqr(kappa_*dTilda), - Cs_*Omega - ) - ); -} - - -template -tmp SpalartAllmarasDES::r -( - const volScalarField& nur, - const volScalarField& Omega, - const volScalarField& dTilda -) const -{ - tmp tr - ( - min - ( - nur - /( - max - ( - Omega, - dimensionedScalar("SMALL", Omega.dimensions(), SMALL) - ) - *sqr(kappa_*dTilda) - ), - scalar(10) - ) - ); - tr.ref().boundaryFieldRef() == 0.0; - - return tr; -} - - -template -tmp SpalartAllmarasDES::fw -( - const volScalarField& Omega, - const volScalarField& dTilda -) const -{ - const volScalarField r(this->r(nuTilda_, Omega, dTilda)); - const volScalarField g(r + Cw2_*(pow6(r) - r)); - - return g*pow((1 + pow6(Cw3_))/(pow6(g) + pow6(Cw3_)), 1.0/6.0); -} - - template tmp SpalartAllmarasDES::psi ( @@ -159,26 +45,23 @@ tmp SpalartAllmarasDES::psi const volScalarField& fv1 ) const { - tmp tpsi + auto tpsi = tmp::New ( - new volScalarField + IOobject ( - IOobject - ( - type() + ":psi", - this->time().timeName(), - this->mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), + IOobject::scopedName(type(), "psi"), + this->time().timeName(), this->mesh(), - dimensionedScalar("one", dimless, 1) - ) + IOobject::NO_READ, + IOobject::NO_WRITE + ), + this->mesh(), + dimensionedScalar(dimless, Zero) ); if (lowReCorrection_) { - volScalarField& psi = tpsi.ref(); + auto& psi = tpsi.ref(); const volScalarField fv2(this->fv2(chi, fv1)); const volScalarField ft2(this->ft2(chi)); @@ -189,7 +72,8 @@ tmp SpalartAllmarasDES::psi min ( scalar(100), - (1 - Cb1_/(Cw1_*sqr(kappa_)*fwStar_)*(ft2 + (1 - ft2)*fv2)) + (1 - this->Cb1_/(this->Cw1_*sqr(this->kappa_)*fwStar_) + *(ft2 + (1 - ft2)*fv2)) /max(SMALL, (fv1*max(scalar(1e-10), 1 - ft2))) ) ); @@ -199,6 +83,17 @@ tmp SpalartAllmarasDES::psi } +template +tmp SpalartAllmarasDES::lengthScaleLES +( + const volScalarField& chi, + const volScalarField& fv1 +) const +{ + return psi(chi, fv1)*CDES_*this->delta(); +} + + template tmp SpalartAllmarasDES::dTilda ( @@ -207,33 +102,15 @@ tmp SpalartAllmarasDES::dTilda const volTensorField& gradU ) const { - tmp tdTilda(psi(chi, fv1)*CDES_*this->delta()); - min(tdTilda.ref().ref(), tdTilda(), y_); + // Initialise with LES length scale + tmp tdTilda = lengthScaleLES(chi, fv1); + + // Take min vs wall distance + min(tdTilda.ref(), tdTilda(), this->y_); return tdTilda; } -template -void SpalartAllmarasDES::correctNut -( - const volScalarField& fv1 -) -{ - this->nut_ = nuTilda_*fv1; - this->nut_.correctBoundaryConditions(); - fv::options::New(this->mesh_).correct(this->nut_); - - BasicTurbulenceModel::correctNut(); -} - - -template -void SpalartAllmarasDES::correctNut() -{ - correctNut(fv1(this->chi())); -} - - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // template @@ -249,7 +126,7 @@ SpalartAllmarasDES::SpalartAllmarasDES const word& type ) : - DESModel + SpalartAllmarasBase> ( type, alpha, @@ -261,79 +138,6 @@ SpalartAllmarasDES::SpalartAllmarasDES propertiesName ), - sigmaNut_ - ( - dimensioned::getOrAddToDict - ( - "sigmaNut", - this->coeffDict_, - 0.66666 - ) - ), - kappa_ - ( - dimensioned::getOrAddToDict - ( - "kappa", - this->coeffDict_, - 0.41 - ) - ), - Cb1_ - ( - dimensioned::getOrAddToDict - ( - "Cb1", - this->coeffDict_, - 0.1355 - ) - ), - Cb2_ - ( - dimensioned::getOrAddToDict - ( - "Cb2", - this->coeffDict_, - 0.622 - ) - ), - Cw1_(Cb1_/sqr(kappa_) + (1.0 + Cb2_)/sigmaNut_), - Cw2_ - ( - dimensioned::getOrAddToDict - ( - "Cw2", - this->coeffDict_, - 0.3 - ) - ), - Cw3_ - ( - dimensioned::getOrAddToDict - ( - "Cw3", - this->coeffDict_, - 2.0 - ) - ), - Cv1_ - ( - dimensioned::getOrAddToDict - ( - "Cv1", - this->coeffDict_, - 7.1 - ) - ), - Cs_ - ( - dimensioned::getOrAddToDict - ( - "Cs", - this->coeffDict_, - 0.3 - ) - ), CDES_ ( dimensioned::getOrAddToDict @@ -343,15 +147,6 @@ SpalartAllmarasDES::SpalartAllmarasDES 0.65 ) ), - ck_ - ( - dimensioned::getOrAddToDict - ( - "ck", - this->coeffDict_, - 0.07 - ) - ), lowReCorrection_ ( Switch::getOrAddToDict @@ -361,24 +156,6 @@ SpalartAllmarasDES::SpalartAllmarasDES true ) ), - Ct3_ - ( - dimensioned::getOrAddToDict - ( - "Ct3", - this->coeffDict_, - 1.2 - ) - ), - Ct4_ - ( - dimensioned::getOrAddToDict - ( - "Ct4", - this->coeffDict_, - 0.5 - ) - ), fwStar_ ( dimensioned::getOrAddToDict @@ -387,22 +164,7 @@ SpalartAllmarasDES::SpalartAllmarasDES this->coeffDict_, 0.424 ) - ), - - nuTilda_ - ( - IOobject - ( - "nuTilda", - this->runTime_.timeName(), - this->mesh_, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - this->mesh_ - ), - - y_(wallDist::New(this->mesh_).y()) + ) { if (type == typeName) { @@ -416,25 +178,10 @@ SpalartAllmarasDES::SpalartAllmarasDES template bool SpalartAllmarasDES::read() { - if (DESModel::read()) + if (SpalartAllmarasBase>::read()) { - sigmaNut_.readIfPresent(this->coeffDict()); - kappa_.readIfPresent(*this); - - Cb1_.readIfPresent(this->coeffDict()); - Cb2_.readIfPresent(this->coeffDict()); - Cw1_ = Cb1_/sqr(kappa_) + (1.0 + Cb2_)/sigmaNut_; - Cw2_.readIfPresent(this->coeffDict()); - Cw3_.readIfPresent(this->coeffDict()); - Cv1_.readIfPresent(this->coeffDict()); - Cs_.readIfPresent(this->coeffDict()); - CDES_.readIfPresent(this->coeffDict()); - ck_.readIfPresent(this->coeffDict()); - lowReCorrection_.readIfPresent("lowReCorrection", this->coeffDict()); - Ct3_.readIfPresent(this->coeffDict()); - Ct4_.readIfPresent(this->coeffDict()); fwStar_.readIfPresent(this->coeffDict()); return true; @@ -445,124 +192,24 @@ bool SpalartAllmarasDES::read() template -tmp SpalartAllmarasDES:: -DnuTildaEff() const -{ - return tmp - ( - new volScalarField("DnuTildaEff", (nuTilda_ + this->nu())/sigmaNut_) - ); -} - - -template -tmp SpalartAllmarasDES::k() const +tmp +SpalartAllmarasDES::LESRegion() const { const volScalarField chi(this->chi()); const volScalarField fv1(this->fv1(chi)); - tmp tdTilda + return tmp::New ( - new volScalarField + IOobject ( - IOobject - ( - "dTilda", - this->mesh_.time().timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + IOobject::scopedName("DES", "LESRegion"), + this->mesh_.time().timeName(), this->mesh_, - dimensionedScalar(dimLength, Zero), - zeroGradientFvPatchField::typeName - ) + IOobject::NO_READ, + IOobject::NO_WRITE + ), + neg(dTilda(chi, fv1, fvc::grad(this->U_)) - this->y_) ); - volScalarField& dTildaF = tdTilda.ref(); - dTildaF = dTilda(chi, fv1, fvc::grad(this->U_)); - dTildaF.correctBoundaryConditions(); - - return sqr(this->nut()/ck_/dTildaF); -} - - -template -tmp SpalartAllmarasDES::LESRegion() const -{ - const volScalarField chi(this->chi()); - const volScalarField fv1(this->fv1(chi)); - - tmp tLESRegion - ( - new volScalarField - ( - IOobject - ( - "DES::LESRegion", - this->mesh_.time().timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - neg(dTilda(chi, fv1, fvc::grad(this->U_)) - y_) - ) - ); - - return tLESRegion; -} - - -template -void SpalartAllmarasDES::correct() -{ - if (!this->turbulence_) - { - return; - } - - // Local references - const alphaField& alpha = this->alpha_; - const rhoField& rho = this->rho_; - const surfaceScalarField& alphaRhoPhi = this->alphaRhoPhi_; - const volVectorField& U = this->U_; - fv::options& fvOptions(fv::options::New(this->mesh_)); - - DESModel::correct(); - - const volScalarField chi(this->chi()); - const volScalarField fv1(this->fv1(chi)); - const volScalarField ft2(this->ft2(chi)); - - tmp tgradU = fvc::grad(U); - const volScalarField Omega(this->Omega(tgradU())); - const volScalarField dTilda(this->dTilda(chi, fv1, tgradU())); - const volScalarField Stilda(this->Stilda(chi, fv1, Omega, dTilda)); - - tmp nuTildaEqn - ( - fvm::ddt(alpha, rho, nuTilda_) - + fvm::div(alphaRhoPhi, nuTilda_) - - fvm::laplacian(alpha*rho*DnuTildaEff(), nuTilda_) - - Cb2_/sigmaNut_*alpha*rho*magSqr(fvc::grad(nuTilda_)) - == - Cb1_*alpha*rho*Stilda*nuTilda_*(scalar(1) - ft2) - - fvm::Sp - ( - (Cw1_*fw(Stilda, dTilda) - Cb1_/sqr(kappa_)*ft2) - *alpha*rho*nuTilda_/sqr(dTilda), - nuTilda_ - ) - + fvOptions(alpha, rho, nuTilda_) - ); - - nuTildaEqn.ref().relax(); - fvOptions.constrain(nuTildaEqn.ref()); - solve(nuTildaEqn); - fvOptions.correct(nuTilda_); - bound(nuTilda_, dimensionedScalar(nuTilda_.dimensions(), Zero)); - nuTilda_.correctBoundaryConditions(); - - correctNut(); } diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.H b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.H index 094ccf99b8..8069f66ec7 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2019 OpenCFD Ltd. + Copyright (C) 2015-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -61,9 +61,10 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef SpalartAllmarasDES_H -#define SpalartAllmarasDES_H +#ifndef Foam_SpalartAllmarasDES_H +#define Foam_SpalartAllmarasDES_H +#include "SpalartAllmarasBase.H" #include "DESModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -80,7 +81,7 @@ namespace LESModels template class SpalartAllmarasDES : - public DESModel + public SpalartAllmarasBase> { // Private Member Functions @@ -97,76 +98,25 @@ protected: // Model constants - dimensionedScalar sigmaNut_; - dimensionedScalar kappa_; - - dimensionedScalar Cb1_; - dimensionedScalar Cb2_; - dimensionedScalar Cw1_; - dimensionedScalar Cw2_; - dimensionedScalar Cw3_; - dimensionedScalar Cv1_; - dimensionedScalar Cs_; + // DES coefficient dimensionedScalar CDES_; - dimensionedScalar ck_; - // Low Reynolds number correction - - Switch lowReCorrection_; - dimensionedScalar Ct3_; - dimensionedScalar Ct4_; - dimensionedScalar fwStar_; - - - // Fields - - volScalarField nuTilda_; - - //- Wall distance - // Note: different to wall distance in parent RASModel - // which is for near-wall cells only - const volScalarField& y_; + Switch lowReCorrection_; + dimensionedScalar fwStar_; // Protected Member Functions - tmp chi() const; - - tmp fv1(const volScalarField& chi) const; - - tmp fv2 + //- Shielding function + virtual tmp psi ( const volScalarField& chi, const volScalarField& fv1 ) const; - tmp ft2(const volScalarField& chi) const; - - tmp Omega(const volTensorField& gradU) const; - - tmp Stilda - ( - const volScalarField& chi, - const volScalarField& fv1, - const volScalarField& Omega, - const volScalarField& dTilda - ) const; - - tmp r - ( - const volScalarField& nur, - const volScalarField& Omega, - const volScalarField& dTilda - ) const; - - tmp fw - ( - const volScalarField& Omega, - const volScalarField& dTilda - ) const; - - tmp psi + //- LES length scale + virtual tmp lengthScaleLES ( const volScalarField& chi, const volScalarField& fv1 @@ -180,9 +130,6 @@ protected: const volTensorField& gradU ) const; - void correctNut(const volScalarField& fv1); - virtual void correctNut(); - public: @@ -220,22 +167,8 @@ public: //- Re-read model coefficients if they have changed virtual bool read(); - //- Return the effective diffusivity for nuTilda - tmp DnuTildaEff() const; - - //- Return SGS kinetic energy - virtual tmp k() const; - - tmp nuTilda() const - { - return nuTilda_; - } - //- Return the LES field indicator virtual tmp LESRegion() const; - - //- Correct nuTilda and related properties - virtual void correct(); }; diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C index a0a0535955..cd12c26e15 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2015-2020 OpenCFD Ltd. + Copyright (C) 2015-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -64,7 +64,7 @@ tmp SpalartAllmarasIDDES::ft const volScalarField& magGradU ) const { - return tanh(pow3(sqr(Ct_)*rd(this->nut_, magGradU))); + return tanh(pow3(sqr(Ct_)*this->r(this->nut_, magGradU, this->y_))); } @@ -74,36 +74,7 @@ tmp SpalartAllmarasIDDES::fl const volScalarField& magGradU ) const { - return tanh(pow(sqr(Cl_)*rd(this->nu(), magGradU), 10)); -} - - -template -tmp SpalartAllmarasIDDES::rd -( - const volScalarField& nur, - const volScalarField& magGradU -) const -{ - tmp tr - ( - min - ( - nur - /( - max - ( - magGradU, - dimensionedScalar("SMALL", magGradU.dimensions(), SMALL) - ) - *sqr(this->kappa_*this->y_) - ), - scalar(10) - ) - ); - tr.ref().boundaryFieldRef() == 0.0; - - return tr; + return tanh(pow(sqr(Cl_)*this->r(this->nu(), magGradU, this->y_), 10)); } @@ -113,7 +84,7 @@ tmp SpalartAllmarasIDDES::fdt const volScalarField& magGradU ) const { - return 1 - tanh(pow(Cdt1_*rd(this->nut_, magGradU), Cdt2_)); + return 1 - tanh(pow(Cdt1_*this->r(this->nut_, magGradU, this->y_), Cdt2_)); } @@ -130,7 +101,7 @@ tmp SpalartAllmarasIDDES::dTilda const volScalarField magGradU(mag(gradU)); const volScalarField psi(this->psi(chi, fv1)); - const volScalarField& lRAS(this->y_); + const volScalarField& lRAS = this->y_; const volScalarField lLES(psi*this->CDES_*this->delta()); const volScalarField alpha(this->alpha()); diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H index 66199f664e..9f13f607b0 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -47,8 +47,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef SpalartAllmarasIDDES_H -#define SpalartAllmarasIDDES_H +#ifndef Foam_SpalartAllmarasIDDES_H +#define Foam_SpalartAllmarasIDDES_H #include "SpalartAllmarasDES.H" #include "IDDESDelta.H" @@ -61,7 +61,7 @@ namespace LESModels { /*---------------------------------------------------------------------------*\ - Class SpalartAllmarasIDDES Declaration + Class SpalartAllmarasIDDES Declaration \*---------------------------------------------------------------------------*/ template @@ -75,14 +75,10 @@ class SpalartAllmarasIDDES const IDDESDelta& setDelta() const; tmp alpha() const; - tmp ft(const volScalarField& magGradU) const; - tmp fl(const volScalarField& magGradU) const; - tmp rd - ( - const volScalarField& nur, - const volScalarField& magGradU - ) const; + tmp ft(const volScalarField& magGradU) const; + + tmp fl(const volScalarField& magGradU) const; //- Delay function tmp fdt(const volScalarField& magGradU) const; @@ -105,9 +101,10 @@ protected: dimensionedScalar Cl_; dimensionedScalar Ct_; - // Fields - const IDDESDelta& IDDESDelta_; + //- IDDES delta + const IDDESDelta& IDDESDelta_; + // Protected Member Functions diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C index 1909d02ebc..4714eed05c 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C @@ -107,8 +107,6 @@ tmp kOmegaSSTIDDES::rd } -// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // - template tmp kOmegaSSTIDDES::fdt ( @@ -119,6 +117,8 @@ tmp kOmegaSSTIDDES::fdt } +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // + template tmp kOmegaSSTIDDES::dTilda ( diff --git a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C index 3e38df486d..ec6dba6fb4 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C +++ b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C @@ -27,9 +27,6 @@ License \*---------------------------------------------------------------------------*/ #include "SpalartAllmaras.H" -#include "fvOptions.H" -#include "bound.H" -#include "wallDist.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -41,101 +38,14 @@ namespace RASModels // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // template -tmp SpalartAllmaras::chi() const -{ - return nuTilda_/this->nu(); -} - - -template -tmp SpalartAllmaras::fv1 +Foam::tmp SpalartAllmaras::dTilda ( - const volScalarField& chi + const volScalarField& chi, + const volScalarField& fv1, + const volTensorField& gradU ) const { - const volScalarField chi3(pow3(chi)); - - return chi3/(chi3 + pow3(Cv1_)); -} - - -template -tmp SpalartAllmaras::fv2 -( - const volScalarField::Internal& chi, - const volScalarField::Internal& fv1 -) const -{ - return scalar(1) - chi/(scalar(1) + chi*fv1); -} - - -template -tmp SpalartAllmaras::Stilda() -const -{ - const volScalarField chi(this->chi()); - - const volScalarField fv1(this->fv1(chi)); - - const volScalarField::Internal Omega - ( - ::sqrt(scalar(2))*mag(skew(fvc::grad(this->U_)().v())) - ); - - return - ( - max - ( - Omega + fv2(chi(), fv1())*nuTilda_()/sqr(kappa_*y_), - Cs_*Omega - ) - ); -} - - -template -tmp SpalartAllmaras::fw -( - const volScalarField::Internal& Stilda -) const -{ - const volScalarField::Internal r - ( - min - ( - nuTilda_ - /( - max - ( - Stilda, - dimensionedScalar(Stilda.dimensions(), SMALL) - ) - *sqr(kappa_*y_) - ), - scalar(10) - ) - ); - - const volScalarField::Internal g(r + Cw2_*(pow6(r) - r)); - - return - g*pow - ( - (scalar(1) + pow6(Cw3_))/(pow6(g) + pow6(Cw3_)), - scalar(1)/scalar(6) - ); -} - - -template -void SpalartAllmaras::correctNut() -{ - this->nut_ = nuTilda_*this->fv1(this->chi()); - this->nut_.correctBoundaryConditions(); - fv::options::New(this->mesh_).correct(this->nut_); - - BasicTurbulenceModel::correctNut(); + return this->y_; } @@ -154,7 +64,7 @@ SpalartAllmaras::SpalartAllmaras const word& type ) : - eddyViscosity> + SpalartAllmarasBase>> ( type, alpha, @@ -164,97 +74,7 @@ SpalartAllmaras::SpalartAllmaras phi, transport, propertiesName - ), - - sigmaNut_ - ( - dimensioned::getOrAddToDict - ( - "sigmaNut", - this->coeffDict_, - scalar(2)/scalar(3) - ) - ), - kappa_ - ( - dimensioned::getOrAddToDict - ( - "kappa", - this->coeffDict_, - 0.41 - ) - ), - - Cb1_ - ( - dimensioned::getOrAddToDict - ( - "Cb1", - this->coeffDict_, - 0.1355 - ) - ), - Cb2_ - ( - dimensioned::getOrAddToDict - ( - "Cb2", - this->coeffDict_, - 0.622 - ) - ), - Cw1_(Cb1_/sqr(kappa_) + (scalar(1) + Cb2_)/sigmaNut_), - Cw2_ - ( - dimensioned::getOrAddToDict - ( - "Cw2", - this->coeffDict_, - 0.3 - ) - ), - Cw3_ - ( - dimensioned::getOrAddToDict - ( - "Cw3", - this->coeffDict_, - 2.0 - ) - ), - Cv1_ - ( - dimensioned::getOrAddToDict - ( - "Cv1", - this->coeffDict_, - 7.1 - ) - ), - Cs_ - ( - dimensioned::getOrAddToDict - ( - "Cs", - this->coeffDict_, - 0.3 - ) - ), - - nuTilda_ - ( - IOobject - ( - "nuTilda", - this->runTime_.timeName(), - this->mesh_, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - this->mesh_ - ), - - y_(wallDist::New(this->mesh_).y()) + ) { if (type == typeName) { @@ -263,153 +83,6 @@ SpalartAllmaras::SpalartAllmaras } -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -template -bool SpalartAllmaras::read() -{ - if (eddyViscosity>::read()) - { - sigmaNut_.readIfPresent(this->coeffDict()); - kappa_.readIfPresent(this->coeffDict()); - - Cb1_.readIfPresent(this->coeffDict()); - Cb2_.readIfPresent(this->coeffDict()); - Cw1_ = Cb1_/sqr(kappa_) + (scalar(1) + Cb2_)/sigmaNut_; - Cw2_.readIfPresent(this->coeffDict()); - Cw3_.readIfPresent(this->coeffDict()); - Cv1_.readIfPresent(this->coeffDict()); - Cs_.readIfPresent(this->coeffDict()); - - return true; - } - - return false; -} - - -template -tmp SpalartAllmaras::DnuTildaEff() const -{ - return tmp::New - ( - "DnuTildaEff", - (nuTilda_ + this->nu())/sigmaNut_ - ); -} - - -template -tmp SpalartAllmaras::k() const -{ - // (B:Eq. 4.50) - const scalar Cmu = 0.09; - - return tmp::New - ( - IOobject - ( - IOobject::groupName("k", this->alphaRhoPhi_.group()), - this->runTime_.timeName(), - this->mesh_ - ), - cbrt(this->fv1(this->chi())) - *nuTilda_ - *::sqrt(scalar(2)/Cmu) - *mag(symm(fvc::grad(this->U_))), - this->nut_.boundaryField().types() - ); -} - - -template -tmp SpalartAllmaras::epsilon() const -{ - // (B:Eq. 4.50) - const scalar Cmu = 0.09; - const dimensionedScalar nutSMALL(sqr(dimLength)/dimTime, SMALL); - - return tmp::New - ( - IOobject - ( - IOobject::groupName("epsilon", this->alphaRhoPhi_.group()), - this->runTime_.timeName(), - this->mesh_ - ), - pow(this->fv1(this->chi()), 0.5) - *pow(::sqrt(Cmu)*this->k(), 2) - /(nuTilda_ + this->nut_ + nutSMALL), - this->nut_.boundaryField().types() - ); -} - - -template -tmp SpalartAllmaras::omega() const -{ - // (P:p. 384) - const scalar betaStar = 0.09; - const dimensionedScalar k0(sqr(dimLength/dimTime), SMALL); - - return tmp::New - ( - IOobject - ( - IOobject::groupName("omega", this->alphaRhoPhi_.group()), - this->runTime_.timeName(), - this->mesh_ - ), - this->epsilon()/(betaStar*(this->k() + k0)), - this->nut_.boundaryField().types() - ); -} - - -template -void SpalartAllmaras::correct() -{ - if (!this->turbulence_) - { - return; - } - - { - // Construct local convenience references - const alphaField& alpha = this->alpha_; - const rhoField& rho = this->rho_; - const surfaceScalarField& alphaRhoPhi = this->alphaRhoPhi_; - fv::options& fvOptions(fv::options::New(this->mesh_)); - - eddyViscosity>::correct(); - - const volScalarField::Internal Stilda(this->Stilda()); - - tmp nuTildaEqn - ( - fvm::ddt(alpha, rho, nuTilda_) - + fvm::div(alphaRhoPhi, nuTilda_) - - fvm::laplacian(alpha*rho*DnuTildaEff(), nuTilda_) - - Cb2_/sigmaNut_*alpha*rho*magSqr(fvc::grad(nuTilda_)) - == - Cb1_*alpha()*rho()*Stilda*nuTilda_() - - fvm::Sp(Cw1_*alpha()*rho()*fw(Stilda)*nuTilda_()/sqr(y_), nuTilda_) - + fvOptions(alpha, rho, nuTilda_) - ); - - nuTildaEqn.ref().relax(); - fvOptions.constrain(nuTildaEqn.ref()); - solve(nuTildaEqn); - fvOptions.correct(nuTilda_); - bound(nuTilda_, dimensionedScalar(nuTilda_.dimensions(), Zero)); - nuTilda_.correctBoundaryConditions(); - } - - // Update nut with latest available nuTilda - correctNut(); -} - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace RASModels diff --git a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.H b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.H index 5391c7d12c..3841682e7d 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.H +++ b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.H @@ -96,8 +96,6 @@ Note - The model is implemented without the trip-term since the model has almost always been used in fully turbulent applications rather than those where laminar-turbulent transition occurs. - - It has been argued that the \c ft2 term is not needed in the absence of the - trip-term, hence \c ft2 term is also not implementated. - The \c Stilda generation term should never be allowed to be zero or negative to avoid potential numerical issues and unphysical results for complex flows. To this end, a limiter proposed by Spalart (R:Note-1(b)) is applied @@ -112,11 +110,12 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef SpalartAllmaras_H -#define SpalartAllmaras_H +#ifndef Foam_SpalartAllmaras_H +#define Foam_SpalartAllmaras_H #include "RASModel.H" #include "eddyViscosity.H" +#include "SpalartAllmarasBase.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -132,7 +131,7 @@ namespace RASModels template class SpalartAllmaras : - public eddyViscosity> + public SpalartAllmarasBase>> { // Private Member Functions @@ -145,55 +144,16 @@ class SpalartAllmaras protected: - // Protected Data - - // Model coefficients - - dimensionedScalar sigmaNut_; - dimensionedScalar kappa_; - dimensionedScalar Cb1_; - dimensionedScalar Cb2_; - dimensionedScalar Cw1_; - dimensionedScalar Cw2_; - dimensionedScalar Cw3_; - dimensionedScalar Cv1_; - dimensionedScalar Cs_; - - - // Fields - - //- Modified kinematic viscosity [m2/s] - volScalarField nuTilda_; - - //- Wall distance - // Note: different to wall distance in parent RASModel - // which is for near-wall cells only - const volScalarField::Internal& y_; - - // Protected Member Functions - tmp chi() const; - - tmp fv1(const volScalarField& chi) const; - - tmp fv2 + //- Length scale + virtual tmp dTilda ( - const volScalarField::Internal& chi, - const volScalarField::Internal& fv1 + const volScalarField& chi, + const volScalarField& fv1, + const volTensorField& gradU ) const; - tmp Stilda() const; - - tmp fw - ( - const volScalarField::Internal& Stilda - ) const; - - - //- Update nut with the latest available nuTilda - virtual void correctNut(); - public: @@ -224,27 +184,6 @@ public: //- Destructor virtual ~SpalartAllmaras() = default; - - - // Member Functions - - //- Re-read model coefficients if they have changed - virtual bool read(); - - //- Return the effective diffusivity for nuTilda - tmp DnuTildaEff() const; - - //- Return the (estimated) turbulent kinetic energy - virtual tmp k() const; - - //- Return the (estimated) turbulent kinetic energy dissipation rate - virtual tmp epsilon() const; - - //- Return the (estimated) specific dissipation rate - virtual tmp omega() const; - - //- Solve the turbulence equations and correct the turbulent viscosity - virtual void correct(); }; From d2f2ab6d2593c9f69bfb739419ccbfa433dc2286 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Wed, 11 May 2022 09:10:13 +0100 Subject: [PATCH 02/24] ENH: kOmegaSST - code refactoring and clean-up --- .../Base/kOmegaSST/kOmegaSSTBase.C | 73 ++++++++++--------- .../Base/kOmegaSST/kOmegaSSTBase.H | 21 ++++-- .../DES/kOmegaSSTDDES/kOmegaSSTDDES.C | 30 +------- .../DES/kOmegaSSTDDES/kOmegaSSTDDES.H | 2 - .../DES/kOmegaSSTDES/kOmegaSSTDES.C | 45 +++++++----- .../DES/kOmegaSSTDES/kOmegaSSTDES.H | 6 ++ .../DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C | 35 +-------- .../DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H | 11 +-- 8 files changed, 89 insertions(+), 134 deletions(-) diff --git a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C index 226ac013c7..1c3febac0e 100644 --- a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C +++ b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C @@ -132,6 +132,17 @@ void kOmegaSSTBase::correctNut() } +template +Foam::tmp kOmegaSSTBase::S2 +( + const volScalarField& F1, + const volTensorField& gradU +) const +{ + return 2*magSqr(symm(gradU)); +} + + template tmp kOmegaSSTBase::Pk ( @@ -143,11 +154,10 @@ tmp kOmegaSSTBase::Pk template -tmp -kOmegaSSTBase::epsilonByk +tmp kOmegaSSTBase::epsilonByk ( - const volScalarField& F1, - const volTensorField& gradU + const volScalarField& /* F1 not used */, + const volTensorField& /* gradU not used */ ) const { return betaStar_*omega_(); @@ -165,8 +175,7 @@ tmp kOmegaSSTBase::GbyNu return min ( GbyNu0, - (c1_/a1_)*betaStar_*omega_() - *max(a1_*omega_(), b1_*F2*sqrt(S2)) + (c1_/a1_)*betaStar_*omega_()*max(a1_*omega_(), b1_*F2*sqrt(S2)) ); } @@ -174,13 +183,10 @@ tmp kOmegaSSTBase::GbyNu template tmp kOmegaSSTBase::kSource() const { - return tmp + return tmp::New ( - new fvScalarMatrix - ( - k_, - dimVolume*this->rho_.dimensions()*k_.dimensions()/dimTime - ) + k_, + dimVolume*this->rho_.dimensions()*k_.dimensions()/dimTime ); } @@ -188,13 +194,10 @@ tmp kOmegaSSTBase::kSource() const template tmp kOmegaSSTBase::omegaSource() const { - return tmp + return tmp::New ( - new fvScalarMatrix - ( - omega_, - dimVolume*this->rho_.dimensions()*omega_.dimensions()/dimTime - ) + omega_, + dimVolume*this->rho_.dimensions()*omega_.dimensions()/dimTime ); } @@ -207,13 +210,10 @@ tmp kOmegaSSTBase::Qsas const volScalarField::Internal& beta ) const { - return tmp + return tmp::New ( - new fvScalarMatrix - ( - omega_, - dimVolume*this->rho_.dimensions()*omega_.dimensions()/dimTime - ) + omega_, + dimVolume*this->rho_.dimensions()*omega_.dimensions()/dimTime ); } @@ -500,18 +500,6 @@ void kOmegaSSTBase::correct() volScalarField::Internal divU(fvc::div(fvc::absolute(this->phi(), U))); - tmp tgradU = fvc::grad(U); - volScalarField S2(2*magSqr(symm(tgradU()))); - volScalarField::Internal GbyNu0 - ( - this->type() + ":GbyNu", - (tgradU() && dev(twoSymm(tgradU()))) - ); - volScalarField::Internal G(this->GName(), nut*GbyNu0); - - // Update omega and G at the wall - omega_.boundaryFieldRef().updateCoeffs(); - volScalarField CDkOmega ( (2*alphaOmega2_)*(fvc::grad(k_) & fvc::grad(omega_))/omega_ @@ -520,6 +508,19 @@ void kOmegaSSTBase::correct() volScalarField F1(this->F1(CDkOmega)); volScalarField F23(this->F23()); + tmp tgradU = fvc::grad(U); + volScalarField S2(this->S2(F1, tgradU())); + volScalarField::Internal GbyNu0 + ( + this->type() + ":GbyNu", + (tgradU() && dev(twoSymm(tgradU()))) + ); + volScalarField::Internal G(this->GName(), nut*GbyNu0); + tgradU.clear(); + + // Update omega and G at the wall + omega_.boundaryFieldRef().updateCoeffs(); + { volScalarField::Internal gamma(this->gamma(F1)); volScalarField::Internal beta(this->beta(F1)); diff --git a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H index ef2528fdcb..cfdf33af82 100644 --- a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H +++ b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H @@ -253,6 +253,13 @@ protected: virtual void correctNut(); + //- Return square of strain rate + virtual tmp S2 + ( + const volScalarField& F1, + const volTensorField& gradU + ) const; + //- Return k production rate virtual tmp Pk ( @@ -321,22 +328,20 @@ public: //- Return the effective diffusivity for k tmp DkEff(const volScalarField& F1) const { - return tmp + return tmp::New ( - new volScalarField("DkEff", alphaK(F1)*this->nut_ + this->nu()) + "DkEff", + alphaK(F1)*this->nut_ + this->nu() ); } //- Return the effective diffusivity for omega tmp DomegaEff(const volScalarField& F1) const { - return tmp + return tmp::New ( - new volScalarField - ( - "DomegaEff", - alphaOmega(F1)*this->nut_ + this->nu() - ) + "DomegaEff", + alphaOmega(F1)*this->nut_ + this->nu() ); } diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C index 136421423e..7ab2b4d474 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C @@ -37,41 +37,13 @@ namespace LESModels // * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * // -template -tmp kOmegaSSTDDES::rd -( - const volScalarField& magGradU -) const -{ - tmp tr - ( - min - ( - this->nuEff() - /( - max - ( - magGradU, - dimensionedScalar("SMALL", magGradU.dimensions(), SMALL) - ) - *sqr(this->kappa_*this->y_) - ), - scalar(10) - ) - ); - tr.ref().boundaryFieldRef() == 0.0; - - return tr; -} - - template tmp kOmegaSSTDDES::fd ( const volScalarField& magGradU ) const { - return 1 - tanh(pow(Cd1_*rd(magGradU), Cd2_)); + return 1 - tanh(pow(Cd1_*this->r(this->nuEff(), magGradU), Cd2_)); } diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H index cd85bb5259..c84a0f49df 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H @@ -71,8 +71,6 @@ class kOmegaSSTDDES tmp fd(const volScalarField& magGradU) const; - tmp rd(const volScalarField& magGradU) const; - //- No copy construct kOmegaSSTDDES(const kOmegaSSTDDES&) = delete; diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C index 08f7b76bf9..0d4939975a 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C @@ -55,6 +55,25 @@ void kOmegaSSTDES::correctNut() } +template +tmp kOmegaSSTDES::r +( + const volScalarField& nur, + const volScalarField& magGradU +) const +{ + const dimensionedScalar eps("SMALL", magGradU.dimensions(), SMALL); + + tmp tr = + min(nur/(max(magGradU, eps)*sqr(this->kappa_*this->y_)), scalar(10)); + + tr.ref().boundaryFieldRef() == 0; + + return tr; + +} + + template tmp kOmegaSSTDES::dTilda ( @@ -187,31 +206,19 @@ tmp kOmegaSSTDES::LESRegion() const const volScalarField F1(this->F1(CDkOmega)); - tmp tLESRegion + return tmp::New ( - new volScalarField + IOobject::scopedName("DES", "LESRegion"), + neg ( - IOobject + dTilda ( - "DES::LESRegion", - this->mesh_.time().timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - neg - ( - dTilda - ( - mag(fvc::grad(U)), - F1*CDESkom_ + (1 - F1)*CDESkeps_ - ) - - sqrt(k)/(this->betaStar_*omega) + mag(fvc::grad(U)), + F1*CDESkom_ + (1 - F1)*CDESkeps_ ) + - sqrt(k)/(this->betaStar_*omega) ) ); - - return tLESRegion; } diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H index 40e4428afa..08eecbf236 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H @@ -104,6 +104,12 @@ protected: virtual void correctNut(const volScalarField& S2); virtual void correctNut(); + tmp r + ( + const volScalarField& nur, + const volScalarField& magGradU + ) const; + //- Length scale virtual tmp dTilda ( diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C index 4714eed05c..268935f45e 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C @@ -64,7 +64,7 @@ tmp kOmegaSSTIDDES::ft const volScalarField& magGradU ) const { - return tanh(pow3(sqr(Ct_)*rd(this->nut_, magGradU))); + return tanh(pow3(sqr(Ct_)*this->r(this->nut_, magGradU))); } @@ -74,36 +74,7 @@ tmp kOmegaSSTIDDES::fl const volScalarField& magGradU ) const { - return tanh(pow(sqr(Cl_)*rd(this->nu(), magGradU), 10)); -} - - -template -tmp kOmegaSSTIDDES::rd -( - const volScalarField& nur, - const volScalarField& magGradU -) const -{ - tmp tr - ( - min - ( - nur - /( - max - ( - magGradU, - dimensionedScalar("SMALL", magGradU.dimensions(), SMALL) - ) - *sqr(this->kappa_*this->y_) - ), - scalar(10) - ) - ); - tr.ref().boundaryFieldRef() == 0.0; - - return tr; + return tanh(pow(sqr(Cl_)*this->r(this->nu(), magGradU), 10)); } @@ -113,7 +84,7 @@ tmp kOmegaSSTIDDES::fdt const volScalarField& magGradU ) const { - return 1 - tanh(pow(Cdt1_*rd(this->nut_, magGradU), Cdt2_)); + return 1 - tanh(pow(Cdt1_*this->r(this->nut_, magGradU), Cdt2_)); } diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H index 32ccb217b9..2da9cd3485 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H @@ -77,12 +77,6 @@ class kOmegaSSTIDDES tmp ft(const volScalarField& magGradU) const; tmp fl(const volScalarField& magGradU) const; - tmp rd - ( - const volScalarField& nur, - const volScalarField& magGradU - ) const; - //- Delay function tmp fdt(const volScalarField& magGradU) const; @@ -104,9 +98,10 @@ protected: dimensionedScalar Cl_; dimensionedScalar Ct_; - // Fields - const IDDESDelta& IDDESDelta_; + //- IDDES delta + const IDDESDelta& IDDESDelta_; + // Protected Member Functions From 10b724b10d42071ae71f0c75172ee2356d063ab0 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Wed, 10 Aug 2022 14:14:45 +0100 Subject: [PATCH 03/24] INT: integration of Upstream CFD's grey-area sigma into base DESModel - Initial code supplied by Marian Fuchs, Upstream CFD GmbH - Code cleaned/refactored/integrated by OpenCFD --- .../turbulenceModels/DES/DESModel/DESModel.C | 108 +++++++++++++++++- .../turbulenceModels/DES/DESModel/DESModel.H | 24 +++- 2 files changed, 126 insertions(+), 6 deletions(-) diff --git a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C index 94ed812c67..b74b937ab0 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C +++ b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C @@ -6,6 +6,8 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2015 OpenFOAM Foundation + Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022 Upstream CFD GmbH ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -59,15 +61,111 @@ DESModel::DESModel phi, transport, propertiesName - ) -{} + ), + Ctrans_(dimless, Zero) +{ + // Note: Ctrans is model-specific and initialised in derived classes +} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template -DESModel::~DESModel() -{} +bool DESModel::read() +{ + if (LESeddyViscosity::read()) + { + Ctrans_.readIfPresent(this->coeffDict()); + + return true; + } + + return false; +} + + +template +tmp DESModel::Ssigma +( + const volTensorField& gradU, + const dimensionedScalar& coeff +) +{ + const volTensorField G(gradU.T() & gradU); + + // Tensor invariants + const volScalarField I1(tr(G)); + const volScalarField I2(0.5*(sqr(tr(G)) - tr(G & G))); + const volScalarField I3(det(G)); + + const volScalarField alpha1 + ( + max + ( + sqr(I1)/9.0 - I2/3.0, + dimensionedScalar("SMALL", dimless/pow4(dimTime), SMALL) + ) + ); + + const volScalarField alpha2 + ( + pow3 + ( + min + ( + I1, + dimensionedScalar("GREAT", dimless/sqr(dimTime), GREAT) + ) + )/27.0 + - I1*I2/6.0 + I3/2.0 + ); + + const dimensionedScalar eps0("SMALL", dimless, SMALL); + const volScalarField alpha3 + ( + 1.0/3.0 + *acos + ( + max + ( + scalar(-1) + eps0, + min(scalar(1) - eps0, alpha2/pow(alpha1, 3.0/2.0)) + ) + ) + ); + + const dimensionedScalar sig0("SMALL", dimless/sqr(dimTime), SMALL); + const scalar piBy3 = constant::mathematical::pi/3.0; + const volScalarField sigma1 + ( + sqrt(max(I1/3.0 + 2.0*sqrt(alpha1)*cos(alpha3), sig0)) + ); + const volScalarField sigma2 + ( + sqrt(max(I1/3.0 - 2.0*sqrt(alpha1)*cos(piBy3 + alpha3), sig0)) + ); + const volScalarField sigma3 + ( + sqrt(max(I1/3.0 - 2.0*sqrt(alpha1)*cos(piBy3 - alpha3), sig0)) + ); + + return + coeff + *sigma3 + *(sigma1 - sigma2) + *(sigma2 - sigma3) + /max(sqr(sigma1), sig0); +} + + +template +tmp DESModel::Ssigma +( + const volTensorField& gradU +) const +{ + return Ssigma(gradU, Ctrans_); +} // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.H b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.H index fd1a452518..9570a12bb9 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.H +++ b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.H @@ -6,7 +6,8 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2015 OpenFOAM Foundation - Copyright (C) 2016 OpenCFD Ltd. + Copyright (C) 2016, 2022 OpenCFD Ltd. + Copyright (C) 2022 Upstream CFD GmbH ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -69,6 +70,13 @@ private: void operator=(const DESModel&) = delete; +protected: + + // Protected Data + + dimensionedScalar Ctrans_; + + public: typedef typename BasicTurbulenceModel::alphaField alphaField; @@ -97,8 +105,22 @@ public: // Public Member Functions + //- Re-read model coefficients if they have changed + virtual bool read(); + //- Return the LES field indicator virtual tmp LESRegion() const = 0; + + //- Return modified strain rate + static tmp Ssigma + ( + const volTensorField& gradU, + const dimensionedScalar& coeff + ); + + //- Return modified strain rate + // Note: uses Ctrans_ coefficient + tmp Ssigma(const volTensorField& gradU) const; }; From 541b6eb28af5e87f00b5a1969aba5f4fc95a778b Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Wed, 10 Aug 2022 14:14:17 +0100 Subject: [PATCH 04/24] INT: integration of Upstream CFD's grey-area sigma into S-A models - Initial code supplied by Marian Fuchs, Upstream CFD GmbH - Code cleaned/refactored/integrated by OpenCFD --- .../SpalartAllmarasDDES/SpalartAllmarasDDES.C | 67 +++++++++++++++++-- .../SpalartAllmarasDDES/SpalartAllmarasDDES.H | 12 ++++ .../SpalartAllmarasDES/SpalartAllmarasDES.C | 5 ++ 3 files changed, 78 insertions(+), 6 deletions(-) diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C index f0af3c94c0..ce6c40c0fe 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C @@ -7,6 +7,7 @@ ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2022 Upstream CFD GmbH ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -51,6 +52,43 @@ tmp SpalartAllmarasDDES::fd // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // +template +tmp SpalartAllmarasDDES::Stilda +( + const volScalarField& chi, + const volScalarField& fv1, + const volTensorField& gradU, + const volScalarField& dTilda +) const +{ + tmp St = + SpalartAllmarasBase>::Stilda + ( + chi, + fv1, + gradU, + dTilda + ); + + if (useSigma_) + { + const volScalarField& lRAS(this->y_); + const volScalarField lLES(this->lengthScaleLES(chi, fv1)); + const volScalarField Omega(this->Omega(gradU)); + const volScalarField Ssigma(this->Ssigma(gradU)); + + return + max + ( + St - fd(mag(gradU))*pos(lRAS - lLES)*(Omega - Ssigma), + this->Cs_*Omega + ); + } + + return St; +} + + template tmp SpalartAllmarasDDES::dTilda ( @@ -103,14 +141,30 @@ SpalartAllmarasDDES::SpalartAllmarasDDES type ), + useSigma_ + ( + Switch::getOrAddToDict + ( + "useSigma", + this->coeffDict_, + false + ) + ), Cd1_ ( - dimensioned::getOrAddToDict - ( - "Cd1", - this->coeffDict_, - 8 - ) + useSigma_ ? + dimensioned::getOrAddToDict + ( + "Cd1Sigma", + this->coeffDict_, + 10 + ) + : dimensioned::getOrAddToDict + ( + "Cd1", + this->coeffDict_, + 8 + ) ), Cd2_ ( @@ -136,6 +190,7 @@ bool SpalartAllmarasDDES::read() { if (SpalartAllmarasDES::read()) { + useSigma_.readIfPresent("useSigma", this->coeffDict()); Cd1_.readIfPresent(this->coeffDict()); Cd2_.readIfPresent(this->coeffDict()); diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H index 29f279d353..5f6c652add 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H @@ -7,6 +7,7 @@ ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation Copyright (C) 2019-2022 OpenCFD Ltd. + Copyright (C) 2022 Upstream CFD GmbH ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -85,6 +86,9 @@ protected: // Protected data + //- Switch to activate grey-area enhanced sigma-DDES + Switch useSigma_; + // Model coefficients dimensionedScalar Cd1_; @@ -93,6 +97,14 @@ protected: // Protected Member Functions + virtual tmp Stilda + ( + const volScalarField& chi, + const volScalarField& fv1, + const volTensorField& gradU, + const volScalarField& dTilda + ) const; + //- Length scale virtual tmp dTilda ( diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C index 1b17db41f6..f93b38c79b 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C @@ -7,6 +7,7 @@ ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2022 Upstream CFD GmbH ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -166,6 +167,10 @@ SpalartAllmarasDES::SpalartAllmarasDES ) ) { + // Note: Ctrans coeff is model specific; for S-A = 67.7 + this->Ctrans_ = + dimensioned::getOrAddToDict("Ctrans", this->coeffDict_, 67.7); + if (type == typeName) { this->printCoeffs(type); From 2cc96ad7f4a27f86ee6974e7b31e34609d1aa104 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Wed, 10 Aug 2022 14:16:05 +0100 Subject: [PATCH 05/24] INT: Integration of Upstream CFD's grey-area sigma into kOmegaSST models - Initial code supplied by Marian Fuchs, Upstream CFD GmbH - Code cleaned/refactored/integrated by OpenCFD --- .../Base/kOmegaSST/kOmegaSSTBase.C | 26 +++-- .../Base/kOmegaSST/kOmegaSSTBase.H | 11 ++- .../DES/kOmegaSSTDDES/kOmegaSSTDDES.C | 99 +++++++++++++++++-- .../DES/kOmegaSSTDDES/kOmegaSSTDDES.H | 32 +++++- .../DES/kOmegaSSTDES/kOmegaSSTDES.C | 7 +- 5 files changed, 156 insertions(+), 19 deletions(-) diff --git a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C index 1c3febac0e..9bee486c38 100644 --- a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C +++ b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C @@ -6,7 +6,8 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2022 Upstream CFD GmbH ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -164,6 +165,22 @@ tmp kOmegaSSTBase::epsilonByk } +template +tmp kOmegaSSTBase::GbyNu0 +( + const volTensorField& gradU, + const volScalarField& F1, + const volScalarField& S2 +) const +{ + return tmp::New + ( + IOobject::scopedName(this->type(), "GbyNu"), + gradU() && dev(twoSymm(gradU())) + ); +} + + template tmp kOmegaSSTBase::GbyNu ( @@ -510,13 +527,8 @@ void kOmegaSSTBase::correct() tmp tgradU = fvc::grad(U); volScalarField S2(this->S2(F1, tgradU())); - volScalarField::Internal GbyNu0 - ( - this->type() + ":GbyNu", - (tgradU() && dev(twoSymm(tgradU()))) - ); + volScalarField::Internal GbyNu0(this->GbyNu0(tgradU(), F1, S2)); volScalarField::Internal G(this->GName(), nut*GbyNu0); - tgradU.clear(); // Update omega and G at the wall omega_.boundaryFieldRef().updateCoeffs(); diff --git a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H index cfdf33af82..4833b51257 100644 --- a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H +++ b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H @@ -6,7 +6,8 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2021 OpenCFD Ltd. + Copyright (C) 2017-2022 OpenCFD Ltd. + Copyright (C) 2022 Upstream CFD GmbH ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -273,6 +274,14 @@ protected: const volTensorField& gradU ) const; + //- Return (G/nu)_0 + virtual tmp GbyNu0 + ( + const volTensorField& gradU, + const volScalarField& F1, + const volScalarField& S2 + ) const; + //- Return G/nu virtual tmp GbyNu ( diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C index 7ab2b4d474..85360269ea 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C @@ -6,7 +6,8 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2022 Upstream CFD GmbH ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -49,6 +50,35 @@ tmp kOmegaSSTDDES::fd // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // +template +tmp kOmegaSSTDDES::S2 +( + const volScalarField& F1, + const volTensorField& gradU +) const +{ + tmp tS2 = + this->kOmegaSSTDES::S2(F1, gradU); + + if (useSigma_) + { + volScalarField& S2 = tS2.ref(); + const volScalarField CDES(this->CDES(F1)); + const volScalarField& k = this->k_; + const volScalarField& omega = this->omega_; + const volScalarField Ssigma(this->Ssigma(gradU)); + S2 -= + ( + fd(mag(gradU)) + *pos(sqrt(k)/(this->betaStar_*omega) - CDES*this->delta()) + *(S2 - sqr(Ssigma)) + ); + } + + return tS2; +} + + template tmp kOmegaSSTDDES::dTilda ( @@ -75,6 +105,45 @@ tmp kOmegaSSTDDES::dTilda ); } +template +tmp kOmegaSSTDDES::GbyNu0 +( + const volTensorField& gradU, + const volScalarField& F1, + const volScalarField& S2 +) const +{ + tmp tGbyNu0 = + this->kOmegaSSTDES::GbyNu0(gradU, F1, S2); + + if (useSigma_) + { + volScalarField::Internal& GbyNu0 = tGbyNu0.ref(); + const volScalarField::Internal CDES(this->CDES(F1)()()); + const volScalarField::Internal& k = this->k_(); + const volScalarField::Internal& omega = this->omega_(); + + GbyNu0 -= + fd(mag(gradU))()() + *pos(sqrt(k)/(this->betaStar_*omega) - CDES*this->delta()()) + *(GbyNu0 - S2); + } + + return tGbyNu0; +} + + +template +tmp kOmegaSSTDDES::GbyNu +( + const volScalarField::Internal& GbyNu0, + const volScalarField::Internal& F2, + const volScalarField::Internal& S2 +) const +{ + return GbyNu0; // Unlimited +} + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -103,14 +172,30 @@ kOmegaSSTDDES::kOmegaSSTDDES type ), + useSigma_ + ( + Switch::getOrAddToDict + ( + "useSigma", + this->coeffDict_, + false + ) + ), Cd1_ ( - dimensioned::getOrAddToDict - ( - "Cd1", - this->coeffDict_, - 20 - ) + useSigma_ ? + dimensioned::getOrAddToDict + ( + "Cd1Sigma", + this->coeffDict_, + 22 + ) + : dimensioned::getOrAddToDict + ( + "Cd1", + this->coeffDict_, + 20 + ) ), Cd2_ ( diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H index c84a0f49df..6a6369121f 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H @@ -6,7 +6,8 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019, 2022 OpenCFD Ltd. + Copyright (C) 2022 Upstream CFD GmbH ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -46,8 +47,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef kOmegaSSTDDES_H -#define kOmegaSSTDDES_H +#ifndef Foam_kOmegaSSTDDES_H +#define Foam_kOmegaSSTDDES_H #include "kOmegaSSTDES.H" @@ -82,6 +83,9 @@ protected: // Protected data + //- Switch to activate grey-area enhanced sigma-DDES + Switch useSigma_; + // Model coefficients dimensionedScalar Cd1_; @@ -90,6 +94,13 @@ protected: // Protected Member Functions + //- Return square of strain rate + virtual tmp S2 + ( + const volScalarField& F1, + const volTensorField& gradU + ) const; + //- Length scale virtual tmp dTilda ( @@ -97,6 +108,21 @@ protected: const volScalarField& CDES ) const; + //- Return (G/nu)_0 + virtual tmp GbyNu0 + ( + const volTensorField& gradU, + const volScalarField& F1, + const volScalarField& S2 + ) const; + + //- Return G/nu + virtual tmp GbyNu + ( + const volScalarField::Internal& GbyNu0, + const volScalarField::Internal& F2, + const volScalarField::Internal& S2 + ) const; public: diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C index 0d4939975a..e6fa1d9f83 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C @@ -6,7 +6,8 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2022 Upstream CFD GmbH ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -167,6 +168,10 @@ kOmegaSSTDES::kOmegaSSTDES ) ) { + // Note: Ctrans coeff is model specific; for k-w = 60 + this->Ctrans_ = + dimensioned::getOrAddToDict("Ctrans", this->coeffDict_, 60.0); + if (type == typeName) { this->printCoeffs(type); From 4fc34c8a633c970c8c05083b542b58745b9d594d Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Fri, 13 May 2022 20:54:07 +0100 Subject: [PATCH 06/24] INT: Integration of Upstream CFD's DESHybrid updates - Initial code supplied by Marian Fuchs, Upstream CFD GmbH - Code cleaned/refactored/integrated by OpenCFD --- .../schemes/DEShybrid/DEShybrid.H | 340 +++++++----------- 1 file changed, 137 insertions(+), 203 deletions(-) diff --git a/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H b/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H index 9a19dee379..6d06ef945f 100644 --- a/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H +++ b/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H @@ -7,6 +7,7 @@ ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2022 Upstream CFD GmbH ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,7 +29,8 @@ Class Foam::DEShybrid Description - Hybrid convection scheme of Travin et al. for hybrid RAS/LES calculations. + Improved hybrid convection scheme of Travin et al. for hybrid RAS/LES + calculations with enhanced GAM behaviour. The scheme provides a blend between two convection schemes, based on local properties including the wall distance, velocity gradient and eddy @@ -80,13 +82,13 @@ Description div(phi,U) Gauss DEShybrid linear // scheme 1 linearUpwind grad(U) // scheme 2 - hmax // LES delta name, e.g. 'delta', 'hmax' - 0.65 // DES coefficient, typically = 0.65 + delta // LES delta name, e.g. 'delta', 'hmax' 30 // Reference velocity scale 2 // Reference length scale 0 // Minimum sigma limit (0-1) 1 // Maximum sigma limit (0-1) - 1.0e-03; // Limiter of B function, typically 1e-03 + 1.0e-03 // Limiter of B function, typically 1e-03 + 1.0; // nut limiter (if > 1, GAM extension is active) . . } @@ -110,8 +112,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef DEShybrid_H -#define DEShybrid_H +#ifndef Foam_DEShybrid_H +#define Foam_DEShybrid_H #include "surfaceInterpolationScheme.H" #include "surfaceInterpolate.H" @@ -135,6 +137,9 @@ class DEShybrid public surfaceInterpolationScheme, public blendedSchemeBase { + typedef GeometricField VolFieldType; + typedef GeometricField SurfaceFieldType; + // Private Data //- Scheme 1 @@ -146,9 +151,6 @@ class DEShybrid //- Name of the LES delta field word deltaName_; - //- DES Coefficient - scalar CDES_; - //- Reference velocity scale [m/s] dimensionedScalar U0_; @@ -164,10 +166,15 @@ class DEShybrid //- Limiter of B function scalar OmegaLim_; + //- Limiter for modified GAM behaviour + scalar nutLim_; + //- Scheme constants scalar CH1_; scalar CH2_; scalar CH3_; + scalar CDES_; + scalar Cs_; //- No copy construct DEShybrid(const DEShybrid&) = delete; @@ -178,143 +185,7 @@ class DEShybrid // Private Member Functions - //- Calculate the blending factor - tmp calcBlendingFactor - ( - const GeometricField& vf, - const volScalarField& nuEff, - const volVectorField& U, - const volScalarField& delta - ) const - { - tmp gradU(fvc::grad(U)); - const volScalarField S(sqrt(2.0)*mag(symm(gradU()))); - const volScalarField Omega(sqrt(2.0)*mag(skew(gradU()))); - const dimensionedScalar tau0_ = L0_/U0_; - - const volScalarField B - ( - CH3_*Omega*max(S, Omega) - /max(0.5*(sqr(S) + sqr(Omega)), sqr(OmegaLim_/tau0_)) - ); - - const volScalarField K - ( - max(Foam::sqrt(0.5*(sqr(S) + sqr(Omega))), 0.1/tau0_) - ); - - const volScalarField lTurb - ( - Foam::sqrt - ( - max - ( - nuEff/(pow(0.09, 1.5)*K), - dimensionedScalar("l0", sqr(dimLength), 0) - ) - ) - ); - - const volScalarField g(tanh(pow4(B))); - - const volScalarField A - ( - CH2_*max - ( - scalar(0), - CDES_*delta/max(lTurb*g, SMALL*L0_) - 0.5 - ) - ); - - - const word factorName(IOobject::scopedName(typeName, "Factor")); - const fvMesh& mesh = this->mesh(); - - const IOobject factorIO - ( - factorName, - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ); - - if (blendedSchemeBaseName::debug) - { - auto* factorPtr = mesh.getObjectPtr(factorName); - - if (!factorPtr) - { - factorPtr = - new volScalarField - ( - factorIO, - mesh, - dimensionedScalar(dimless, Zero) - ); - - const_cast(mesh).objectRegistry::store(factorPtr); - } - - auto& factor = *factorPtr; - - factor = max(sigmaMax_*tanh(pow(A, CH1_)), sigmaMin_); - - return tmp::New - ( - vf.name() + "BlendingFactor", - fvc::interpolate(factor) - ); - } - else - { - const volScalarField factor - ( - factorIO, - max(sigmaMax_*tanh(pow(A, CH1_)), sigmaMin_) - ); - - return tmp::New - ( - vf.name() + "BlendingFactor", - fvc::interpolate(factor) - ); - } - } - - -public: - - //- Runtime type information - TypeName("DEShybrid"); - - - // Constructors - - //- Construct from mesh and Istream. - // The name of the flux field is read from the Istream and looked-up - // from the mesh objectRegistry - DEShybrid(const fvMesh& mesh, Istream& is) - : - surfaceInterpolationScheme(mesh), - tScheme1_ - ( - surfaceInterpolationScheme::New(mesh, is) - ), - tScheme2_ - ( - surfaceInterpolationScheme::New(mesh, is) - ), - deltaName_(is), - CDES_(readScalar(is)), - U0_("U0", dimLength/dimTime, readScalar(is)), - L0_("L0", dimLength, readScalar(is)), - sigmaMin_(readScalar(is)), - sigmaMax_(readScalar(is)), - OmegaLim_(readScalar(is)), - CH1_(3.0), - CH2_(1.0), - CH3_(2.0) + void checkValues() { if (U0_.value() <= 0) { @@ -354,6 +225,109 @@ public: } } + + //- Calculate the blending factor + tmp calcBlendingFactor + ( + const VolFieldType& vf, + const volScalarField& nut, + const volScalarField& nu, + const volVectorField& U, + const volScalarField& delta + ) const + { + tmp gradU(fvc::grad(U)); + const volScalarField S(sqrt(2.0)*mag(symm(gradU()))); + const volScalarField Omega(sqrt(2.0)*mag(skew(gradU()))); + const dimensionedScalar tau0_ = L0_/U0_; + gradU.clear(); + + const volScalarField B + ( + CH3_*Omega*max(S, Omega) + /max(0.5*(sqr(S) + sqr(Omega)), sqr(OmegaLim_/tau0_)) + ); + + const volScalarField K + ( + max(Foam::sqrt(0.5*(sqr(S) + sqr(Omega))), 0.1/tau0_) + ); + + const volScalarField lTurb + ( + Foam::sqrt + ( + max + ( + (max(nut, min(sqr(Cs_*delta)*S, nutLim_*nut)) + nu) + /(pow(0.09, 1.5)*K), + dimensionedScalar(sqr(dimLength), Zero) + ) + ) + ); + + const volScalarField g(tanh(pow4(B))); + + const volScalarField A + ( + CH2_*max + ( + scalar(0), + CDES_*delta/max(lTurb*g, SMALL*L0_) - 0.5 + ) + ); + + const volScalarField factor + ( + IOobject::scopedName(typeName, "Factor"), + max(sigmaMax_*tanh(pow(A, CH1_)), sigmaMin_) + ); + + if (blendedSchemeBaseName::debug) + { + factor.write(); + } + + return tmp::New + ( + vf.name() + "BlendingFactor", + fvc::interpolate(factor) + ); + } + + +public: + + //- Runtime type information + TypeName("DEShybrid"); + + + // Constructors + + //- Construct from mesh and Istream. + // The name of the flux field is read from the Istream and looked-up + // from the mesh objectRegistry + DEShybrid(const fvMesh& mesh, Istream& is) + : + surfaceInterpolationScheme(mesh), + tScheme1_(surfaceInterpolationScheme::New(mesh, is)), + tScheme2_(surfaceInterpolationScheme::New(mesh, is)), + deltaName_(is), + U0_("U0", dimLength/dimTime, readScalar(is)), + L0_("L0", dimLength, readScalar(is)), + sigmaMin_(readScalar(is)), + sigmaMax_(readScalar(is)), + OmegaLim_(readScalar(is)), + nutLim_(readScalar(is)), + CH1_(3.0), + CH2_(1.0), + CH3_(2.0), + CDES_(0.65), + Cs_(0.18) + { + checkValues(); + } + //- Construct from mesh, faceFlux and Istream DEShybrid ( @@ -372,52 +346,19 @@ public: surfaceInterpolationScheme::New(mesh, faceFlux, is) ), deltaName_(is), - CDES_(readScalar(is)), U0_("U0", dimLength/dimTime, readScalar(is)), L0_("L0", dimLength, readScalar(is)), sigmaMin_(readScalar(is)), sigmaMax_(readScalar(is)), OmegaLim_(readScalar(is)), + nutLim_(readScalar(is)), CH1_(3.0), CH2_(1.0), - CH3_(2.0) + CH3_(2.0), + CDES_(0.65), + Cs_(0.18) { - if (U0_.value() <= 0) - { - FatalErrorInFunction - << "U0 coefficient must be > 0. " - << "Current value: " << U0_ << exit(FatalError); - } - if (L0_.value() <= 0) - { - FatalErrorInFunction - << "L0 coefficient must be > 0. " - << "Current value: " << U0_ << exit(FatalError); - } - if (sigmaMin_ < 0) - { - FatalErrorInFunction - << "sigmaMin coefficient must be >= 0. " - << "Current value: " << sigmaMin_ << exit(FatalError); - } - if (sigmaMax_ < 0) - { - FatalErrorInFunction - << "sigmaMax coefficient must be >= 0. " - << "Current value: " << sigmaMax_ << exit(FatalError); - } - if (sigmaMin_ > 1) - { - FatalErrorInFunction - << "sigmaMin coefficient must be <= 1. " - << "Current value: " << sigmaMin_ << exit(FatalError); - } - if (sigmaMax_ > 1) - { - FatalErrorInFunction - << "sigmaMax coefficient must be <= 1. " - << "Current value: " << sigmaMax_ << exit(FatalError); - } + checkValues(); } @@ -448,7 +389,10 @@ public: const icoModel& model = mesh.lookupObject(icoModel::propertiesName); - return calcBlendingFactor(vf, model.nuEff(), model.U(), delta); + return calcBlendingFactor + ( + vf, model.nut(), model.nu(), model.U(), delta + ); } else if (mesh.foundObject(cmpModel::propertiesName)) { @@ -457,7 +401,7 @@ public: return calcBlendingFactor ( - vf, model.muEff()/model.rho(), model.U(), delta + vf, model.nut(), model.mu()/model.rho(), model.U(), delta ); } @@ -471,12 +415,9 @@ public: //- Return the interpolation weighting factors - tmp weights - ( - const GeometricField& vf - ) const + tmp weights(const VolFieldType& vf) const { - surfaceScalarField bf(blendingFactor(vf)); + const surfaceScalarField bf(blendingFactor(vf)); return (scalar(1) - bf)*tScheme1_().weights(vf) @@ -486,11 +427,7 @@ public: //- Return the face-interpolate of the given cell field // with explicit correction - tmp> - interpolate - ( - const GeometricField& vf - ) const + tmp interpolate(const VolFieldType& vf) const { surfaceScalarField bf(blendingFactor(vf)); @@ -508,14 +445,10 @@ public: //- Return the explicit correction to the face-interpolate - // for the given field - virtual tmp> - correction - ( - const GeometricField& vf - ) const + //- for the given field + virtual tmp correction(const VolFieldType& vf) const { - surfaceScalarField bf(blendingFactor(vf)); + const surfaceScalarField bf(blendingFactor(vf)); if (tScheme1_().corrected()) { @@ -557,3 +490,4 @@ public: #endif // ************************************************************************* // + From 619ddc2355827d4453ca439b469ac14c10dacb14 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Fri, 13 May 2022 20:56:47 +0100 Subject: [PATCH 07/24] INT: Integration of Upstream CFD's DeltaOmegaTilde delta function - Initial code supplied by Marian Fuchs, Upstream CFD GmbH - Code cleaned/refactored/integrated by OpenCFD --- .../DeltaOmegaTildeDelta.C | 194 ++++++++++++++++++ .../DeltaOmegaTildeDelta.H | 141 +++++++++++++ .../turbulenceModels/Make/files | 2 +- 3 files changed, 336 insertions(+), 1 deletion(-) create mode 100644 src/TurbulenceModels/turbulenceModels/LES/LESdeltas/DeltaOmegaTildeDelta/DeltaOmegaTildeDelta.C create mode 100644 src/TurbulenceModels/turbulenceModels/LES/LESdeltas/DeltaOmegaTildeDelta/DeltaOmegaTildeDelta.H diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/DeltaOmegaTildeDelta/DeltaOmegaTildeDelta.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/DeltaOmegaTildeDelta/DeltaOmegaTildeDelta.C new file mode 100644 index 0000000000..659e7ab085 --- /dev/null +++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/DeltaOmegaTildeDelta/DeltaOmegaTildeDelta.C @@ -0,0 +1,194 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2022 Upstream CFD GmbH + Copyright (C) 2022 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "DeltaOmegaTildeDelta.H" +#include "fvcCurl.H" +#include "maxDeltaxyz.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ +namespace LESModels +{ + defineTypeNameAndDebug(DeltaOmegaTildeDelta, 0); + addToRunTimeSelectionTable(LESdelta, DeltaOmegaTildeDelta, dictionary); +} +} + + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +void Foam::LESModels::DeltaOmegaTildeDelta::calcDelta() +{ + const fvMesh& mesh = turbulenceModel_.mesh(); + + const volVectorField& U0 = turbulenceModel_.U(); + const volVectorField vorticity(fvc::curl(U0)); + const volVectorField nvecvort + ( + vorticity + / ( + max + ( + mag(vorticity), + dimensionedScalar("SMALL", dimless/dimTime, SMALL) + ) + ) + ); + + const cellList& cells = mesh.cells(); + const vectorField& cellCentres = mesh.cellCentres(); + const vectorField& faceCentres = mesh.faceCentres(); + + forAll(cells, celli) + { + const labelList& cFaces = cells[celli]; + const point& cc = cellCentres[celli]; + const vector& nv = nvecvort[celli]; + + scalar deltaMaxTmp = 0.0; + + for (const label facei : cFaces) + { + const point& fc = faceCentres[facei]; + scalar tmp = 2.0*mag(nv ^ (fc - cc)); + + if (tmp > deltaMaxTmp) + { + deltaMaxTmp = tmp; + } + } + + delta_[celli] = deltaCoeff_*deltaMaxTmp; + } + + const label nD = mesh.nGeometricD(); + + if (nD == 2) + { + WarningInFunction + << "Case is 2D, LES is not strictly applicable" << nl + << endl; + } + else if (nD != 3) + { + FatalErrorInFunction + << "Case must be either 2D or 3D" << exit(FatalError); + } + + // Handle coupled boundaries + delta_.correctBoundaryConditions(); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::LESModels::DeltaOmegaTildeDelta::DeltaOmegaTildeDelta +( + const word& name, + const turbulenceModel& turbulence, + const dictionary& dict +) +: + LESdelta(name, turbulence), + hmaxPtr_(nullptr), + deltaCoeff_ + ( + dict.optionalSubDict(type() + "Coeffs").getOrDefault + ( + "deltaCoeff", + 1.035 + ) + ), + requireUpdate_ + ( + dict.optionalSubDict(type() + "Coeffs").getOrDefault + ( + "requireUpdate", + true + ) + ) +{ + if (dict.optionalSubDict(type() + "Coeffs").found("hmax")) + { + // User-defined hmax + hmaxPtr_ = + LESdelta::New + ( + IOobject::groupName("hmax", turbulence.U().group()), + turbulence, + dict.optionalSubDict("hmaxCoeffs"), + "hmax" + ); + } + else + { + Info<< "Employing " << maxDeltaxyz::typeName << " for hmax" << endl; + + hmaxPtr_.reset + ( + new maxDeltaxyz + ( + IOobject::groupName("hmax", turbulence.U().group()), + turbulence, + dict.optionalSubDict("hmaxCoeffs") + ) + ); + } + + calcDelta(); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::LESModels::DeltaOmegaTildeDelta::read(const dictionary& dict) +{ + const dictionary& coeffsDict(dict.optionalSubDict(type() + "Coeffs")); + + coeffsDict.readIfPresent("deltaCoeff", deltaCoeff_); + coeffsDict.readIfPresent("requireUpdate", requireUpdate_); + + calcDelta(); +} + + +void Foam::LESModels::DeltaOmegaTildeDelta::correct() +{ + if (turbulenceModel_.mesh().changing() && requireUpdate_) + { + hmaxPtr_->correct(); + } + + calcDelta(); +} + + +// ************************************************************************* // diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/DeltaOmegaTildeDelta/DeltaOmegaTildeDelta.H b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/DeltaOmegaTildeDelta/DeltaOmegaTildeDelta.H new file mode 100644 index 0000000000..fc7ee3ac3d --- /dev/null +++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/DeltaOmegaTildeDelta/DeltaOmegaTildeDelta.H @@ -0,0 +1,141 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2022 Upstream CFD GmbH + Copyright (C) 2022 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::DeltaOmegaTildeDelta + +Description + Delta formulation that accounts for the orientation of the vorticity + vector. In "2D-regions" (i.e. xy-plane), delta is of the order + max(delta_x,delta_y), so that the influence of delta_z is discarded. + This can help to accelerate the transition from RANS to LES in hybrid + RANS/LES simulations. + + Reference: + \verbatim + Shur, M. L., Spalart, P. R., Strelets, M. K., & Travin, A. K. (2015). + An enhanced version of DES with rapid transition from RANS to LES in + separated flows. + Flow, Turbulence and Combustion, 95, 709-737, 2015. + \endverbatim + +SourceFiles + DeltaOmegaTildeDelta.C + +\*---------------------------------------------------------------------------*/ + +#ifndef LESModels_DeltaOmegaTildeDelta_H +#define LESModels_DeltaOmegaTildeDelta_H + +#include "LESdelta.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace LESModels +{ + +/*---------------------------------------------------------------------------*\ + Class DeltaOmegaTildeDelta Declaration +\*---------------------------------------------------------------------------*/ + +class DeltaOmegaTildeDelta +: + public LESdelta +{ + // Private data + + //- Run-time selectable delta for hmax + // Defaults to the maxDeltaxyz model if not supplied + autoPtr hmaxPtr_; + + //- Model coefficient + scalar deltaCoeff_; + + //- Flag to indicate whether hmax requires updating + bool requireUpdate_; + + + // Private Member Functions + + //- No copy construct + DeltaOmegaTildeDelta(const DeltaOmegaTildeDelta&) = delete; + + //- No copy assignment + void operator=(const DeltaOmegaTildeDelta&) = delete; + + //- Calculate the delta values + void calcDelta(); + + +public: + + //- Runtime type information + TypeName("DeltaOmegaTilde"); + + + // Constructors + + //- Construct from name, turbulenceModel and dictionary + DeltaOmegaTildeDelta + ( + const word& name, + const turbulenceModel& turbulence, + const dictionary& + ); + + + //- Destructor + virtual ~DeltaOmegaTildeDelta() = default; + + + // Member Functions + + //- Read the LESdelta dictionary + virtual void read(const dictionary&); + + //- Return the hmax delta field + const volScalarField& hmax() const + { + return hmaxPtr_(); + } + + // Correct values + void correct(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace LESModels +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/TurbulenceModels/turbulenceModels/Make/files b/src/TurbulenceModels/turbulenceModels/Make/files index c84c283b59..7495c83e50 100644 --- a/src/TurbulenceModels/turbulenceModels/Make/files +++ b/src/TurbulenceModels/turbulenceModels/Make/files @@ -10,7 +10,7 @@ $(LESdelta)/smoothDelta/smoothDelta.C $(LESdelta)/maxDeltaxyz/maxDeltaxyz.C $(LESdelta)/IDDESDelta/IDDESDelta.C $(LESdelta)/maxDeltaxyzCubeRootLESDelta/maxDeltaxyzCubeRootLESDelta.C - +$(LESdelta)/DeltaOmegaTildeDelta/DeltaOmegaTildeDelta.C LESfilters = LES/LESfilters From 62f37b2a43202fa97d9ed54f1bd6bdb98f880520 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Mon, 16 May 2022 21:44:01 +0100 Subject: [PATCH 08/24] INT: Integration of Upstream CFD's sigma LES model - Initial code supplied by Marian Fuchs, Upstream CFD GmbH - Code cleaned/refactored/integrated by OpenCFD --- .../turbulentTransportModels.C | 3 + .../turbulenceModels/LES/sigma/sigma.C | 175 ++++++++++++++++++ .../turbulenceModels/LES/sigma/sigma.H | 172 +++++++++++++++++ 3 files changed, 350 insertions(+) create mode 100644 src/TurbulenceModels/turbulenceModels/LES/sigma/sigma.C create mode 100644 src/TurbulenceModels/turbulenceModels/LES/sigma/sigma.H diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C index ec25c77ad6..d11ebaa020 100644 --- a/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C +++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C @@ -126,6 +126,9 @@ makeLESModel(dynamicKEqn); #include "dynamicLagrangian.H" makeLESModel(dynamicLagrangian); +#include "sigma.H" +makeLESModel(sigma); + #include "SpalartAllmarasDES.H" makeLESModel(SpalartAllmarasDES); diff --git a/src/TurbulenceModels/turbulenceModels/LES/sigma/sigma.C b/src/TurbulenceModels/turbulenceModels/LES/sigma/sigma.C new file mode 100644 index 0000000000..acdb6658ed --- /dev/null +++ b/src/TurbulenceModels/turbulenceModels/LES/sigma/sigma.C @@ -0,0 +1,175 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2022 Upstream CFD GmbH + Copyright (C) 2022 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "sigma.H" +#include "DESModel.H" +#include "fvOptions.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace LESModels +{ + +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // + +template +void sigma::correctNut() +{ + this->nut_ = + sqr(this->delta()) + *DESModel::Ssigma(fvc::grad(this->U_), Csigma_); + this->nut_.correctBoundaryConditions(); + fv::options::New(this->mesh_).correct(this->nut_); + + BasicTurbulenceModel::correctNut(); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template sigma::sigma +( + const alphaField& alpha, + const rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaRhoPhi, + const surfaceScalarField& phi, + const transportModel& transport, + const word& propertiesName, + const word& type +) +: + LESeddyViscosity + ( + type, + alpha, + rho, + U, + alphaRhoPhi, + phi, + transport, + propertiesName + ), + + Ck_ + ( + dimensioned::lookupOrAddToDict + ( + "Ck", + this->coeffDict_, + 0.094 + ) + ), + + Cw_ + ( + dimensioned::lookupOrAddToDict + ( + "Cw", + this->coeffDict_, + 0.325 + ) + ), + + Csigma_ + ( + dimensioned::lookupOrAddToDict + ( + "Csigma", + this->coeffDict_, + 1.68 + ) + ) +{ + if (type == typeName) + { + this->printCoeffs(type); + } +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template +bool sigma::read() +{ + if (LESeddyViscosity::read()) + { + Ck_.readIfPresent(this->coeffDict()); + Cw_.readIfPresent(this->coeffDict()); + Csigma_.readIfPresent(this->coeffDict()); + + return true; + } + else + { + return false; + } +} + + +template +tmp sigma::k() const +{ + return tmp::New + ( + IOobject::groupName("k", this->U_.group()), + (2.0*Ck_/this->Ce_) + *sqr(this->delta()) + *magSqr(dev(symm(fvc::grad(this->U_)))) + ); +} + + +template +tmp sigma::epsilon() const +{ + return tmp::New + ( + IOobject::groupName("epsilon", this->U_.group()), + this->Ce_*k()*sqrt(k())/this->delta() + ); +} + + +template +void sigma::correct() +{ + LESeddyViscosity::correct(); + correctNut(); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace LESModels +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/TurbulenceModels/turbulenceModels/LES/sigma/sigma.H b/src/TurbulenceModels/turbulenceModels/LES/sigma/sigma.H new file mode 100644 index 0000000000..701734f952 --- /dev/null +++ b/src/TurbulenceModels/turbulenceModels/LES/sigma/sigma.H @@ -0,0 +1,172 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2022 Upstream CFD GmbH + Copyright (C) 2022 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::LESModels::sigma + +Group + grpLESTurbulence + +Description + The sigma SGS model. + + Reference: + \verbatim + Nicoud, F., Toda, H., Cabrit, O., Bose, S., & Lee, J. (2011). + Using singular values to build a subgrid-scale model for large + eddy simulations. + Physics of Fluids, 23(8), 5106, 2011. + \endverbatim + + The default model coefficients correspond to the following: + \verbatim + sigmaCoeffs + { + ck 0.094; + Csigma 1.68; + } + \endverbatim + +Note + The default value of the Csigma constant implemented was calibrated for + OpenFOAM using decaying isotropic turbulence and is slightly higher than + the value suggested in the reference publication. + +SourceFiles + sigma.C + +\*---------------------------------------------------------------------------*/ + +#ifndef Foam_LESModels_sigma_H +#define Foam_LESModels_sigma_H + +#include "LESModel.H" +#include "LESeddyViscosity.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace LESModels +{ + +/*---------------------------------------------------------------------------*\ + Class sigma Declaration +\*---------------------------------------------------------------------------*/ + +template +class sigma +: + public LESeddyViscosity +{ + // Private Member Functions + + //- No copy construct + sigma(const sigma&) = delete; + + //- No copy assignment + void operator=(const sigma&) = delete; + + +protected: + + // Protected data + + dimensionedScalar Ck_; + dimensionedScalar Cw_; + dimensionedScalar Csigma_; + + + // Protected Member Functions + + //- Update the SGS eddy-viscosity + virtual void correctNut(); + + +public: + + typedef typename BasicTurbulenceModel::alphaField alphaField; + typedef typename BasicTurbulenceModel::rhoField rhoField; + typedef typename BasicTurbulenceModel::transportModel transportModel; + + + //- Runtime type information + TypeName("sigma"); + + + // Constructors + + //- Construct from components + sigma + ( + const alphaField& alpha, + const rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaRhoPhi, + const surfaceScalarField& phi, + const transportModel& transport, + const word& propertiesName = turbulenceModel::propertiesName, + const word& type = typeName + ); + + + //- Destructor + virtual ~sigma() + {} + + + // Member Functions + + //- Read model coefficients if they have changed + virtual bool read(); + + //- Return SGS kinetic energy + virtual tmp k() const; + + //- Return SGS disipation rate + virtual tmp epsilon() const; + + //- Correct Eddy-Viscosity and related properties + virtual void correct(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace LESModels +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository + #include "sigma.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // From e5cf96b0f9f5ae239907999899550cf1715bfdc5 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Mon, 16 May 2022 19:50:14 +0100 Subject: [PATCH 09/24] INT: Integration of Upstream CFD's SLADelta - use hmaxPtr - Initial code supplied by Marian Fuchs, Upstream CFD GmbH - Code cleaned/refactored/integrated by OpenCFD --- .../LES/LESdeltas/SLADelta/SLADelta.C | 391 ++++++++++++++++++ .../LES/LESdeltas/SLADelta/SLADelta.H | 148 +++++++ .../turbulenceModels/Make/files | 1 + 3 files changed, 540 insertions(+) create mode 100644 src/TurbulenceModels/turbulenceModels/LES/LESdeltas/SLADelta/SLADelta.C create mode 100644 src/TurbulenceModels/turbulenceModels/LES/LESdeltas/SLADelta/SLADelta.H diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/SLADelta/SLADelta.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/SLADelta/SLADelta.C new file mode 100644 index 0000000000..0219dc0373 --- /dev/null +++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/SLADelta/SLADelta.C @@ -0,0 +1,391 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2022 Upstream CFD GmbH + Copyright (C) 2022 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "SLADelta.H" +#include "wallDist.H" +#include "maxDeltaxyz.H" +#include "fvcGrad.H" +#include "fvcCurl.H" +#include "addToRunTimeSelectionTable.H" + +#include "oneField.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +template +tmp sumNeighbours +( + const GeometricField& field, + GeometricField& result, + const WeightType& weights = oneField() +) +{ + const fvMesh& mesh = field.mesh(); + + result == dimensioned(field.dimensions(), Zero); + + auto tscaling = tmp::New(mesh.nCells(), Zero); + auto& scaling = tscaling.ref(); + + const auto& faceNeighbour = mesh.faceNeighbour(); + const auto& faceOwner = mesh.faceOwner(); + + forAll(faceNeighbour, i) + { + const label own = faceOwner[i]; + const label nbr = faceNeighbour[i]; + + result[own] += field[nbr]; + result[nbr] += field[own]; + + scaling[own] = scaling[own] + weights[nbr]; + scaling[nbr] = scaling[nbr] + weights[own]; + } + + const auto& pbm = mesh.boundaryMesh(); + + for (const polyPatch& pp : pbm) + { + const auto& pf = field.boundaryField()[pp.index()]; + const labelUList& faceCells = pp.faceCells(); + + if (pf.coupled()) + { + const scalarField nbrField(pf.patchNeighbourField()); + + forAll(faceCells, facei) + { + const label celli = faceCells[facei]; + result[celli] += nbrField[facei]; + scaling[celli] = scaling[celli] + weights[celli]; + } + } + } + + return tscaling; +} + +} + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ +namespace LESModels +{ + defineTypeNameAndDebug(DeltaSLA, 0); + addToRunTimeSelectionTable(LESdelta, DeltaSLA, dictionary); +} +} + + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +void Foam::LESModels::DeltaSLA::calcDelta() +{ + const fvMesh& mesh = turbulenceModel_.mesh(); + + const volVectorField& U0 = turbulenceModel_.U(); + const volVectorField vorticity(fvc::curl(U0)); + const volSymmTensorField S(symm(fvc::grad(U0))); + const volScalarField magGradU(mag(fvc::grad(U0))); + + tmp tnut = turbulenceModel_.nut(); + const auto& nut = tnut(); + tmp tnu = turbulenceModel_.nu(); + const auto& nu = tnu(); + + // Vortex tilting measure, VTM + const dimensionedScalar nuMin("SMALL", nu.dimensions(), SMALL); + const dimensionedScalar eps("SMALL", dimless/pow3(dimTime), SMALL); + volScalarField vtm + ( + max(scalar(1), 0.2*nu/max(nut, nuMin)) + *sqrt(6.0)*mag((S & vorticity)^vorticity) + /max(magSqr(vorticity)*sqrt(3*magSqr(S) - sqr(tr(S))), eps) + ); + vtm.correctBoundaryConditions(); + + + // Averaged VTM + + volScalarField vtmAve("vtmAve", vtm); + tmp weights = sumNeighbours(vtm, vtmAve); + + // Add cell centre values + vtmAve += vtm; + + // Weights normalisation (add 1 for cell centres) + vtmAve.primitiveFieldRef() /= weights + 1; + + + // Compute DDES shielding function + const volScalarField& y = wallDist::New(mesh).y(); + const dimensionedScalar Ueps("eps", magGradU.dimensions(), SMALL); + const dimensionedScalar nuEps("eps", nu.dimensions(), ROOTSMALL); + const volScalarField rd + ( + min + ( + (nut + nu)/(max(magGradU, Ueps)*sqr(kappa_*y) + nuEps), + scalar(10) + ) + ); + const volScalarField fd(1.0 - tanh(pow(Cd1_*rd, Cd2_))); + + // Assemble delta + const dimensionedScalar vortMin("SMALL", dimless/dimTime, SMALL); + const volVectorField nVecVort(vorticity/(max(mag(vorticity), vortMin))); + + const cellList& cells = mesh.cells(); + const vectorField& cellCentres = mesh.cellCentres(); + const vectorField& faceCentres = mesh.faceCentres(); + + forAll(cells, celli) + { + const labelList& cFaces = cells[celli]; + const point& cc = cellCentres[celli]; + const vector& nv = nVecVort[celli]; + + scalar deltaMaxTmp = 0.0; + + for (const label facei : cFaces) + { + const point& fc = faceCentres[facei]; + scalar tmp = 2.0*mag(nv ^ (fc - cc)); + + if (tmp > deltaMaxTmp) + { + deltaMaxTmp = tmp; + } + } + + scalar FKH = + max + ( + FKHmin_, + min + ( + FKHmax_, + FKHmin_ + + (FKHmax_ - FKHmin_)*(vtmAve[celli] - a1_)/(a2_ - a1_) + ) + ); + + if ((shielding_ == true) && (fd[celli] < (1.0 - epsilon_))) + { + FKH = 1; + } + + delta_[celli] = deltaCoeff_*deltaMaxTmp*FKH; + } + + label nD = mesh.nGeometricD(); + + if (nD == 2) + { + WarningInFunction + << "Case is 2D, LES is not strictly applicable" << nl + << endl; + } + else if (nD != 3) + { + FatalErrorInFunction + << "Case must be either 2D or 3D" << exit(FatalError); + } + + // Handle coupled boundaries + delta_.correctBoundaryConditions(); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::LESModels::DeltaSLA::DeltaSLA +( + const word& name, + const turbulenceModel& turbulence, + const dictionary& dict +) +: + LESdelta(name, turbulence), + hmaxPtr_(nullptr), + deltaCoeff_ + ( + dict.optionalSubDict(type() + "Coeffs").lookupOrDefault + ( + "deltaCoeff", + 1.035 + ) + ), + requireUpdate_ + ( + dict.optionalSubDict(type() + "Coeffs").getOrDefault + ( + "requireUpdate", + true + ) + ), + shielding_ + ( + dict.optionalSubDict(type() + "Coeffs").getOrDefault + ( + "shielding", + true + ) + ), + FKHmin_ + ( + dict.optionalSubDict(type() + "Coeffs").getOrDefault + ( + "FKHmin", + 0.1 + ) + ), + FKHmax_ + ( + dict.optionalSubDict(type() + "Coeffs").getOrDefault + ( + "FKHmax", + 1.0 + ) + ), + a1_ + ( + dict.optionalSubDict(type() + "Coeffs").getOrDefault + ( + "a1", + 0.15 + ) + ), + a2_ + ( + dict.optionalSubDict(type() + "Coeffs").getOrDefault + ( + "a2", + 0.30 + ) + ), + epsilon_ + ( + dict.optionalSubDict(type() + "Coeffs").getOrDefault + ( + "epsilon", + 0.01 + ) + ), + kappa_ + ( + dict.optionalSubDict(type() + "Coeffs").getOrDefault + ( + "kappa", + 0.41 + ) + ), + Cd1_ + ( + dict.optionalSubDict(type() + "Coeffs").getOrDefault + ( + "Cd1", + 20 + ) + ), + Cd2_ + ( + dict.optionalSubDict(type() + "Coeffs").getOrDefault + ( + "Cd2", + 3 + ) + ) +{ + if (dict.optionalSubDict(type() + "Coeffs").found("hmax")) + { + // User-defined hmax + hmaxPtr_ = + LESdelta::New + ( + IOobject::groupName("hmax", turbulence.U().group()), + turbulence, + dict.optionalSubDict("hmaxCoeffs"), + "hmax" + ); + } + else + { + Info<< "Employing " << maxDeltaxyz::typeName << " for hmax" << endl; + + hmaxPtr_.reset + ( + new maxDeltaxyz + ( + IOobject::groupName("hmax", turbulence.U().group()), + turbulence, + dict.optionalSubDict("hmaxCoeffs") + ) + ); + } +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::LESModels::DeltaSLA::read(const dictionary& dict) +{ + const dictionary& coeffsDict(dict.optionalSubDict(type() + "Coeffs")); + + coeffsDict.readIfPresent("deltaCoeff", deltaCoeff_); + coeffsDict.readIfPresent("requireUpdate", requireUpdate_); + coeffsDict.readIfPresent("FKHmin", FKHmin_); + coeffsDict.readIfPresent("FKHmax", FKHmax_); + coeffsDict.readIfPresent("a1", a1_); + coeffsDict.readIfPresent("a2", a2_); + coeffsDict.readIfPresent("epsilon", epsilon_); + coeffsDict.readIfPresent("kappa", kappa_); + coeffsDict.readIfPresent("Cd1", Cd1_); + coeffsDict.readIfPresent("Cd2", Cd2_); + + calcDelta(); +} + + +void Foam::LESModels::DeltaSLA::correct() +{ + if (turbulenceModel_.mesh().changing() && requireUpdate_) + { + hmaxPtr_->correct(); + } + + calcDelta(); +} + + +// ************************************************************************* // diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/SLADelta/SLADelta.H b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/SLADelta/SLADelta.H new file mode 100644 index 0000000000..94c336d50d --- /dev/null +++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/SLADelta/SLADelta.H @@ -0,0 +1,148 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2022 Upstream CFD GmbH + Copyright (C) 2022 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::LESModels::DeltaSLA + +Description + Delta formulation that accounts for the orientation of the vorticity vector + and a flow-sensitised function to detect 2D flow regions. Delta value is + strongly reduced in these regions to accelerate the transition from RANS + to LES in hybrid RANS/LES simulations. + + Reference: + \verbatim + Shur, M. L., Spalart, P. R., Strelets, M. K., & Travin, A. K. (2015). + An enhanced version of DES with rapid transition from RANS to LES in + separated flows. + Flow, Turbulence and Combustion, 95, 709–737, 2015. + \endverbatim + +SourceFiles + SLADelta.C + +\*---------------------------------------------------------------------------*/ + +#ifndef LESModels_DeltaSLADelta_H +#define LESModels_DeltaSLADelta_H + +#include "LESdelta.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace LESModels +{ + +/*---------------------------------------------------------------------------*\ + Class DeltaSLA Declaration +\*---------------------------------------------------------------------------*/ + +class DeltaSLA +: + public LESdelta +{ + // Private data + + //- Run-time selectable delta for hmax + // Defaults to the maxDeltaxyz model if not supplied + autoPtr hmaxPtr_; + + // Model coefficients + + scalar deltaCoeff_; + bool requireUpdate_; + bool shielding_; + scalar FKHmin_; + scalar FKHmax_; + scalar a1_; + scalar a2_; + scalar epsilon_; + scalar kappa_; + scalar Cd1_; + scalar Cd2_; + + + // Private Member Functions + + //- No copy construct + DeltaSLA(const DeltaSLA&) = delete; + + //- No copy assignment + void operator=(const DeltaSLA&) = delete; + + // Calculate the delta values + void calcDelta(); + + +public: + + //- Runtime type information + TypeName("SLADelta"); + + + // Constructors + + //- Construct from name, turbulenceModel and IOdictionary + DeltaSLA + ( + const word& name, + const turbulenceModel& turbulence, + const dictionary& + ); + + + //- Destructor + virtual ~DeltaSLA() = default; + + + // Member Functions + + //- Read the LESdelta dictionary + void read(const dictionary&); + + //- Return the hmax delta field + const volScalarField& hmax() const + { + return hmaxPtr_(); + } + + // Correct values + void correct(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace LESModels +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/TurbulenceModels/turbulenceModels/Make/files b/src/TurbulenceModels/turbulenceModels/Make/files index 7495c83e50..9e9955ab07 100644 --- a/src/TurbulenceModels/turbulenceModels/Make/files +++ b/src/TurbulenceModels/turbulenceModels/Make/files @@ -11,6 +11,7 @@ $(LESdelta)/maxDeltaxyz/maxDeltaxyz.C $(LESdelta)/IDDESDelta/IDDESDelta.C $(LESdelta)/maxDeltaxyzCubeRootLESDelta/maxDeltaxyzCubeRootLESDelta.C $(LESdelta)/DeltaOmegaTildeDelta/DeltaOmegaTildeDelta.C +$(LESdelta)/SLADelta/SLADelta.C LESfilters = LES/LESfilters From 67ba5acf18a48c19cecf66cfd1b833cf80089fe2 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Fri, 13 May 2022 15:45:54 +0100 Subject: [PATCH 10/24] ENH: Spalart-Allmaras model - added user switch for ft2 term (default = off) --- .../SpalartAllmaras/SpalartAllmarasBase.C | 34 ++++++++++++++++--- .../SpalartAllmaras/SpalartAllmarasBase.H | 2 +- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.C b/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.C index 6400f85e27..47a4b7fbcf 100644 --- a/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.C +++ b/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.C @@ -73,7 +73,23 @@ tmp SpalartAllmarasBase::ft2 const volScalarField& chi ) const { - return Ct3_*exp(-Ct4_*sqr(chi)); + if (ft2_) + { + return Ct3_*exp(-Ct4_*sqr(chi)); + } + + return tmp::New + ( + IOobject + ( + "ft2", + this->runTime_.timeName(), + this->mesh_, + IOobject::NO_READ + ), + this->mesh_, + dimensionedScalar(dimless, Zero) + ); } @@ -268,6 +284,15 @@ SpalartAllmarasBase::SpalartAllmarasBase 0.07 ) ), + ft2_ + ( + Switch::getOrAddToDict + ( + "ft2", + this->coeffDict_, + false + ) + ), Ct3_ ( dimensioned::getOrAddToDict @@ -302,13 +327,13 @@ SpalartAllmarasBase::SpalartAllmarasBase y_(wallDist::New(this->mesh_).y()) { - if (mag(Ct3_.value()) > SMALL) + if (ft2_) { - Info<< " ft2 term: active" << nl; + Info<< "ft2 term: active" << nl; } else { - Info<< " ft2 term: inactive" << nl; + Info<< "ft2 term: inactive" << nl; } } @@ -333,6 +358,7 @@ bool SpalartAllmarasBase::read() ck_.readIfPresent(this->coeffDict()); + ft2_.readIfPresent("ft2", this->coeffDict()); Ct3_.readIfPresent(this->coeffDict()); Ct4_.readIfPresent(this->coeffDict()); diff --git a/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.H b/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.H index 9aca849ea4..7b765c1f80 100644 --- a/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.H +++ b/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.H @@ -91,7 +91,7 @@ protected: dimensionedScalar Cs_; dimensionedScalar ck_; - + Switch ft2_; dimensionedScalar Ct3_; dimensionedScalar Ct4_; From 53397e6f3fda998379670d6b5756de6f0b769003 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Fri, 13 May 2022 15:50:19 +0100 Subject: [PATCH 11/24] ENH: Added deprecation warnings for SpalartAllmaras and kOmegaSST DES variants --- .../DES/SpalartAllmarasDES/SpalartAllmarasDES.C | 5 +++++ .../turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C index f93b38c79b..3de6413d39 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C @@ -173,6 +173,11 @@ SpalartAllmarasDES::SpalartAllmarasDES if (type == typeName) { + WarningInFunction + << "This model is not recommended and will be deprecated in future " + << "releases. Please consider using the DDES/IDDES versions instead" + << endl; + this->printCoeffs(type); } } diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C index e6fa1d9f83..b6093839d4 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C @@ -174,6 +174,11 @@ kOmegaSSTDES::kOmegaSSTDES if (type == typeName) { + WarningInFunction + << "This model is not recommended and will be deprecated in future " + << "releases. Please consider using the DDES/IDDES versions instead" + << endl; + this->printCoeffs(type); } } From 5b1c060e9efdcea3400c2a889f076921139dd3b3 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Fri, 13 May 2022 16:08:09 +0100 Subject: [PATCH 12/24] ENH: kOmegaSSTDES - added convenience functions for RAS|LES length scales --- .../SpalartAllmarasDDES/SpalartAllmarasDDES.C | 9 +---- .../DES/kOmegaSSTDDES/kOmegaSSTDDES.C | 29 +++++---------- .../DES/kOmegaSSTDES/kOmegaSSTDES.C | 37 ++++++++++++------- .../DES/kOmegaSSTDES/kOmegaSSTDES.H | 9 +++++ .../DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C | 7 +--- 5 files changed, 46 insertions(+), 45 deletions(-) diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C index ce6c40c0fe..b744117066 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C @@ -99,16 +99,11 @@ tmp SpalartAllmarasDDES::dTilda { const volScalarField& lRAS(this->y_); const volScalarField lLES(this->lengthScaleLES(chi, fv1)); + const dimensionedScalar l0(dimLength, Zero); return max ( - lRAS - - fd(mag(gradU)) - *max - ( - lRAS - lLES, - dimensionedScalar(dimLength, Zero) - ), + lRAS - fd(mag(gradU))*max(lRAS - lLES, l0), dimensionedScalar("small", dimLength, SMALL) ); } diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C index 85360269ea..445c4de7fe 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C @@ -64,13 +64,12 @@ tmp kOmegaSSTDDES::S2 { volScalarField& S2 = tS2.ref(); const volScalarField CDES(this->CDES(F1)); - const volScalarField& k = this->k_; - const volScalarField& omega = this->omega_; const volScalarField Ssigma(this->Ssigma(gradU)); + S2 -= ( fd(mag(gradU)) - *pos(sqrt(k)/(this->betaStar_*omega) - CDES*this->delta()) + *pos(this->lengthScaleRAS() - this->lengthScaleLES(CDES)) *(S2 - sqr(Ssigma)) ); } @@ -86,21 +85,13 @@ tmp kOmegaSSTDDES::dTilda const volScalarField& CDES ) const { - const volScalarField& k = this->k_; - const volScalarField& omega = this->omega_; - - const volScalarField lRAS(sqrt(k)/(this->betaStar_*omega)); - const volScalarField lLES(CDES*this->delta()); + const volScalarField lRAS(this->lengthScaleRAS()); + const volScalarField lLES(this->lengthScaleLES(CDES)); + const dimensionedScalar l0(dimLength, Zero); return max ( - lRAS - - fd(magGradU) - *max - ( - lRAS - lLES, - dimensionedScalar(dimLength, Zero) - ), + lRAS - fd(magGradU)*max(lRAS - lLES, l0), dimensionedScalar("small", dimLength, SMALL) ); } @@ -119,14 +110,12 @@ tmp kOmegaSSTDDES::GbyNu0 if (useSigma_) { volScalarField::Internal& GbyNu0 = tGbyNu0.ref(); - const volScalarField::Internal CDES(this->CDES(F1)()()); - const volScalarField::Internal& k = this->k_(); - const volScalarField::Internal& omega = this->omega_(); + const volScalarField CDES(this->CDES(F1)); GbyNu0 -= fd(mag(gradU))()() - *pos(sqrt(k)/(this->betaStar_*omega) - CDES*this->delta()()) - *(GbyNu0 - S2); + *pos(this->lengthScaleRAS()()() - this->lengthScaleLES(CDES)()()) + *(GbyNu0 - S2()); } return tGbyNu0; diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C index b6093839d4..7518509a30 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C @@ -82,10 +82,7 @@ tmp kOmegaSSTDES::dTilda const volScalarField& CDES ) const { - const volScalarField& k = this->k_; - const volScalarField& omega = this->omega_; - - return min(CDES*this->delta(), sqrt(k)/(this->betaStar_*omega)); + return min(lengthScaleLES(CDES), lengthScaleRAS()); } @@ -202,6 +199,28 @@ bool kOmegaSSTDES::read() } +template +Foam::tmp +kOmegaSSTDES::lengthScaleRAS() const +{ + const volScalarField& k = this->k_; + const volScalarField& omega = this->omega_; + + return sqrt(k)/(this->betaStar_*omega); +} + + +template +Foam::tmp +kOmegaSSTDES::lengthScaleLES +( + const volScalarField& CDES +) const +{ + return CDES*this->delta(); +} + + template tmp kOmegaSSTDES::LESRegion() const { @@ -219,15 +238,7 @@ tmp kOmegaSSTDES::LESRegion() const return tmp::New ( IOobject::scopedName("DES", "LESRegion"), - neg - ( - dTilda - ( - mag(fvc::grad(U)), - F1*CDESkom_ + (1 - F1)*CDESkeps_ - ) - - sqrt(k)/(this->betaStar_*omega) - ) + neg(dTilda(mag(fvc::grad(U)), CDES(F1)) - lengthScaleRAS()) ); } diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H index 08eecbf236..fd7d9b7587 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H @@ -169,6 +169,15 @@ public: //- Re-read model coefficients if they have changed virtual bool read(); + //- RAS length scale + virtual tmp lengthScaleRAS() const; + + //- LES length scale + virtual tmp lengthScaleLES + ( + const volScalarField& CDES + ) const; + //- Return the LES field indicator virtual tmp LESRegion() const; }; diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C index 268935f45e..7340e3b9be 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C @@ -97,11 +97,8 @@ tmp kOmegaSSTIDDES::dTilda const volScalarField& CDES ) const { - const volScalarField& k = this->k_; - const volScalarField& omega = this->omega_; - - const volScalarField lRAS(sqrt(k)/(this->betaStar_*omega)); - const volScalarField lLES(CDES*this->delta()); + const volScalarField lRAS(this->lengthScaleRAS()); + const volScalarField lLES(this->lengthScaleLES(CDES)); const volScalarField alpha(this->alpha()); const volScalarField expTerm(exp(sqr(alpha))); From 9563607e01c0cd8f49c355bf0a78cf7fb11128d5 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Fri, 13 May 2022 19:19:56 +0100 Subject: [PATCH 13/24] ENH: Turbulence IDDES models - added option to switch fe term in dTilda calc Default is fe = true, yielding the original form given be Shur (2008) --- .../SpalartAllmarasIDDES.C | 40 +++++++++++++------ .../SpalartAllmarasIDDES.H | 1 + .../DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C | 39 ++++++++++++------ .../DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H | 1 + 4 files changed, 55 insertions(+), 26 deletions(-) diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C index cd12c26e15..03f7ea3517 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C @@ -108,24 +108,28 @@ tmp SpalartAllmarasIDDES::dTilda const volScalarField expTerm(exp(sqr(alpha))); tmp fB = min(2*pow(expTerm, -9.0), scalar(1)); - tmp fe1 = - 2*(pos0(alpha)*pow(expTerm, -11.09) + neg(alpha)*pow(expTerm, -9.0)); - tmp fe2 = 1 - max(ft(magGradU), fl(magGradU)); - tmp fe = max(fe1 - 1, scalar(0))*psi*fe2; - const volScalarField fdTilda(max(1 - fdt(magGradU), fB)); - // Simplified formulation from Gritskevich et al. paper (2011) where fe = 0 - // return max - // ( - // fdTilda*lRAS + (1 - fdTilda)*lLES, - // dimensionedScalar("SMALL", dimLength, SMALL) - // ); + if (fe_) + { + tmp fe1 = + 2*(pos0(alpha)*pow(expTerm, -11.09) + neg(alpha)*pow(expTerm, -9.)); + tmp fe2 = 1 - max(ft(magGradU), fl(magGradU)); + tmp fe = max(fe1 - 1, scalar(0))*psi*fe2; - // Original formulation from Shur et al. paper (2008) + // Original formulation from Shur et al. paper (2008) + return max + ( + fdTilda*(1 + fe)*lRAS + (1 - fdTilda)*lLES, + dimensionedScalar("SMALL", dimLength, SMALL) + ); + } + + + // Simplified formulation from Gritskevich et al. paper (2011) where fe = 0 return max ( - fdTilda*(1 + fe)*lRAS + (1 - fdTilda)*lLES, + fdTilda*lRAS + (1 - fdTilda)*lLES, dimensionedScalar("SMALL", dimLength, SMALL) ); } @@ -194,6 +198,16 @@ SpalartAllmarasIDDES::SpalartAllmarasIDDES 1.63 ) ), + fe_ + ( + Switch::getOrAddToDict + ( + "fe", + this->coeffDict_, + true + ) + ), + IDDESDelta_(setDelta()) { if (type == typeName) diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H index 9f13f607b0..470a05647f 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H @@ -100,6 +100,7 @@ protected: dimensionedScalar Cdt2_; dimensionedScalar Cl_; dimensionedScalar Ct_; + Switch fe_; //- IDDES delta diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C index 7340e3b9be..5b18937f9e 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C @@ -104,24 +104,27 @@ tmp kOmegaSSTIDDES::dTilda const volScalarField expTerm(exp(sqr(alpha))); tmp fB = min(2*pow(expTerm, -9.0), scalar(1)); - tmp fe1 = - 2*(pos0(alpha)*pow(expTerm, -11.09) + neg(alpha)*pow(expTerm, -9.0)); - tmp fe2 = 1 - max(ft(magGradU), fl(magGradU)); - tmp fe = max(fe1 - 1, scalar(0))*fe2; - const volScalarField fdTilda(max(1 - fdt(magGradU), fB)); - // Simplified formulation from Gritskevich et al. paper (2011) where fe = 0 - // return max - // ( - // fdTilda*lRAS + (1 - fdTilda)*lLES, - // dimensionedScalar("SMALL", dimLength, SMALL) - // ); + if (fe_) + { + tmp fe1 = + 2*(pos0(alpha)*pow(expTerm, -11.09) + neg(alpha)*pow(expTerm, -9.)); + tmp fe2 = 1 - max(ft(magGradU), fl(magGradU)); + tmp fe = max(fe1 - 1, scalar(0))*fe2; - // Original formulation from Shur et al. paper (2008) + // Original formulation from Shur et al. paper (2008) + return max + ( + fdTilda*(1 + fe)*lRAS + (1 - fdTilda)*lLES, + dimensionedScalar("SMALL", dimLength, SMALL) + ); + } + + // Simplified formulation from Gritskevich et al. paper (2011) where fe = 0 return max ( - fdTilda*(1 + fe)*lRAS + (1 - fdTilda)*lLES, + fdTilda*lRAS + (1 - fdTilda)*lLES, dimensionedScalar("SMALL", dimLength, SMALL) ); } @@ -190,6 +193,16 @@ kOmegaSSTIDDES::kOmegaSSTIDDES 1.87 ) ), + fe_ + ( + Switch::getOrAddToDict + ( + "fe", + this->coeffDict_, + true + ) + ), + IDDESDelta_(setDelta()) { if (type == typeName) diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H index 2da9cd3485..7b9d4b7d05 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H @@ -97,6 +97,7 @@ protected: dimensionedScalar Cdt2_; dimensionedScalar Cl_; dimensionedScalar Ct_; + Switch fe_; //- IDDES delta From 07a9ee86f323a4491ff2fb281d6de6bfd2d4befc Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Wed, 10 Aug 2022 10:59:39 +0100 Subject: [PATCH 14/24] ENH: Code refactoring --- .../SpalartAllmarasDDES/SpalartAllmarasDDES.C | 51 ++++++++--------- .../SpalartAllmarasDDES/SpalartAllmarasDDES.H | 6 +- .../SpalartAllmarasDES/SpalartAllmarasDES.C | 50 +++++++++++++++++ .../SpalartAllmarasDES/SpalartAllmarasDES.H | 14 ++++- .../DES/kOmegaSSTDDES/kOmegaSSTDDES.C | 39 ++++--------- .../DES/kOmegaSSTDDES/kOmegaSSTDDES.H | 4 +- .../DES/kOmegaSSTDES/kOmegaSSTDES.C | 55 +++++++++++++++++++ .../DES/kOmegaSSTDES/kOmegaSSTDES.H | 20 +++++++ 8 files changed, 173 insertions(+), 66 deletions(-) diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C index b744117066..4c75b3c72d 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C @@ -61,7 +61,27 @@ tmp SpalartAllmarasDDES::Stilda const volScalarField& dTilda ) const { - tmp St = + if (this->useSigma_) + { + const volScalarField& lRAS(this->y_); + const volScalarField fv2(this->fv2(chi, fv1)); + const volScalarField lLES(this->lengthScaleLES(chi, fv1)); + const volScalarField Omega(this->Omega(gradU)); + const volScalarField Ssigma(this->Ssigma(gradU)); + const volScalarField SsigmaDES + ( + Omega - fd(mag(gradU))*pos(lRAS - lLES)*(Omega - Ssigma) + ); + + return + max + ( + SsigmaDES + fv2*this->nuTilda_/sqr(this->kappa_*dTilda), + this->Cs_*SsigmaDES + ); + } + + return SpalartAllmarasBase>::Stilda ( chi, @@ -69,23 +89,6 @@ tmp SpalartAllmarasDDES::Stilda gradU, dTilda ); - - if (useSigma_) - { - const volScalarField& lRAS(this->y_); - const volScalarField lLES(this->lengthScaleLES(chi, fv1)); - const volScalarField Omega(this->Omega(gradU)); - const volScalarField Ssigma(this->Ssigma(gradU)); - - return - max - ( - St - fd(mag(gradU))*pos(lRAS - lLES)*(Omega - Ssigma), - this->Cs_*Omega - ); - } - - return St; } @@ -136,18 +139,9 @@ SpalartAllmarasDDES::SpalartAllmarasDDES type ), - useSigma_ - ( - Switch::getOrAddToDict - ( - "useSigma", - this->coeffDict_, - false - ) - ), Cd1_ ( - useSigma_ ? + this->useSigma_ ? dimensioned::getOrAddToDict ( "Cd1Sigma", @@ -185,7 +179,6 @@ bool SpalartAllmarasDDES::read() { if (SpalartAllmarasDES::read()) { - useSigma_.readIfPresent("useSigma", this->coeffDict()); Cd1_.readIfPresent(this->coeffDict()); Cd2_.readIfPresent(this->coeffDict()); diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H index 5f6c652add..17d3ede0ee 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H @@ -72,7 +72,7 @@ class SpalartAllmarasDDES { // Private Member Functions - //- Delay function + //- Shielding function tmp fd(const volScalarField& magGradU) const; //- No copy construct @@ -86,9 +86,6 @@ protected: // Protected data - //- Switch to activate grey-area enhanced sigma-DDES - Switch useSigma_; - // Model coefficients dimensionedScalar Cd1_; @@ -97,6 +94,7 @@ protected: // Protected Member Functions + //- Production term virtual tmp Stilda ( const volScalarField& chi, diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C index 3de6413d39..3d9b3d6704 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C @@ -95,6 +95,46 @@ tmp SpalartAllmarasDES::lengthScaleLES } +template +tmp SpalartAllmarasDES::Stilda +( + const volScalarField& chi, + const volScalarField& fv1, + const volTensorField& gradU, + const volScalarField& dTilda +) const +{ + if (useSigma_) + { + const volScalarField& lRAS = this->y_; + const volScalarField fv2(this->fv2(chi, fv1)); + const volScalarField lLES(this->lengthScaleLES(chi, fv1)); + const volScalarField Omega(this->Omega(gradU)); + const volScalarField Ssigma(this->Ssigma(gradU)); + const volScalarField SsigmaDES + ( + pos(dTilda - lRAS)*Omega + (scalar(1) - pos(dTilda - lRAS))*Ssigma + ); + + return + max + ( + SsigmaDES + fv2*this->nuTilda_/sqr(this->kappa_*dTilda), + this->Cs_*SsigmaDES + ); + } + + return + SpalartAllmarasBase>::Stilda + ( + chi, + fv1, + gradU, + dTilda + ); +} + + template tmp SpalartAllmarasDES::dTilda ( @@ -139,6 +179,15 @@ SpalartAllmarasDES::SpalartAllmarasDES propertiesName ), + useSigma_ + ( + Switch::getOrAddToDict + ( + "useSigma", + this->coeffDict_, + false + ) + ), CDES_ ( dimensioned::getOrAddToDict @@ -190,6 +239,7 @@ bool SpalartAllmarasDES::read() { if (SpalartAllmarasBase>::read()) { + useSigma_.readIfPresent("useSigma", this->coeffDict()); CDES_.readIfPresent(this->coeffDict()); lowReCorrection_.readIfPresent("lowReCorrection", this->coeffDict()); fwStar_.readIfPresent(this->coeffDict()); diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.H b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.H index 8069f66ec7..6936c59f03 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.H @@ -96,6 +96,9 @@ protected: // Protected data + //- Switch to activate grey-area enhanced sigma-(D)DES + Switch useSigma_; + // Model constants // DES coefficient @@ -108,7 +111,7 @@ protected: // Protected Member Functions - //- Shielding function + //- Low Reynolds number correction function virtual tmp psi ( const volScalarField& chi, @@ -122,6 +125,15 @@ protected: const volScalarField& fv1 ) const; + //- Production term + virtual tmp Stilda + ( + const volScalarField& chi, + const volScalarField& fv1, + const volTensorField& gradU, + const volScalarField& dTilda + ) const; + //- Length scale virtual tmp dTilda ( diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C index 445c4de7fe..2eff1bb0d5 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C @@ -58,20 +58,18 @@ tmp kOmegaSSTDDES::S2 ) const { tmp tS2 = - this->kOmegaSSTDES::S2(F1, gradU); + kOmegaSSTBase>::S2(F1, gradU); - if (useSigma_) + if (this->useSigma_) { volScalarField& S2 = tS2.ref(); const volScalarField CDES(this->CDES(F1)); const volScalarField Ssigma(this->Ssigma(gradU)); S2 -= - ( - fd(mag(gradU)) - *pos(this->lengthScaleRAS() - this->lengthScaleLES(CDES)) - *(S2 - sqr(Ssigma)) - ); + fd(mag(gradU)) + *pos(this->lengthScaleRAS() - this->lengthScaleLES(CDES)) + *(S2 - sqr(Ssigma)); } return tS2; @@ -104,21 +102,13 @@ tmp kOmegaSSTDDES::GbyNu0 const volScalarField& S2 ) const { - tmp tGbyNu0 = - this->kOmegaSSTDES::GbyNu0(gradU, F1, S2); - - if (useSigma_) + if (this->useSigma_) { - volScalarField::Internal& GbyNu0 = tGbyNu0.ref(); - const volScalarField CDES(this->CDES(F1)); - - GbyNu0 -= - fd(mag(gradU))()() - *pos(this->lengthScaleRAS()()() - this->lengthScaleLES(CDES)()()) - *(GbyNu0 - S2()); + return S2(); } - return tGbyNu0; + return + kOmegaSSTBase>::GbyNu0(gradU, F1, S2); } @@ -161,18 +151,9 @@ kOmegaSSTDDES::kOmegaSSTDDES type ), - useSigma_ - ( - Switch::getOrAddToDict - ( - "useSigma", - this->coeffDict_, - false - ) - ), Cd1_ ( - useSigma_ ? + this->useSigma_ ? dimensioned::getOrAddToDict ( "Cd1Sigma", diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H index 6a6369121f..f572216a3a 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H @@ -70,6 +70,7 @@ class kOmegaSSTDDES { // Private Member Functions + //- Shielding function tmp fd(const volScalarField& magGradU) const; //- No copy construct @@ -83,9 +84,6 @@ protected: // Protected data - //- Switch to activate grey-area enhanced sigma-DDES - Switch useSigma_; - // Model coefficients dimensionedScalar Cd1_; diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C index 7518509a30..edae6c7b57 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C @@ -75,6 +75,33 @@ tmp kOmegaSSTDES::r } +template +tmp kOmegaSSTDES::S2 +( + const volScalarField& F1, + const volTensorField& gradU +) const +{ + tmp tS2 = + kOmegaSSTBase>::S2(F1, gradU); + + if (this->useSigma_) + { + volScalarField& S2 = tS2.ref(); + const volScalarField CDES(this->CDES(F1)); + const volScalarField dTilda(this->dTilda(mag(gradU), CDES)); + const volScalarField lengthScaleRAS(this->lengthScaleRAS()); + const volScalarField Ssigma(this->Ssigma(gradU)); + + S2 = + pos(dTilda - lengthScaleRAS)*S2 + + (scalar(1) - pos(dTilda - lengthScaleRAS))*sqr(Ssigma); + } + + return tS2; +} + + template tmp kOmegaSSTDES::dTilda ( @@ -98,6 +125,24 @@ tmp kOmegaSSTDES::epsilonByk } +template +tmp kOmegaSSTDES::GbyNu0 +( + const volTensorField& gradU, + const volScalarField& F1, + const volScalarField& S2 +) const +{ + if (this->useSigma_) + { + return S2(); + } + + return + kOmegaSSTBase>::GbyNu0(gradU, F1, S2); +} + + template tmp kOmegaSSTDES::GbyNu ( @@ -137,6 +182,15 @@ kOmegaSSTDES::kOmegaSSTDES propertiesName ), + useSigma_ + ( + Switch::getOrAddToDict + ( + "useSigma", + this->coeffDict_, + false + ) + ), kappa_ ( dimensioned::getOrAddToDict @@ -188,6 +242,7 @@ bool kOmegaSSTDES::read() { if (kOmegaSSTBase>::read()) { + useSigma_.readIfPresent("useSigma", this->coeffDict()); kappa_.readIfPresent(this->coeffDict()); CDESkom_.readIfPresent(this->coeffDict()); CDESkeps_.readIfPresent(this->coeffDict()); diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H index fd7d9b7587..114633c919 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H @@ -86,9 +86,14 @@ protected: // Protected data + //- Switch to activate grey-area enhanced sigma-(D)DES + Switch useSigma_; + // Model coefficients dimensionedScalar kappa_; + + //- DES coefficients dimensionedScalar CDESkom_; dimensionedScalar CDESkeps_; @@ -110,6 +115,13 @@ protected: const volScalarField& magGradU ) const; + //- Return square of strain rate + virtual tmp S2 + ( + const volScalarField& F1, + const volTensorField& gradU + ) const; + //- Length scale virtual tmp dTilda ( @@ -124,6 +136,14 @@ protected: const volTensorField& gradU ) const; + //- Return (G/nu)_0 + virtual tmp GbyNu0 + ( + const volTensorField& gradU, + const volScalarField& F1, + const volScalarField& S2 + ) const; + //- Return G/nu virtual tmp GbyNu ( From 12ba22bebfa430f0a352f75474aa28c6c2a381ba Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Wed, 10 Aug 2022 10:29:13 +0100 Subject: [PATCH 15/24] ENH: DESModel - stabilisation of Ssigma function - Code supplied by Marian Fuchs, Upstream CFD GmbH --- .../turbulenceModels/DES/DESModel/DESModel.C | 54 +++++++++---------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C index b74b937ab0..f330aecfcf 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C +++ b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C @@ -91,36 +91,35 @@ tmp DESModel::Ssigma const dimensionedScalar& coeff ) { - const volTensorField G(gradU.T() & gradU); + // Limiter + const dimensionedScalar eps0("eps0", dimless, SMALL); + const dimensionedScalar eps2("eps2", dimless/sqr(dimTime), SMALL); + const dimensionedScalar eps4("eps4", dimless/pow4(dimTime), SMALL); + const dimensionedScalar max2("max2", dimless/sqr(dimTime), GREAT); + const dimensionedTensor maxTen2 + ( + "maxTen2", + dimless/sqr(dimTime), + tensor::max + ); + const dimensionedTensor minTen2 + ( + "minTen2", + dimless/sqr(dimTime), + tensor::min + ); + + const volTensorField G(max(min(gradU.T() & gradU, maxTen2), minTen2)); // Tensor invariants const volScalarField I1(tr(G)); - const volScalarField I2(0.5*(sqr(tr(G)) - tr(G & G))); + const volScalarField I2(0.5*(sqr(I1) - tr(G & G))); const volScalarField I3(det(G)); - const volScalarField alpha1 - ( - max - ( - sqr(I1)/9.0 - I2/3.0, - dimensionedScalar("SMALL", dimless/pow4(dimTime), SMALL) - ) - ); + const volScalarField alpha1(max(sqr(I1)/9.0 - I2/3.0, eps4)); - const volScalarField alpha2 - ( - pow3 - ( - min - ( - I1, - dimensionedScalar("GREAT", dimless/sqr(dimTime), GREAT) - ) - )/27.0 - - I1*I2/6.0 + I3/2.0 - ); + const volScalarField alpha2(pow3(min(I1, max2))/27.0 - I1*I2/6.0 + I3/2.0); - const dimensionedScalar eps0("SMALL", dimless, SMALL); const volScalarField alpha3 ( 1.0/3.0 @@ -134,19 +133,18 @@ tmp DESModel::Ssigma ) ); - const dimensionedScalar sig0("SMALL", dimless/sqr(dimTime), SMALL); const scalar piBy3 = constant::mathematical::pi/3.0; const volScalarField sigma1 ( - sqrt(max(I1/3.0 + 2.0*sqrt(alpha1)*cos(alpha3), sig0)) + sqrt(max(I1/3.0 + 2.0*sqrt(alpha1)*cos(alpha3), eps2)) ); const volScalarField sigma2 ( - sqrt(max(I1/3.0 - 2.0*sqrt(alpha1)*cos(piBy3 + alpha3), sig0)) + sqrt(max(I1/3.0 - 2.0*sqrt(alpha1)*cos(piBy3 + alpha3), eps2)) ); const volScalarField sigma3 ( - sqrt(max(I1/3.0 - 2.0*sqrt(alpha1)*cos(piBy3 - alpha3), sig0)) + sqrt(max(I1/3.0 - 2.0*sqrt(alpha1)*cos(piBy3 - alpha3), eps2)) ); return @@ -154,7 +152,7 @@ tmp DESModel::Ssigma *sigma3 *(sigma1 - sigma2) *(sigma2 - sigma3) - /max(sqr(sigma1), sig0); + /max(sqr(sigma1), eps2); } From e0f39930452862d229cbcb3929b6e2bf96a26e79 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Fri, 20 May 2022 17:41:59 +0100 Subject: [PATCH 16/24] ENH: scalar - added readOrDefault(is, defaultValue) function --- src/OpenFOAM/primitives/Scalar/scalar/scalar.C | 18 ++++++++++++++++++ src/OpenFOAM/primitives/Scalar/scalar/scalar.H | 6 ++++++ 2 files changed, 24 insertions(+) diff --git a/src/OpenFOAM/primitives/Scalar/scalar/scalar.C b/src/OpenFOAM/primitives/Scalar/scalar/scalar.C index 0038b1d642..30b9127fc1 100644 --- a/src/OpenFOAM/primitives/Scalar/scalar/scalar.C +++ b/src/OpenFOAM/primitives/Scalar/scalar/scalar.C @@ -40,6 +40,24 @@ Foam::scalar Foam::readScalar(Istream& is) } +Foam::scalar Foam::readScalarOrDefault(Istream& is, const scalar defaultValue) +{ + if (is.good()) + { + token tok(is); + + if (tok.isNumber()) + { + return tok.scalarToken(); + } + + is.putBack(tok); + } + + return defaultValue; +} + + Foam::scalar Foam::readRawScalar(Istream& is) { scalar val(0); diff --git a/src/OpenFOAM/primitives/Scalar/scalar/scalar.H b/src/OpenFOAM/primitives/Scalar/scalar/scalar.H index 58bb002e98..cd5d155043 100644 --- a/src/OpenFOAM/primitives/Scalar/scalar/scalar.H +++ b/src/OpenFOAM/primitives/Scalar/scalar/scalar.H @@ -103,6 +103,9 @@ namespace Foam //- Read scalar from stream. scalar readScalar(Istream& is); + //- Read scalar from stream if present or return default value + scalar readScalarOrDefault(Istream& is, const scalar defaultValue); + //- Read raw scalar from binary stream. // \note No internal check for binary vs ascii, // the caller knows what they are doing @@ -172,6 +175,9 @@ namespace Foam //- Read scalar from stream. scalar readScalar(Istream& is); + //- Read scalar from stream if present or return default value + scalar readScalarOrDefault(Istream& is, const scalar defaultValue); + //- Read raw scalar from binary stream. // \note No internal check for binary vs ascii, // the caller knows what they are doing From c039a09e715f678d51e69868c3d747fc55a3103f Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Fri, 20 May 2022 17:44:12 +0100 Subject: [PATCH 17/24] ENH: DEShybrid - restored inputs for backwards compatibility --- .../schemes/DEShybrid/DEShybrid.H | 31 ++++++++++++++++--- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H b/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H index 6d06ef945f..0f0b19d824 100644 --- a/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H +++ b/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H @@ -83,6 +83,7 @@ Description linear // scheme 1 linearUpwind grad(U) // scheme 2 delta // LES delta name, e.g. 'delta', 'hmax' + 0.65 // CDES coefficient 30 // Reference velocity scale 2 // Reference length scale 0 // Minimum sigma limit (0-1) @@ -151,6 +152,9 @@ class DEShybrid //- Name of the LES delta field word deltaName_; + //- DES coefficient + scalar CDES_; + //- Reference velocity scale [m/s] dimensionedScalar U0_; @@ -173,7 +177,6 @@ class DEShybrid scalar CH1_; scalar CH2_; scalar CH3_; - scalar CDES_; scalar Cs_; //- No copy construct @@ -223,6 +226,24 @@ class DEShybrid << "sigmaMax coefficient must be <= 1. " << "Current value: " << sigmaMax_ << exit(FatalError); } + + if (debug) + { + Info<< type() << "coefficients:" << nl + << " delta : " << deltaName_ << nl + << " CDES : " << CDES_ << nl + << " U0 : " << U0_ << nl + << " LO : " << L0_ << nl + << " sigmaMin : " << sigmaMin_ << nl + << " sigmaMax : " << sigmaMax_ << nl + << " OmegaLim : " << OmegaLim_ << nl + << " nutLim : " << nutLim_ << nl + << " CH1 : " << CH1_ << nl + << " CH2 : " << CH2_ << nl + << " CH3 : " << CH3_ << nl + << " Cs : " << Cs_ << nl + << endl; + } } @@ -313,16 +334,16 @@ public: tScheme1_(surfaceInterpolationScheme::New(mesh, is)), tScheme2_(surfaceInterpolationScheme::New(mesh, is)), deltaName_(is), + CDES_(readScalar(is)), U0_("U0", dimLength/dimTime, readScalar(is)), L0_("L0", dimLength, readScalar(is)), sigmaMin_(readScalar(is)), sigmaMax_(readScalar(is)), OmegaLim_(readScalar(is)), - nutLim_(readScalar(is)), + nutLim_(readScalarOrDefault(is, scalar(1))), CH1_(3.0), CH2_(1.0), CH3_(2.0), - CDES_(0.65), Cs_(0.18) { checkValues(); @@ -346,16 +367,16 @@ public: surfaceInterpolationScheme::New(mesh, faceFlux, is) ), deltaName_(is), + CDES_(readScalar(is)), U0_("U0", dimLength/dimTime, readScalar(is)), L0_("L0", dimLength, readScalar(is)), sigmaMin_(readScalar(is)), sigmaMax_(readScalar(is)), OmegaLim_(readScalar(is)), - nutLim_(readScalar(is)), + nutLim_(readScalarOrDefault(is, scalar(1))), CH1_(3.0), CH2_(1.0), CH3_(2.0), - CDES_(0.65), Cs_(0.18) { checkValues(); From 9557cde880d739baf0154340bf7af45b3dc2b1fa Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Wed, 10 Aug 2022 11:32:35 +0100 Subject: [PATCH 18/24] STYLE: Minor code formatting --- .../finiteVolume/fvc/fvcSmooth/fvcSmooth.C | 8 +++-- .../finiteVolume/fvc/fvcSmooth/fvcSmooth.H | 33 ++++++++++--------- 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/src/finiteVolume/finiteVolume/fvc/fvcSmooth/fvcSmooth.C b/src/finiteVolume/finiteVolume/fvc/fvcSmooth/fvcSmooth.C index 4a1d476c22..befe5e3181 100644 --- a/src/finiteVolume/finiteVolume/fvc/fvcSmooth/fvcSmooth.C +++ b/src/finiteVolume/finiteVolume/fvc/fvcSmooth/fvcSmooth.C @@ -348,7 +348,7 @@ void Foam::fvc::spreadSource zeroGradientFvPatchField::typeName ); - //- Smearing of source term field + // Smearing of source term field fvScalarMatrix mSourceEqn ( fvm::Sp(scalar(1), mDotSmear) @@ -384,7 +384,7 @@ void Foam::fvc::spreadSource reduce(intvDotVapor.value(), sumOp()); reduce(intvDotLiquid.value(), sumOp()); - //- Calculate Nl and Nv + // Calculate Nl and Nv dimensionedScalar Nl ("Nl", dimless, Zero); dimensionedScalar Nv ("Nv", dimless, Zero); @@ -399,7 +399,7 @@ void Foam::fvc::spreadSource Nl = intmSource0/intvDotLiquid; } - //- Set source terms in cells with alpha1 < cutoff or alpha1 > 1-cutoff + // Set source terms in cells with alpha1 < cutoff or alpha1 > 1-cutoff forAll(mesh.C(), celli) { if (alpha1[celli] < cutoff) @@ -417,4 +417,6 @@ void Foam::fvc::spreadSource } } } + + // ************************************************************************* // diff --git a/src/finiteVolume/finiteVolume/fvc/fvcSmooth/fvcSmooth.H b/src/finiteVolume/finiteVolume/fvc/fvcSmooth/fvcSmooth.H index 6c2cb05fee..d85bc3ab33 100644 --- a/src/finiteVolume/finiteVolume/fvc/fvcSmooth/fvcSmooth.H +++ b/src/finiteVolume/finiteVolume/fvc/fvcSmooth/fvcSmooth.H @@ -32,24 +32,27 @@ Description Provides functions smooth spread and sweep which use the FaceCellWave algorithm to smooth and redistribute the first field argument. - smooth: smooths the field by ensuring the values in neighbouring cells are - at least coeff* the cell value. + smooth: + smooths the field by ensuring the values in neighbouring cells are + at least coeff* the cell value. - spread: redistributes the field by spreading the maximum value within the - region defined by the value (being between alphaMax and alphaMin) - and gradient of alpha (where the difference between the values in - neighbouring cells is larger than alphaDiff). + spread: + redistributes the field by spreading the maximum value within the + region defined by the value (being between alphaMax and alphaMin) + and gradient of alpha (where the difference between the values in + neighbouring cells is larger than alphaDiff). - sweep: redistributes the field by sweeping the maximum value where the - gradient of alpha is large (where the difference between the values - in neighbouring cells is larger than alphaDiff) away from that - starting point of the sweep. + sweep: + redistributes the field by sweeping the maximum value where the + gradient of alpha is large (where the difference between the values + in neighbouring cells is larger than alphaDiff) away from that + starting point of the sweep. - - spreadSource: spread a source field (mDotIn) for two phase multiphase using - a laplacian operator and diffussivity D. - The spread source (mDotOut) is distributed from alpha1 < cutoff - to alpha1 > 1 - cutoff, and it is zero across the interface + spreadSource: + spread a source field (mDotIn) for two phase multiphase using + a laplacian operator and diffusivity D. + The spread source (mDotOut) is distributed from alpha1 < cutoff + to alpha1 > 1 - cutoff, and it is zero across the interface SourceFiles fvcSmooth.C From 7db69fc22e1112907bc01a4c5535bfc1e22dc399 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Mon, 20 Jun 2022 20:54:35 +0100 Subject: [PATCH 19/24] ENH: DES models - added access function for shielding function, fd --- .../turbulenceModels/DES/DESModel/DESModel.C | 19 +++++++++++++++++++ .../turbulenceModels/DES/DESModel/DESModel.H | 5 ++++- .../DES/DESModel/DESModelBase.C | 10 ---------- .../DES/DESModel/DESModelBase.H | 8 +++++--- .../SpalartAllmarasDDES/SpalartAllmarasDDES.C | 7 +++++++ .../SpalartAllmarasDDES/SpalartAllmarasDDES.H | 3 +++ .../SpalartAllmarasIDDES.C | 11 +++++++++++ .../SpalartAllmarasIDDES.H | 3 +++ .../DES/kOmegaSSTDDES/kOmegaSSTDDES.C | 7 +++++++ .../DES/kOmegaSSTDDES/kOmegaSSTDDES.H | 3 +++ .../DES/kOmegaSSTDES/kOmegaSSTDES.H | 2 +- .../DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C | 11 +++++++++++ .../DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H | 3 +++ 13 files changed, 77 insertions(+), 15 deletions(-) diff --git a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C index f330aecfcf..b216cf1f20 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C +++ b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C @@ -166,6 +166,25 @@ tmp DESModel::Ssigma } +template +tmp DESModel::fd() const +{ + return tmp::New + ( + IOobject + ( + "fd", + this->mesh_.time().timeName(), + this->mesh_, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + this->mesh_, + dimensionedScalar(dimless, Zero) + ); +} + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace LESModels diff --git a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.H b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.H index 9570a12bb9..1efac2db0f 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.H +++ b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.H @@ -120,7 +120,10 @@ public: //- Return modified strain rate // Note: uses Ctrans_ coefficient - tmp Ssigma(const volTensorField& gradU) const; + virtual tmp Ssigma(const volTensorField& gradU) const; + + //- Return the shielding function + virtual tmp fd() const; }; diff --git a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModelBase.C b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModelBase.C index 911c1411a8..c99fdcad27 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModelBase.C +++ b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModelBase.C @@ -23,16 +23,6 @@ License You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see . -Class - Foam::DESModelBase - -Description - Base class for DES models providing an interfaces to the LESRegion - function. - -SourceFiles - DESModelBase.C - \*---------------------------------------------------------------------------*/ #include "DESModelBase.H" diff --git a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModelBase.H b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModelBase.H index c437ec6c28..fa16efe5d1 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModelBase.H +++ b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModelBase.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,8 +28,7 @@ Class Foam::DESModelBase Description - Base class for DES models providing an interfaces to the LESRegion - function. + Base class for DES models providing an interfaces to DES fields. SourceFiles DESModelBase.C @@ -70,6 +69,9 @@ public: //- Return the LES field indicator virtual tmp LESRegion() const = 0; + + //- Return the shielding function + virtual tmp fd() const = 0; }; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C index 4c75b3c72d..1eec436b36 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C @@ -189,6 +189,13 @@ bool SpalartAllmarasDDES::read() } +template +tmp SpalartAllmarasDDES::fd() const +{ + return fd(mag(fvc::grad(this->U_))); +} + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace LESModels diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H index 17d3ede0ee..61b4241237 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H @@ -147,6 +147,9 @@ public: //- Read from dictionary virtual bool read(); + + //- Return the shielding function + virtual tmp fd() const; }; diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C index 03f7ea3517..514c894e5a 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C @@ -236,6 +236,17 @@ bool SpalartAllmarasIDDES::read() } +template +tmp SpalartAllmarasIDDES::fd() const +{ + const volScalarField alpha(this->alpha()); + const volScalarField expTerm(exp(sqr(alpha))); + + tmp fB = min(2*pow(expTerm, -9.0), scalar(1)); + return max(1 - fdt(mag(fvc::grad(this->U_))), fB); +} + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace LESModels diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H index 470a05647f..f3901ad5fe 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H @@ -153,6 +153,9 @@ public: //- Re-read model coefficients if they have changed virtual bool read(); + + //- Return the shielding function + virtual tmp fd() const; }; diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C index 2eff1bb0d5..16907d266d 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C @@ -201,6 +201,13 @@ bool kOmegaSSTDDES::read() } +template +tmp kOmegaSSTDDES::fd() const +{ + return fd(mag(fvc::grad(this->U_))); +} + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace LESModels diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H index f572216a3a..54e4c711a1 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H @@ -157,6 +157,9 @@ public: //- Re-read model coefficients if they have changed virtual bool read(); + + //- Return the shielding function + virtual tmp fd() const; }; diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H index 114633c919..b6b035cfca 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H @@ -93,7 +93,7 @@ protected: dimensionedScalar kappa_; - //- DES coefficients + //- DES coefficients dimensionedScalar CDESkom_; dimensionedScalar CDESkeps_; diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C index 5b18937f9e..c955da5132 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C @@ -231,6 +231,17 @@ bool kOmegaSSTIDDES::read() } +template +tmp kOmegaSSTIDDES::fd() const +{ + const volScalarField alpha(this->alpha()); + const volScalarField expTerm(exp(sqr(alpha))); + + tmp fB = min(2*pow(expTerm, -9.0), scalar(1)); + return max(1 - fdt(mag(fvc::grad(this->U_))), fB); +} + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace LESModels diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H index 7b9d4b7d05..d5695afba8 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H @@ -149,6 +149,9 @@ public: //- Re-read model coefficients if they have changed virtual bool read(); + + //- Return the shielding function + virtual tmp fd() const; }; From 81f783286c8a0347cf63f4144f8cf2f276eeb5c7 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Mon, 20 Jun 2022 20:55:08 +0100 Subject: [PATCH 20/24] ENH: turbulenceFields FO - added LESRegion and DES shielding function, fd --- .../field/turbulenceFields/turbulenceFields.C | 67 ++++++++++++++++++- .../field/turbulenceFields/turbulenceFields.H | 8 ++- 2 files changed, 72 insertions(+), 3 deletions(-) diff --git a/src/functionObjects/field/turbulenceFields/turbulenceFields.C b/src/functionObjects/field/turbulenceFields/turbulenceFields.C index b8bf12f982..aa519db3f9 100644 --- a/src/functionObjects/field/turbulenceFields/turbulenceFields.C +++ b/src/functionObjects/field/turbulenceFields/turbulenceFields.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2016 OpenFOAM Foundation - Copyright (C) 2015-2021 OpenCFD Ltd. + Copyright (C) 2015-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -29,6 +29,7 @@ License #include "turbulenceFields.H" #include "turbulentTransportModel.H" #include "turbulentFluidThermoModel.H" +#include "DESModelBase.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -60,6 +61,8 @@ Foam::functionObjects::turbulenceFields::compressibleFieldNames_ { compressibleField::cfDevRhoReff, "devRhoReff" }, { compressibleField::cfL, "L" }, { compressibleField::cfI, "I" }, + { compressibleField::cfLESRegion, "LESRegion" }, + { compressibleField::cffd, "fd" }, }); @@ -79,6 +82,8 @@ Foam::functionObjects::turbulenceFields::incompressibleFieldNames_ { incompressibleField::ifDevReff, "devReff" }, { incompressibleField::ifL, "L" }, { incompressibleField::ifI, "I" }, + { incompressibleField::ifLESRegion, "LESRegion" }, + { incompressibleField::iffd, "fd" }, }); @@ -267,6 +272,36 @@ bool Foam::functionObjects::turbulenceFields::execute() processField(f, I(model)); break; } + case cfLESRegion: + { + auto* DESPtr = mesh_.cfindObject(modelName_); + if (!DESPtr) + { + WarningInFunction + << "Turbulence model is not a DES model - " + << "skipping request for LESRegion" << endl; + + break; + } + + processField(f, DESPtr->LESRegion()); + break; + } + case cffd: + { + auto* DESPtr = mesh_.cfindObject(modelName_); + if (!DESPtr) + { + WarningInFunction + << "Turbulence model is not a DES model - " + << "skipping request for fd" << endl; + + break; + } + + processField(f, DESPtr->fd()); + break; + } default: { FatalErrorInFunction @@ -334,6 +369,36 @@ bool Foam::functionObjects::turbulenceFields::execute() processField(f, I(model)); break; } + case ifLESRegion: + { + auto* DESPtr = mesh_.cfindObject(modelName_); + if (!DESPtr) + { + WarningInFunction + << "Turbulence model is not a DES model - " + << "skipping request for LESRegion" << endl; + + break; + } + + processField(f, DESPtr->LESRegion()); + break; + } + case iffd: + { + auto* DESPtr = mesh_.cfindObject(modelName_); + if (!DESPtr) + { + WarningInFunction + << "Turbulence model is not a DES model - " + << "skipping request for fd" << endl; + + break; + } + + processField(f, DESPtr->fd()); + break; + } default: { FatalErrorInFunction diff --git a/src/functionObjects/field/turbulenceFields/turbulenceFields.H b/src/functionObjects/field/turbulenceFields/turbulenceFields.H index de483bfa3c..9061a63595 100644 --- a/src/functionObjects/field/turbulenceFields/turbulenceFields.H +++ b/src/functionObjects/field/turbulenceFields/turbulenceFields.H @@ -182,7 +182,9 @@ public: cfR, //!< "Reynolds stress tensor" cfDevRhoReff, //!< "Divergence of the Reynolds stress" cfL, //!< "Integral-length/Mixing-length scale" - cfI //!< "Turbulence intensity" + cfI, //!< "Turbulence intensity" + cfLESRegion, //!< "DES model LES region indicator field" + cffd //!< "DES model shielding function" }; //- Names for compressibleField turbulence fields @@ -200,7 +202,9 @@ public: ifR, //!< "Reynolds stress tensor" ifDevReff, //!< "Deviatoric part of the effective Reynolds stress" ifL, //!< "Integral-length/Mixing-length scale" - ifI //!< "Turbulence intensity" + ifI, //!< "Turbulence intensity" + ifLESRegion, //!< "DES model LES region indicator field" + iffd //!< "DES model shielding function" }; //- Names for incompressibleField turbulence fields From 32507b3251a9b99aee5c4ca94facc1d6c08ce2e6 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Wed, 10 Aug 2022 10:31:38 +0100 Subject: [PATCH 21/24] TUT: vortexShed case - added turbulenceFields example --- .../pimpleFoam/LES/vortexShed/system/controlDict | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/controlDict b/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/controlDict index 79bf3eee2e..e567071068 100644 --- a/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/controlDict +++ b/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/controlDict @@ -46,6 +46,15 @@ runTimeModifiable true; functions { + turbulenceFields1 + { + type turbulenceFields; + libs (fieldFunctionObjects); + writeControl writeTime; + + fields (fd LESRegion); + } + minMax1 { libs (fieldFunctionObjects); From 493bfdbdc4c9b3d3fce29482427ac09d5806bffd Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Thu, 25 Aug 2022 09:59:01 +0100 Subject: [PATCH 22/24] ENH: DEShybrid - code refactoring/simplification --- .../schemes/DEShybrid/DEShybrid.H | 37 ++++++------------- src/TurbulenceModels/schemes/Make/options | 14 +------ 2 files changed, 14 insertions(+), 37 deletions(-) diff --git a/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H b/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H index 0f0b19d824..9f8e148709 100644 --- a/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H +++ b/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H @@ -120,8 +120,7 @@ SourceFiles #include "surfaceInterpolate.H" #include "fvcGrad.H" #include "blendedSchemeBase.H" -#include "turbulentTransportModel.H" -#include "turbulentFluidThermoModel.H" +#include "turbulenceModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -393,38 +392,26 @@ public: { const fvMesh& mesh = this->mesh(); - typedef compressible::turbulenceModel cmpModel; - typedef incompressible::turbulenceModel icoModel; + // Retrieve LES delta from the mesh database + const auto& delta = + mesh.lookupObject(deltaName_); - // Lookup the LES delta from the mesh database - const volScalarField& delta = this->mesh().template - lookupObject(deltaName_); + // Retrieve turbulence model from the mesh database + const auto* modelPtr = + mesh.cfindObject + ( + turbulenceModel::propertiesName + ); - // Could avoid the compressible/incompressible case by looking - // up all fields from the database - but retrieving from model - // ensures consistent fields are being employed e.g. for multiphase - // where group name is used - - if (mesh.foundObject(icoModel::propertiesName)) + if (modelPtr) { - const icoModel& model = - mesh.lookupObject(icoModel::propertiesName); + const auto& model = *modelPtr; return calcBlendingFactor ( vf, model.nut(), model.nu(), model.U(), delta ); } - else if (mesh.foundObject(cmpModel::propertiesName)) - { - const cmpModel& model = - mesh.lookupObject(cmpModel::propertiesName); - - return calcBlendingFactor - ( - vf, model.nut(), model.mu()/model.rho(), model.U(), delta - ); - } FatalErrorInFunction << "Scheme requires a turbulence model to be present. " diff --git a/src/TurbulenceModels/schemes/Make/options b/src/TurbulenceModels/schemes/Make/options index 9fad3f2dcb..6f49e29fab 100644 --- a/src/TurbulenceModels/schemes/Make/options +++ b/src/TurbulenceModels/schemes/Make/options @@ -1,19 +1,9 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ - -I$(LIB_SRC)/transportModels \ - -I$(LIB_SRC)/transportModels/compressible/lnInclude \ - -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ - -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \ - -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude + -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude LIB_LIBS = \ -lfiniteVolume \ -lmeshTools \ - -lcompressibleTransportModels \ - -lturbulenceModels \ - -lincompressibleTurbulenceModels \ - -lincompressibleTransportModels \ - -lcompressibleTurbulenceModels \ - -lfluidThermophysicalModels + -lturbulenceModels From 3a4537abc9c30f5940058510577eaaab8e86b14d Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin Date: Wed, 7 Sep 2022 14:51:42 +0100 Subject: [PATCH 23/24] STYLE: various simplifications and changes BUG: DEShybrid: reintroduce e28bed59 --- .../schemes/DEShybrid/DEShybrid.H | 137 +++++++++++------- .../SpalartAllmaras/SpalartAllmarasBase.C | 82 ++++++----- .../SpalartAllmaras/SpalartAllmarasBase.H | 38 +++-- .../Base/kOmegaSST/kOmegaSSTBase.C | 64 ++++---- .../Base/kOmegaSST/kOmegaSSTBase.H | 10 +- .../turbulenceModels/DES/DESModel/DESModel.C | 19 ++- .../turbulenceModels/DES/DESModel/DESModel.H | 6 +- .../SpalartAllmarasDDES/SpalartAllmarasDDES.C | 6 +- .../SpalartAllmarasDDES/SpalartAllmarasDDES.H | 21 +-- .../SpalartAllmarasDES/SpalartAllmarasDES.C | 2 +- .../SpalartAllmarasDES/SpalartAllmarasDES.H | 27 ++-- .../SpalartAllmarasIDDES.H | 15 +- .../DES/kOmegaSSTDDES/kOmegaSSTDDES.C | 6 +- .../DES/kOmegaSSTDDES/kOmegaSSTDDES.H | 18 ++- .../DES/kOmegaSSTDES/kOmegaSSTDES.C | 5 +- .../DES/kOmegaSSTDES/kOmegaSSTDES.H | 18 +-- .../DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C | 6 +- .../DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H | 24 +-- .../DeltaOmegaTildeDelta.C | 12 +- .../DeltaOmegaTildeDelta.H | 17 ++- .../LES/LESdeltas/SLADelta/SLADelta.C | 97 ++++++++----- .../LES/LESdeltas/SLADelta/SLADelta.H | 35 ++--- .../turbulenceModels/LES/sigma/sigma.C | 6 +- .../turbulenceModels/LES/sigma/sigma.H | 11 +- .../RAS/SpalartAllmaras/SpalartAllmaras.H | 14 +- 25 files changed, 389 insertions(+), 307 deletions(-) diff --git a/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H b/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H index 9f8e148709..ff82ef379b 100644 --- a/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H +++ b/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H @@ -30,7 +30,7 @@ Class Description Improved hybrid convection scheme of Travin et al. for hybrid RAS/LES - calculations with enhanced GAM behaviour. + calculations with enhanced Grey Area Mitigation (GAM) behaviour. The scheme provides a blend between two convection schemes, based on local properties including the wall distance, velocity gradient and eddy @@ -55,25 +55,26 @@ Description First published in: \verbatim - A. Travin, M. Shur, M. Strelets, P. Spalart (2000). - Physical and numerical upgrades in the detached-eddy simulation of - complex turbulent flows. - In Proceedings of the 412th Euromech Colloquium on LES and Complex - Transition and Turbulent Flows, Munich, Germany + Travin, A., Shur, M., Strelets, M., & Spalart, P. R. (2000). + Physical and numerical upgrades in the detached-eddy + simulation of complex turbulent flows. + In LES of Complex Transitional and Turbulent Flows. + Proceedings of the Euromech Colloquium 412. Munich, Germany \endverbatim - Original publication contained a typo for C_H3 constant. Corrected version - with minor changes for 2 lower limiters published in: + Original publication contained a typo for \c C_H3 constant. + Corrected version with minor changes for 2 lower limiters published in: \verbatim - P. Spalart, M. Shur, M. Strelets, A. Travin (2012). - Sensitivity of Landing-Gear Noise Predictions by Large-Eddy - Simulation to Numerics and Resolution. - AIAA Paper 2012-1174, 50th AIAA Aerospace Sciences Meeting, - Nashville / TN, Jan. 2012 + Spalart, P., Shur, M., Strelets, M., & Travin, A. (2012). + Sensitivity of landing-gear noise predictions by large-eddy + simulation to numerics and resolution. + In 50th AIAA Aerospace Sciences Meeting Including the + New Horizons Forum and Aerospace Exposition. Nashville, US. + DOI:10.2514/6.2012-1174 \endverbatim - Example of the DEShybrid scheme specification using linear within the LES - region and linearUpwind within the RAS region: + Example of the \c DEShybrid scheme specification using \c linear + within the LES region and \c linearUpwind within the RAS region: \verbatim divSchemes { @@ -100,12 +101,12 @@ Notes be used in the detached/vortex shedding regions. - Scheme 2 should be an upwind/deferred correction/TVD scheme which will be used in the free-stream/Euler/boundary layer regions. - - the scheme is compiled into a separate library, and not available to + - The scheme is compiled into a separate library, and not available to solvers by default. In order to use the scheme, add the library as a run-time loaded library in the \$FOAM\_CASE/system/controlDict dictionary, e.g.: \verbatim - libs ("libturbulenceModelSchemes.so"); + libs (turbulenceModelSchemes); \endverbatim SourceFiles @@ -187,6 +188,7 @@ class DEShybrid // Private Member Functions + //- Check the scheme coefficients void checkValues() { if (U0_.value() <= 0) @@ -231,8 +233,8 @@ class DEShybrid Info<< type() << "coefficients:" << nl << " delta : " << deltaName_ << nl << " CDES : " << CDES_ << nl - << " U0 : " << U0_ << nl - << " LO : " << L0_ << nl + << " U0 : " << U0_.value() << nl + << " L0 : " << L0_.value() << nl << " sigmaMin : " << sigmaMin_ << nl << " sigmaMax : " << sigmaMax_ << nl << " OmegaLim : " << OmegaLim_ << nl @@ -256,63 +258,95 @@ class DEShybrid const volScalarField& delta ) const { - tmp gradU(fvc::grad(U)); - const volScalarField S(sqrt(2.0)*mag(symm(gradU()))); - const volScalarField Omega(sqrt(2.0)*mag(skew(gradU()))); + tmp tgradU = fvc::grad(U); + const volTensorField& gradU = tgradU.cref(); + const volScalarField S(sqrt(2.0)*mag(symm(gradU))); + const volScalarField Omega(sqrt(2.0)*mag(skew(tgradU))); const dimensionedScalar tau0_ = L0_/U0_; - gradU.clear(); - const volScalarField B - ( + tmp tB = CH3_*Omega*max(S, Omega) - /max(0.5*(sqr(S) + sqr(Omega)), sqr(OmegaLim_/tau0_)) - ); + /max(0.5*(sqr(S) + sqr(Omega)), sqr(OmegaLim_/tau0_)); - const volScalarField K - ( - max(Foam::sqrt(0.5*(sqr(S) + sqr(Omega))), 0.1/tau0_) - ); + tmp tg = tanh(pow4(tB)); - const volScalarField lTurb - ( + tmp tK = + max(Foam::sqrt(0.5*(sqr(S) + sqr(Omega))), 0.1/tau0_); + + tmp tlTurb = Foam::sqrt ( max ( (max(nut, min(sqr(Cs_*delta)*S, nutLim_*nut)) + nu) - /(pow(0.09, 1.5)*K), + /(pow(0.09, 1.5)*tK), dimensionedScalar(sqr(dimLength), Zero) ) - ) - ); - - const volScalarField g(tanh(pow4(B))); + ); const volScalarField A ( CH2_*max ( scalar(0), - CDES_*delta/max(lTurb*g, SMALL*L0_) - 0.5 + CDES_*delta/max(tlTurb*tg, SMALL*L0_) - 0.5 ) ); - const volScalarField factor + + const word factorName(IOobject::scopedName(typeName, "Factor")); + const fvMesh& mesh = this->mesh(); + + const IOobject factorIO ( - IOobject::scopedName(typeName, "Factor"), - max(sigmaMax_*tanh(pow(A, CH1_)), sigmaMin_) + factorName, + mesh.time().timeName(), + mesh, + IOobject::NO_READ, + IOobject::NO_WRITE ); if (blendedSchemeBaseName::debug) { - factor.write(); - } + auto* factorPtr = mesh.getObjectPtr(factorName); - return tmp::New - ( - vf.name() + "BlendingFactor", - fvc::interpolate(factor) - ); + if (!factorPtr) + { + factorPtr = + new volScalarField + ( + factorIO, + mesh, + dimensionedScalar(dimless, Zero) + ); + + const_cast(mesh).objectRegistry::store(factorPtr); + } + + auto& factor = *factorPtr; + + factor = max(sigmaMax_*tanh(pow(A, CH1_)), sigmaMin_); + + return tmp::New + ( + vf.name() + "BlendingFactor", + fvc::interpolate(factor) + ); + } + else + { + const volScalarField factor + ( + factorIO, + max(sigmaMax_*tanh(pow(A, CH1_)), sigmaMin_) + ); + + return tmp::New + ( + vf.name() + "BlendingFactor", + fvc::interpolate(factor) + ); + } } @@ -434,10 +468,10 @@ public: //- Return the face-interpolate of the given cell field - // with explicit correction + //- with explicit correction tmp interpolate(const VolFieldType& vf) const { - surfaceScalarField bf(blendingFactor(vf)); + const surfaceScalarField bf(blendingFactor(vf)); return (scalar(1) - bf)*tScheme1_().interpolate(vf) @@ -498,4 +532,3 @@ public: #endif // ************************************************************************* // - diff --git a/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.C b/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.C index 47a4b7fbcf..48055970df 100644 --- a/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.C +++ b/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.C @@ -85,7 +85,8 @@ tmp SpalartAllmarasBase::ft2 "ft2", this->runTime_.timeName(), this->mesh_, - IOobject::NO_READ + IOobject::NO_READ, + IOobject::NO_WRITE ), this->mesh_, dimensionedScalar(dimless, Zero) @@ -111,7 +112,7 @@ tmp SpalartAllmarasBase::r const volScalarField& dTilda ) const { - const dimensionedScalar eps("SMALL", Stilda.dimensions(), SMALL); + const dimensionedScalar eps(Stilda.dimensions(), SMALL); tmp tr = min(nur/(max(Stilda, eps)*sqr(kappa_*dTilda)), scalar(10)); @@ -346,7 +347,7 @@ bool SpalartAllmarasBase::read() if (BasicEddyViscosityModel::read()) { sigmaNut_.readIfPresent(this->coeffDict()); - kappa_.readIfPresent(*this); + kappa_.readIfPresent(this->coeffDict()); Cb1_.readIfPresent(this->coeffDict()); Cb2_.readIfPresent(this->coeffDict()); @@ -355,14 +356,13 @@ bool SpalartAllmarasBase::read() Cw3_.readIfPresent(this->coeffDict()); Cv1_.readIfPresent(this->coeffDict()); Cs_.readIfPresent(this->coeffDict()); - ck_.readIfPresent(this->coeffDict()); ft2_.readIfPresent("ft2", this->coeffDict()); Ct3_.readIfPresent(this->coeffDict()); Ct4_.readIfPresent(this->coeffDict()); - if (mag(Ct3_.value()) > SMALL) + if (ft2_) { Info<< " ft2 term: active" << nl; } @@ -444,47 +444,49 @@ void SpalartAllmarasBase::correct() return; } - // Local references - const alphaField& alpha = this->alpha_; - const rhoField& rho = this->rho_; - const surfaceScalarField& alphaRhoPhi = this->alphaRhoPhi_; - const volVectorField& U = this->U_; - fv::options& fvOptions(fv::options::New(this->mesh_)); + { + // Local references + const alphaField& alpha = this->alpha_; + const rhoField& rho = this->rho_; + const surfaceScalarField& alphaRhoPhi = this->alphaRhoPhi_; + const volVectorField& U = this->U_; + fv::options& fvOptions(fv::options::New(this->mesh_)); - BasicEddyViscosityModel::correct(); + BasicEddyViscosityModel::correct(); - const volScalarField chi(this->chi()); - const volScalarField fv1(this->fv1(chi)); - const volScalarField ft2(this->ft2(chi)); + const volScalarField chi(this->chi()); + const volScalarField fv1(this->fv1(chi)); + const volScalarField ft2(this->ft2(chi)); - tmp tgradU = fvc::grad(U); - volScalarField dTilda(this->dTilda(chi, fv1, tgradU())); - volScalarField Stilda(this->Stilda(chi, fv1, tgradU(), dTilda)); - tgradU.clear(); + tmp tgradU = fvc::grad(U); + volScalarField dTilda(this->dTilda(chi, fv1, tgradU())); + volScalarField Stilda(this->Stilda(chi, fv1, tgradU(), dTilda)); + tgradU.clear(); - tmp nuTildaEqn - ( - fvm::ddt(alpha, rho, nuTilda_) - + fvm::div(alphaRhoPhi, nuTilda_) - - fvm::laplacian(alpha*rho*DnuTildaEff(), nuTilda_) - - Cb2_/sigmaNut_*alpha()*rho()*magSqr(fvc::grad(nuTilda_)()()) - == - Cb1_*alpha()*rho()*Stilda()*nuTilda_()*(scalar(1) - ft2()) - - fvm::Sp + tmp nuTildaEqn ( - (Cw1_*fw(Stilda, dTilda) - Cb1_/sqr(kappa_)*ft2()) - *alpha()*rho()*nuTilda_()/sqr(dTilda()), - nuTilda_ - ) - + fvOptions(alpha, rho, nuTilda_) - ); + fvm::ddt(alpha, rho, nuTilda_) + + fvm::div(alphaRhoPhi, nuTilda_) + - fvm::laplacian(alpha*rho*DnuTildaEff(), nuTilda_) + - Cb2_/sigmaNut_*alpha()*rho()*magSqr(fvc::grad(nuTilda_)()()) + == + Cb1_*alpha()*rho()*Stilda()*nuTilda_()*(scalar(1) - ft2()) + - fvm::Sp + ( + (Cw1_*fw(Stilda, dTilda) - Cb1_/sqr(kappa_)*ft2()) + *alpha()*rho()*nuTilda_()/sqr(dTilda()), + nuTilda_ + ) + + fvOptions(alpha, rho, nuTilda_) + ); - nuTildaEqn.ref().relax(); - fvOptions.constrain(nuTildaEqn.ref()); - solve(nuTildaEqn); - fvOptions.correct(nuTilda_); - bound(nuTilda_, dimensionedScalar(nuTilda_.dimensions(), Zero)); - nuTilda_.correctBoundaryConditions(); + nuTildaEqn.ref().relax(); + fvOptions.constrain(nuTildaEqn.ref()); + solve(nuTildaEqn); + fvOptions.correct(nuTilda_); + bound(nuTilda_, dimensionedScalar(nuTilda_.dimensions(), Zero)); + nuTilda_.correctBoundaryConditions(); + } correctNut(); } diff --git a/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.H b/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.H index 7b765c1f80..0cdf0f173a 100644 --- a/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.H +++ b/src/TurbulenceModels/turbulenceModels/Base/SpalartAllmaras/SpalartAllmarasBase.H @@ -31,15 +31,33 @@ Group grpDESTurbulence Description - SpalartAllmarasBase DES turbulence model for incompressible and - compressible flows + Base class to handle various characteristics for \c SpalartAllmaras based + LES/DES turbulence models for incompressible and compressible flows. - Reference: + References: \verbatim - Spalart, P. R., Jou, W. H., Strelets, M., & Allmaras, S. R. (1997). - Comments on the feasibility of LES for wings, and on a hybrid - RANS/LES approach. - Advances in DNS/LES, 1, 4-8. + Standard model: + Spalart, P.R., & Allmaras, S.R. (1994). + A one-equation turbulence model for aerodynamic flows. + La Recherche Aerospatiale, 1, 5-21. + + Standard model: + Spalart, P. R., Jou, W. H., Strelets, M., & Allmaras, S. R. (1997). + Comments on the feasibility of LES for wings, and on a hybrid + RANS/LES approach. + Advances in DNS/LES, 1, 4-8. + + Estimation expression for k and epsilon (tag:B), Eq. 4.50: + Bourgoin, A. (2019). + Bathymetry induced turbulence modelling the + Alderney Race site: regional approach with TELEMAC-LES. + Normandie Université. + + Estimation expressions for omega (tag:P): + Pope, S. B. (2000). + Turbulent flows. + Cambridge, UK: Cambridge Univ. Press + DOI:10.1017/CBO9780511840531 \endverbatim SourceFiles @@ -56,7 +74,7 @@ namespace Foam { /*---------------------------------------------------------------------------*\ - Class SpalartAllmarasBase Declaration + Class SpalartAllmarasBase Declaration \*---------------------------------------------------------------------------*/ template @@ -75,7 +93,7 @@ class SpalartAllmarasBase protected: - // Protected data + // Protected Data // Model constants @@ -98,6 +116,7 @@ protected: // Fields + //- Modified kinematic viscosity [m^2/s] volScalarField nuTilda_; //- Wall distance @@ -199,6 +218,7 @@ public: //- Return the (estimated) specific dissipation rate virtual tmp omega() const; + //- Return the modified kinematic viscosity tmp nuTilda() const { return nuTilda_; diff --git a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C index 9bee486c38..0f4b7756f6 100644 --- a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C +++ b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C @@ -6,8 +6,8 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. Copyright (C) 2022 Upstream CFD GmbH + Copyright (C) 2016-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -48,7 +48,7 @@ tmp kOmegaSSTBase::F1 tmp CDkOmegaPlus = max ( CDkOmega, - dimensionedScalar("1.0e-10", dimless/sqr(dimTime), 1.0e-10) + dimensionedScalar(dimless/sqr(dimTime), 1.0e-10) ); tmp arg1 = min @@ -406,6 +406,7 @@ kOmegaSSTBase::kOmegaSSTBase ), this->mesh_ ), + decayControl_ ( Switch::getOrAddToDict @@ -515,18 +516,21 @@ void kOmegaSSTBase::correct() BasicEddyViscosityModel::correct(); - volScalarField::Internal divU(fvc::div(fvc::absolute(this->phi(), U))); + const volScalarField::Internal divU + ( + fvc::div(fvc::absolute(this->phi(), U)) + ); - volScalarField CDkOmega + const volScalarField CDkOmega ( (2*alphaOmega2_)*(fvc::grad(k_) & fvc::grad(omega_))/omega_ ); - volScalarField F1(this->F1(CDkOmega)); - volScalarField F23(this->F23()); + const volScalarField F1(this->F1(CDkOmega)); + const volScalarField F23(this->F23()); tmp tgradU = fvc::grad(U); - volScalarField S2(this->S2(F1, tgradU())); + const volScalarField S2(this->S2(F1, tgradU())); volScalarField::Internal GbyNu0(this->GbyNu0(tgradU(), F1, S2)); volScalarField::Internal G(this->GName(), nut*GbyNu0); @@ -534,8 +538,8 @@ void kOmegaSSTBase::correct() omega_.boundaryFieldRef().updateCoeffs(); { - volScalarField::Internal gamma(this->gamma(F1)); - volScalarField::Internal beta(this->beta(F1)); + const volScalarField::Internal gamma(this->gamma(F1)); + const volScalarField::Internal beta(this->beta(F1)); GbyNu0 = GbyNu(GbyNu0, F23(), S2()); @@ -568,28 +572,30 @@ void kOmegaSSTBase::correct() bound(omega_, this->omegaMin_); } - // Turbulent kinetic energy equation - tmp kEqn - ( - fvm::ddt(alpha, rho, k_) - + fvm::div(alphaRhoPhi, k_) - - fvm::laplacian(alpha*rho*DkEff(F1), k_) - == - alpha()*rho()*Pk(G) - - fvm::SuSp((2.0/3.0)*alpha()*rho()*divU, k_) - - fvm::Sp(alpha()*rho()*epsilonByk(F1, tgradU()), k_) - + alpha()*rho()*betaStar_*omegaInf_*kInf_ - + kSource() - + fvOptions(alpha, rho, k_) - ); + { + // Turbulent kinetic energy equation + tmp kEqn + ( + fvm::ddt(alpha, rho, k_) + + fvm::div(alphaRhoPhi, k_) + - fvm::laplacian(alpha*rho*DkEff(F1), k_) + == + alpha()*rho()*Pk(G) + - fvm::SuSp((2.0/3.0)*alpha()*rho()*divU, k_) + - fvm::Sp(alpha()*rho()*epsilonByk(F1, tgradU()), k_) + + alpha()*rho()*betaStar_*omegaInf_*kInf_ + + kSource() + + fvOptions(alpha, rho, k_) + ); - tgradU.clear(); + tgradU.clear(); - kEqn.ref().relax(); - fvOptions.constrain(kEqn.ref()); - solve(kEqn); - fvOptions.correct(k_); - bound(k_, this->kMin_); + kEqn.ref().relax(); + fvOptions.constrain(kEqn.ref()); + solve(kEqn); + fvOptions.correct(k_); + bound(k_, this->kMin_); + } correctNut(S2); } diff --git a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H index 4833b51257..96b333ea73 100644 --- a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H +++ b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H @@ -6,8 +6,8 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2022 OpenCFD Ltd. Copyright (C) 2022 Upstream CFD GmbH + Copyright (C) 2017-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -142,7 +142,7 @@ class kOmegaSSTBase protected: - // Protected data + // Protected Data // Model coefficients @@ -175,7 +175,10 @@ protected: // which is for near-wall cells only const volScalarField& y_; + //- Turbulent kinetic energy field [m^2/s^2] volScalarField k_; + + //- Specific dissipation rate field [1/s] volScalarField omega_; @@ -189,6 +192,7 @@ protected: // Protected Member Functions + //- Set decay control with kInf and omegaInf void setDecayControl(const dictionary& dict); virtual tmp F1(const volScalarField& CDkOmega) const; @@ -196,6 +200,7 @@ protected: virtual tmp F3() const; virtual tmp F23() const; + //- Return the blended field tmp blend ( const volScalarField& F1, @@ -206,6 +211,7 @@ protected: return F1*(psi1 - psi2) + psi2; } + //- Return the internal blended field tmp blend ( const volScalarField::Internal& F1, diff --git a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C index b216cf1f20..c99d84c6f7 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C +++ b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C @@ -6,8 +6,8 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2015 OpenFOAM Foundation - Copyright (C) 2022 OpenCFD Ltd. Copyright (C) 2022 Upstream CFD GmbH + Copyright (C) 2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -92,19 +92,17 @@ tmp DESModel::Ssigma ) { // Limiter - const dimensionedScalar eps0("eps0", dimless, SMALL); - const dimensionedScalar eps2("eps2", dimless/sqr(dimTime), SMALL); - const dimensionedScalar eps4("eps4", dimless/pow4(dimTime), SMALL); - const dimensionedScalar max2("max2", dimless/sqr(dimTime), GREAT); + const dimensionedScalar eps0(dimless, SMALL); + const dimensionedScalar eps2(dimless/sqr(dimTime), SMALL); + const dimensionedScalar eps4(dimless/pow4(dimTime), SMALL); + const dimensionedScalar max2(dimless/sqr(dimTime), GREAT); const dimensionedTensor maxTen2 ( - "maxTen2", dimless/sqr(dimTime), tensor::max ); const dimensionedTensor minTen2 ( - "minTen2", dimless/sqr(dimTime), tensor::min ); @@ -114,11 +112,12 @@ tmp DESModel::Ssigma // Tensor invariants const volScalarField I1(tr(G)); const volScalarField I2(0.5*(sqr(I1) - tr(G & G))); - const volScalarField I3(det(G)); + tmp tI3 = det(G); const volScalarField alpha1(max(sqr(I1)/9.0 - I2/3.0, eps4)); - const volScalarField alpha2(pow3(min(I1, max2))/27.0 - I1*I2/6.0 + I3/2.0); + tmp talpha2 = + pow3(min(I1, max2))/27.0 - I1*I2/6.0 + 0.5*tI3; const volScalarField alpha3 ( @@ -128,7 +127,7 @@ tmp DESModel::Ssigma max ( scalar(-1) + eps0, - min(scalar(1) - eps0, alpha2/pow(alpha1, 3.0/2.0)) + min(scalar(1) - eps0, talpha2/pow(alpha1, 3.0/2.0)) ) ) ); diff --git a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.H b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.H index 1efac2db0f..c95012f23e 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.H +++ b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.H @@ -6,8 +6,8 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2015 OpenFOAM Foundation - Copyright (C) 2016, 2022 OpenCFD Ltd. Copyright (C) 2022 Upstream CFD GmbH + Copyright (C) 2016, 2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -58,9 +58,6 @@ class DESModel public DESModelBase, public LESeddyViscosity { - -private: - // Private Member Functions //- No copy construct @@ -74,6 +71,7 @@ protected: // Protected Data + //- Model-specific transition constant dimensionedScalar Ctrans_; diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C index 1eec436b36..e30caec019 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.C @@ -6,8 +6,8 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2022 OpenCFD Ltd. Copyright (C) 2022 Upstream CFD GmbH + Copyright (C) 2015-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -141,8 +141,8 @@ SpalartAllmarasDDES::SpalartAllmarasDDES Cd1_ ( - this->useSigma_ ? - dimensioned::getOrAddToDict + this->useSigma_ + ? dimensioned::getOrAddToDict ( "Cd1Sigma", this->coeffDict_, diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H index 61b4241237..eaed52f2ff 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDDES/SpalartAllmarasDDES.H @@ -6,8 +6,8 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2019-2022 OpenCFD Ltd. Copyright (C) 2022 Upstream CFD GmbH + Copyright (C) 2019-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -33,15 +33,16 @@ Group Description SpalartAllmaras DDES turbulence model for incompressible and compressible - flows + flows. Reference: \verbatim - Spalart, P. R., Deck, S., Shur, M. L., Squires, K. D., Strelets, M. K., - & Travin, A. (2006). - A new version of detached-eddy simulation, resistant to ambiguous grid - densities. + Spalart, P. R., Deck, S., Shur, M. L., Squires, + K. D., Strelets, M. K., & Travin, A. (2006). + A new version of detached-eddy simulation, + resistant to ambiguous grid densities. Theoretical and computational fluid dynamics, 20(3), 181-195. + DOI:10.1007/s00162-006-0015-0 \endverbatim SourceFiles @@ -72,7 +73,7 @@ class SpalartAllmarasDDES { // Private Member Functions - //- Shielding function + //- Return the shielding function tmp fd(const volScalarField& magGradU) const; //- No copy construct @@ -84,7 +85,7 @@ class SpalartAllmarasDDES protected: - // Protected data + // Protected Data // Model coefficients @@ -94,7 +95,7 @@ protected: // Protected Member Functions - //- Production term + //- Return the production term virtual tmp Stilda ( const volScalarField& chi, @@ -103,7 +104,7 @@ protected: const volScalarField& dTilda ) const; - //- Length scale + //- Return the length scale virtual tmp dTilda ( const volScalarField& chi, diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C index 3d9b3d6704..ff9c3d7ea6 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C @@ -6,8 +6,8 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. Copyright (C) 2022 Upstream CFD GmbH + Copyright (C) 2016-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.H b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.H index 6936c59f03..4706aa40d3 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.H @@ -32,7 +32,7 @@ Group Description SpalartAllmarasDES DES turbulence model for incompressible and - compressible flows + compressible flows. Reference: \verbatim @@ -44,11 +44,12 @@ Description Including the low Reynolds number correction documented in \verbatim - Spalart, P. R., Deck, S., Shur, M.L., Squires, K.D., Strelets, M.Kh, - Travin, A. (2006). - A new version of detached-eddy simulation, resistant to ambiguous grid - densities. - Theor. Comput. Fluid Dyn., 20, 181-195. + Spalart, P. R., Deck, S., Shur, M. L., Squires, + K. D., Strelets, M. K., & Travin, A. (2006). + A new version of detached-eddy simulation, + resistant to ambiguous grid densities. + Theoretical and computational fluid dynamics, 20(3), 181-195. + DOI:10.1007/s00162-006-0015-0 \endverbatim Note @@ -94,38 +95,38 @@ class SpalartAllmarasDES protected: - // Protected data + // Protected Data //- Switch to activate grey-area enhanced sigma-(D)DES Switch useSigma_; // Model constants - // DES coefficient + //- DES coefficient dimensionedScalar CDES_; - // Low Reynolds number correction + //- Flag for low Reynolds number correction Switch lowReCorrection_; dimensionedScalar fwStar_; // Protected Member Functions - //- Low Reynolds number correction function + //- Return the low Reynolds number correction function virtual tmp psi ( const volScalarField& chi, const volScalarField& fv1 ) const; - //- LES length scale + //- Return the LES length scale virtual tmp lengthScaleLES ( const volScalarField& chi, const volScalarField& fv1 ) const; - //- Production term + //- Return the production term virtual tmp Stilda ( const volScalarField& chi, @@ -134,7 +135,7 @@ protected: const volScalarField& dTilda ) const; - //- Length scale + //- Return the length scale virtual tmp dTilda ( const volScalarField& chi, diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H index f3901ad5fe..4980df2d11 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H @@ -31,15 +31,16 @@ Group grpDESTurbulence Description - SpalartAllmaras IDDES turbulence model for incompressible and compressible - flows + SpalartAllmaras IDDES turbulence model + for incompressible and compressible flows. Reference: \verbatim Shur, M. L., Spalart, P. R., Strelets, M. K., & Travin, A. K. (2008). - A hybrid RANS-LES approach with delayed-DES and wall-modelled LES - capabilities. - International Journal of Heat and Fluid Flow, 29(6), 1638-1649. + A hybrid RANS-LES approach with delayed-DES + and wall-modelled LES capabilities. + International journal of heat and fluid flow, 29(6), 1638-1649. + DOI:10.1016/j.ijheatfluidflow.2008.07.001 \endverbatim SourceFiles @@ -92,7 +93,7 @@ class SpalartAllmarasIDDES protected: - // Protected data + // Protected Data // Model coefficients @@ -109,7 +110,7 @@ protected: // Protected Member Functions - //- Length scale + //- Return the length scale virtual tmp dTilda ( const volScalarField& chi, diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C index 16907d266d..6645e17288 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C @@ -6,8 +6,8 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. Copyright (C) 2022 Upstream CFD GmbH + Copyright (C) 2016-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -153,8 +153,8 @@ kOmegaSSTDDES::kOmegaSSTDDES Cd1_ ( - this->useSigma_ ? - dimensioned::getOrAddToDict + this->useSigma_ + ? dimensioned::getOrAddToDict ( "Cd1Sigma", this->coeffDict_, diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H index 54e4c711a1..4b4f41b40e 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H @@ -6,8 +6,8 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2019, 2022 OpenCFD Ltd. Copyright (C) 2022 Upstream CFD GmbH + Copyright (C) 2019, 2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -32,14 +32,16 @@ Group grpDESTurbulence Description - k-omega-SST DDES turbulence model for incompressible and compressible flows + k-omega-SST DDES turbulence model for incompressible and compressible flows. Reference: \verbatim - Gritskevich, M.S., Garbaruk, A.V., Schuetze, J., Menter, F.R. (2011) - Development of DDES and IDDES Formulations for the k-omega - Shear Stress Transport Model, Flow, Turbulence and Combustion, - pp. 1-19 + Gritskevich, M. S., Garbaruk, A. V., + Schütze, J., & Menter, F. R. (2012). + Development of DDES and IDDES formulations for + the k-ω shear stress transport model. + Flow, turbulence and combustion, 88(3), 431-449. + DOI:10.1007/s10494-011-9378-4 \endverbatim SourceFiles @@ -70,7 +72,7 @@ class kOmegaSSTDDES { // Private Member Functions - //- Shielding function + //- Return the shielding function field tmp fd(const volScalarField& magGradU) const; //- No copy construct @@ -82,7 +84,7 @@ class kOmegaSSTDDES protected: - // Protected data + // Protected Data // Model coefficients diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C index edae6c7b57..bf3d8b1f4e 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C @@ -6,8 +6,8 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. Copyright (C) 2022 Upstream CFD GmbH + Copyright (C) 2016-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -63,7 +63,7 @@ tmp kOmegaSSTDES::r const volScalarField& magGradU ) const { - const dimensionedScalar eps("SMALL", magGradU.dimensions(), SMALL); + const dimensionedScalar eps(magGradU.dimensions(), SMALL); tmp tr = min(nur/(max(magGradU, eps)*sqr(this->kappa_*this->y_)), scalar(10)); @@ -71,7 +71,6 @@ tmp kOmegaSSTDES::r tr.ref().boundaryFieldRef() == 0; return tr; - } diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H index b6b035cfca..dfdf077c5b 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H @@ -31,13 +31,13 @@ Group grpDESTurbulence Description - k-omega-SST DES turbulence model for incompressible and compressible flows + k-omega-SST DES turbulence model for incompressible and compressible flows. Reference: \verbatim - Strelets, M. (2001) - Detached Eddy Simulation of Massively Separated Flows, - 39th AIAA Aerospace Sciences Meeting and Exhibit, Reno, NV + Strelets, M. (2001). + Detached Eddy Simulation of Massively Separated Flows. + 39th AIAA Aerospace Sciences Meeting and Exhibit, Reno, NV. \endverbatim Note @@ -51,8 +51,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef kOmegaSSTDES_H -#define kOmegaSSTDES_H +#ifndef Foam_kOmegaSSTDES_H +#define Foam_kOmegaSSTDES_H #include "DESModel.H" #include "kOmegaSSTBase.H" @@ -65,7 +65,7 @@ namespace LESModels { /*---------------------------------------------------------------------------*\ - class kOmegaSSTDES Declaration + Class kOmegaSSTDES Declaration \*---------------------------------------------------------------------------*/ template @@ -84,7 +84,7 @@ class kOmegaSSTDES protected: - // Protected data + // Protected Data //- Switch to activate grey-area enhanced sigma-(D)DES Switch useSigma_; @@ -122,7 +122,7 @@ protected: const volTensorField& gradU ) const; - //- Length scale + //- Return length scale virtual tmp dTilda ( const volScalarField& magGradU, diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C index c955da5132..42c5691e26 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2015-2020 OpenCFD Ltd. + Copyright (C) 2015-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -117,7 +117,7 @@ tmp kOmegaSSTIDDES::dTilda return max ( fdTilda*(1 + fe)*lRAS + (1 - fdTilda)*lLES, - dimensionedScalar("SMALL", dimLength, SMALL) + dimensionedScalar(dimLength, SMALL) ); } @@ -125,7 +125,7 @@ tmp kOmegaSSTIDDES::dTilda return max ( fdTilda*lRAS + (1 - fdTilda)*lLES, - dimensionedScalar("SMALL", dimLength, SMALL) + dimensionedScalar(dimLength, SMALL) ); } diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H index d5695afba8..4b733524d1 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -31,15 +31,17 @@ Group grpDESTurbulence Description - k-omega-SST IDDES turbulence model for incompressible and compressible - flows + k-omega-SST IDDES turbulence model for + incompressible and compressible flows. Reference: \verbatim - Gritskevich, M.S., Garbaruk, A.V., Schuetze, J., Menter, F.R. (2011) - Development of DDES and IDDES Formulations for the k-omega - Shear Stress Transport Model, Flow, Turbulence and Combustion, - pp. 1-19 + Gritskevich, M. S., Garbaruk, A. V., + Schütze, J., & Menter, F. R. (2012). + Development of DDES and IDDES formulations for + the k-ω shear stress transport model. + Flow, turbulence and combustion, 88(3), 431-449. + DOI:10.1007/s10494-011-9378-4 \endverbatim SourceFiles @@ -47,8 +49,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef kOmegaSSTIDDES_H -#define kOmegaSSTIDDES_H +#ifndef Foam_kOmegaSSTIDDES_H +#define Foam_kOmegaSSTIDDES_H #include "kOmegaSSTDES.H" @@ -89,7 +91,7 @@ class kOmegaSSTIDDES protected: - // Protected data + // Protected Data // Model coefficients @@ -106,7 +108,7 @@ protected: // Protected Member Functions - //- Length scale + //- Return the length scale virtual tmp dTilda ( const volScalarField& magGradU, diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/DeltaOmegaTildeDelta/DeltaOmegaTildeDelta.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/DeltaOmegaTildeDelta/DeltaOmegaTildeDelta.C index 659e7ab085..29c65071d4 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/DeltaOmegaTildeDelta/DeltaOmegaTildeDelta.C +++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/DeltaOmegaTildeDelta/DeltaOmegaTildeDelta.C @@ -50,7 +50,8 @@ void Foam::LESModels::DeltaOmegaTildeDelta::calcDelta() const fvMesh& mesh = turbulenceModel_.mesh(); const volVectorField& U0 = turbulenceModel_.U(); - const volVectorField vorticity(fvc::curl(U0)); + tmp tvorticity = fvc::curl(U0); + const volVectorField& vorticity = tvorticity.cref(); const volVectorField nvecvort ( vorticity @@ -58,10 +59,11 @@ void Foam::LESModels::DeltaOmegaTildeDelta::calcDelta() max ( mag(vorticity), - dimensionedScalar("SMALL", dimless/dimTime, SMALL) + dimensionedScalar(dimless/dimTime, SMALL) ) ) ); + tvorticity.clear(); const cellList& cells = mesh.cells(); const vectorField& cellCentres = mesh.cellCentres(); @@ -73,12 +75,12 @@ void Foam::LESModels::DeltaOmegaTildeDelta::calcDelta() const point& cc = cellCentres[celli]; const vector& nv = nvecvort[celli]; - scalar deltaMaxTmp = 0.0; + scalar deltaMaxTmp = 0; for (const label facei : cFaces) { const point& fc = faceCentres[facei]; - scalar tmp = 2.0*mag(nv ^ (fc - cc)); + const scalar tmp = 2.0*mag(nv ^ (fc - cc)); if (tmp > deltaMaxTmp) { @@ -171,7 +173,7 @@ Foam::LESModels::DeltaOmegaTildeDelta::DeltaOmegaTildeDelta void Foam::LESModels::DeltaOmegaTildeDelta::read(const dictionary& dict) { - const dictionary& coeffsDict(dict.optionalSubDict(type() + "Coeffs")); + const dictionary& coeffsDict = dict.optionalSubDict(type() + "Coeffs"); coeffsDict.readIfPresent("deltaCoeff", deltaCoeff_); coeffsDict.readIfPresent("requireUpdate", requireUpdate_); diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/DeltaOmegaTildeDelta/DeltaOmegaTildeDelta.H b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/DeltaOmegaTildeDelta/DeltaOmegaTildeDelta.H index fc7ee3ac3d..253b58e0c4 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/DeltaOmegaTildeDelta/DeltaOmegaTildeDelta.H +++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/DeltaOmegaTildeDelta/DeltaOmegaTildeDelta.H @@ -25,7 +25,7 @@ License along with OpenFOAM. If not, see . Class - Foam::DeltaOmegaTildeDelta + Foam::LESModels::DeltaOmegaTildeDelta Description Delta formulation that accounts for the orientation of the vorticity @@ -37,9 +37,10 @@ Description Reference: \verbatim Shur, M. L., Spalart, P. R., Strelets, M. K., & Travin, A. K. (2015). - An enhanced version of DES with rapid transition from RANS to LES in - separated flows. - Flow, Turbulence and Combustion, 95, 709-737, 2015. + An enhanced version of DES with rapid transition + from RANS to LES in separated flows. + Flow, turbulence and combustion, 95(4), 709-737. + DOI:10.1007/s10494-015-9618-0 \endverbatim SourceFiles @@ -67,7 +68,7 @@ class DeltaOmegaTildeDelta : public LESdelta { - // Private data + // Private Data //- Run-time selectable delta for hmax // Defaults to the maxDeltaxyz model if not supplied @@ -82,15 +83,15 @@ class DeltaOmegaTildeDelta // Private Member Functions + //- Calculate the delta values + void calcDelta(); + //- No copy construct DeltaOmegaTildeDelta(const DeltaOmegaTildeDelta&) = delete; //- No copy assignment void operator=(const DeltaOmegaTildeDelta&) = delete; - //- Calculate the delta values - void calcDelta(); - public: diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/SLADelta/SLADelta.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/SLADelta/SLADelta.C index 0219dc0373..cdc256c7ec 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/SLADelta/SLADelta.C +++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/SLADelta/SLADelta.C @@ -93,7 +93,8 @@ tmp sumNeighbours return tscaling; } -} +} // End namespace Foam + // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -101,31 +102,36 @@ namespace Foam { namespace LESModels { - defineTypeNameAndDebug(DeltaSLA, 0); - addToRunTimeSelectionTable(LESdelta, DeltaSLA, dictionary); + defineTypeNameAndDebug(SLADelta, 0); + addToRunTimeSelectionTable(LESdelta, SLADelta, dictionary); } } // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::LESModels::DeltaSLA::calcDelta() +void Foam::LESModels::SLADelta::calcDelta() { const fvMesh& mesh = turbulenceModel_.mesh(); - const volVectorField& U0 = turbulenceModel_.U(); - const volVectorField vorticity(fvc::curl(U0)); - const volSymmTensorField S(symm(fvc::grad(U0))); - const volScalarField magGradU(mag(fvc::grad(U0))); - tmp tnut = turbulenceModel_.nut(); - const auto& nut = tnut(); - tmp tnu = turbulenceModel_.nu(); - const auto& nu = tnu(); + const volScalarField& nut = tnut.cref(); + + tmp tnu = turbulenceModel_.nu(); + const volScalarField& nu = tnu.cref(); + + // Calculate vortex tilting measure, VTM + const volVectorField& U0 = turbulenceModel_.U(); + + tmp tvorticity = fvc::curl(U0); + const volVectorField& vorticity = tvorticity.cref(); + + tmp tS = symm(fvc::grad(U0)); + const volSymmTensorField& S = tS.cref(); + + const dimensionedScalar nuMin(nu.dimensions(), SMALL); + const dimensionedScalar eps(dimless/pow3(dimTime), SMALL); - // Vortex tilting measure, VTM - const dimensionedScalar nuMin("SMALL", nu.dimensions(), SMALL); - const dimensionedScalar eps("SMALL", dimless/pow3(dimTime), SMALL); volScalarField vtm ( max(scalar(1), 0.2*nu/max(nut, nuMin)) @@ -133,38 +139,45 @@ void Foam::LESModels::DeltaSLA::calcDelta() /max(magSqr(vorticity)*sqrt(3*magSqr(S) - sqr(tr(S))), eps) ); vtm.correctBoundaryConditions(); + tS.clear(); + + const dimensionedScalar vortMin(dimless/dimTime, SMALL); + const volVectorField nVecVort(vorticity/(max(mag(vorticity), vortMin))); + tvorticity.clear(); - // Averaged VTM - + // Calculate averaged VTM volScalarField vtmAve("vtmAve", vtm); - tmp weights = sumNeighbours(vtm, vtmAve); + tmp tweights = sumNeighbours(vtm, vtmAve); // Add cell centre values vtmAve += vtm; // Weights normalisation (add 1 for cell centres) - vtmAve.primitiveFieldRef() /= weights + 1; + vtmAve.primitiveFieldRef() /= tweights + 1; - // Compute DDES shielding function + // Calculate DDES shielding function, fd const volScalarField& y = wallDist::New(mesh).y(); - const dimensionedScalar Ueps("eps", magGradU.dimensions(), SMALL); - const dimensionedScalar nuEps("eps", nu.dimensions(), ROOTSMALL); - const volScalarField rd - ( + + const dimensionedScalar magGradUeps(dimless/dimTime, SMALL); + const dimensionedScalar nuEps(nu.dimensions(), ROOTSMALL); + + tmp tmagGradU = mag(fvc::grad(U0)); + + tmp trd = min ( - (nut + nu)/(max(magGradU, Ueps)*sqr(kappa_*y) + nuEps), + (nut + nu)/(max(tmagGradU, magGradUeps)*sqr(kappa_*y) + nuEps), scalar(10) - ) - ); - const volScalarField fd(1.0 - tanh(pow(Cd1_*rd, Cd2_))); + ); + tnut.clear(); + tnu.clear(); + + const volScalarField fd(1.0 - tanh(pow(Cd1_*trd, Cd2_))); + // Assemble delta - const dimensionedScalar vortMin("SMALL", dimless/dimTime, SMALL); - const volVectorField nVecVort(vorticity/(max(mag(vorticity), vortMin))); - const cellList& cells = mesh.cells(); const vectorField& cellCentres = mesh.cellCentres(); const vectorField& faceCentres = mesh.faceCentres(); @@ -175,12 +188,12 @@ void Foam::LESModels::DeltaSLA::calcDelta() const point& cc = cellCentres[celli]; const vector& nv = nVecVort[celli]; - scalar deltaMaxTmp = 0.0; + scalar deltaMaxTmp = 0; for (const label facei : cFaces) { const point& fc = faceCentres[facei]; - scalar tmp = 2.0*mag(nv ^ (fc - cc)); + const scalar tmp = 2.0*mag(nv ^ (fc - cc)); if (tmp > deltaMaxTmp) { @@ -208,7 +221,7 @@ void Foam::LESModels::DeltaSLA::calcDelta() delta_[celli] = deltaCoeff_*deltaMaxTmp*FKH; } - label nD = mesh.nGeometricD(); + const label nD = mesh.nGeometricD(); if (nD == 2) { @@ -229,7 +242,7 @@ void Foam::LESModels::DeltaSLA::calcDelta() // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::LESModels::DeltaSLA::DeltaSLA +Foam::LESModels::SLADelta::SLADelta ( const word& name, const turbulenceModel& turbulence, @@ -240,7 +253,7 @@ Foam::LESModels::DeltaSLA::DeltaSLA hmaxPtr_(nullptr), deltaCoeff_ ( - dict.optionalSubDict(type() + "Coeffs").lookupOrDefault + dict.optionalSubDict(type() + "Coeffs").getOrDefault ( "deltaCoeff", 1.035 @@ -353,12 +366,20 @@ Foam::LESModels::DeltaSLA::DeltaSLA ) ); } + + if (mag(a2_ - a1_) < SMALL) + { + FatalIOErrorInFunction(dict) + << "Model coefficients a1 = " << a1_ + << ", and a2 = " << a2_ << " cannot be equal." + << abort(FatalIOError); + } } // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -void Foam::LESModels::DeltaSLA::read(const dictionary& dict) +void Foam::LESModels::SLADelta::read(const dictionary& dict) { const dictionary& coeffsDict(dict.optionalSubDict(type() + "Coeffs")); @@ -377,7 +398,7 @@ void Foam::LESModels::DeltaSLA::read(const dictionary& dict) } -void Foam::LESModels::DeltaSLA::correct() +void Foam::LESModels::SLADelta::correct() { if (turbulenceModel_.mesh().changing() && requireUpdate_) { diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/SLADelta/SLADelta.H b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/SLADelta/SLADelta.H index 94c336d50d..78f288f5f7 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/SLADelta/SLADelta.H +++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/SLADelta/SLADelta.H @@ -25,7 +25,7 @@ License along with OpenFOAM. If not, see . Class - Foam::LESModels::DeltaSLA + Foam::LESModels::SLADelta Description Delta formulation that accounts for the orientation of the vorticity vector @@ -36,9 +36,10 @@ Description Reference: \verbatim Shur, M. L., Spalart, P. R., Strelets, M. K., & Travin, A. K. (2015). - An enhanced version of DES with rapid transition from RANS to LES in - separated flows. - Flow, Turbulence and Combustion, 95, 709–737, 2015. + An enhanced version of DES with rapid transition + from RANS to LES in separated flows. + Flow, turbulence and combustion, 95(4), 709-737. + DOI:10.1007/s10494-015-9618-0 \endverbatim SourceFiles @@ -46,8 +47,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef LESModels_DeltaSLADelta_H -#define LESModels_DeltaSLADelta_H +#ifndef LESModels_SLADelta_H +#define LESModels_SLADelta_H #include "LESdelta.H" @@ -59,14 +60,14 @@ namespace LESModels { /*---------------------------------------------------------------------------*\ - Class DeltaSLA Declaration + Class SLADelta Declaration \*---------------------------------------------------------------------------*/ -class DeltaSLA +class SLADelta : public LESdelta { - // Private data + // Private Data //- Run-time selectable delta for hmax // Defaults to the maxDeltaxyz model if not supplied @@ -89,15 +90,15 @@ class DeltaSLA // Private Member Functions - //- No copy construct - DeltaSLA(const DeltaSLA&) = delete; - - //- No copy assignment - void operator=(const DeltaSLA&) = delete; - // Calculate the delta values void calcDelta(); + //- No copy construct + SLADelta(const SLADelta&) = delete; + + //- No copy assignment + void operator=(const SLADelta&) = delete; + public: @@ -108,7 +109,7 @@ public: // Constructors //- Construct from name, turbulenceModel and IOdictionary - DeltaSLA + SLADelta ( const word& name, const turbulenceModel& turbulence, @@ -117,7 +118,7 @@ public: //- Destructor - virtual ~DeltaSLA() = default; + virtual ~SLADelta() = default; // Member Functions diff --git a/src/TurbulenceModels/turbulenceModels/LES/sigma/sigma.C b/src/TurbulenceModels/turbulenceModels/LES/sigma/sigma.C index acdb6658ed..b806ab0719 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/sigma/sigma.C +++ b/src/TurbulenceModels/turbulenceModels/LES/sigma/sigma.C @@ -128,10 +128,8 @@ bool sigma::read() return true; } - else - { - return false; - } + + return false; } diff --git a/src/TurbulenceModels/turbulenceModels/LES/sigma/sigma.H b/src/TurbulenceModels/turbulenceModels/LES/sigma/sigma.H index 701734f952..c321835db4 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/sigma/sigma.H +++ b/src/TurbulenceModels/turbulenceModels/LES/sigma/sigma.H @@ -35,10 +35,11 @@ Description Reference: \verbatim - Nicoud, F., Toda, H., Cabrit, O., Bose, S., & Lee, J. (2011). - Using singular values to build a subgrid-scale model for large - eddy simulations. - Physics of Fluids, 23(8), 5106, 2011. + Nicoud, F., Toda, H. B., Cabrit, O., Bose, S., & Lee, J. (2011). + Using singular values to build a subgrid-scale + model for large eddy simulations. + Physics of fluids, 23(8), 085106. + DOI:10.1063/1.3623274 \endverbatim The default model coefficients correspond to the following: @@ -93,7 +94,7 @@ class sigma protected: - // Protected data + // Protected Data dimensionedScalar Ck_; dimensionedScalar Cw_; diff --git a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.H b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.H index 3841682e7d..add1d09e70 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.H +++ b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.H @@ -52,18 +52,6 @@ Description Spalart-Allmaras One-Equation Model without ft2 Term (SA-noft2). https://turbmodels.larc.nasa.gov/spalart.html#sanoft2 (Retrieved:12-01-2021). - - Estimation expression for k and epsilon (tag:B), Eq. 4.50: - Bourgoin, A. (2019). - Bathymetry induced turbulence modelling the - Alderney Race site: regional approach with TELEMAC-LES. - Normandie Université. - - Estimation expressions for omega (tag:P): - Pope, S. B. (2000). - Turbulent flows. - Cambridge, UK: Cambridge Univ. Press - DOI:10.1017/CBO9780511840531 \endverbatim Usage @@ -146,7 +134,7 @@ protected: // Protected Member Functions - //- Length scale + //- Return the length scale virtual tmp dTilda ( const volScalarField& chi, From e510321a263271fb6a965c0f7080fd2b3e5297fd Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin Date: Thu, 8 Sep 2022 11:56:32 +0100 Subject: [PATCH 24/24] TUT: wallMountedHump: new DES tutorial --- .../pimpleFoam/LES/wallMountedHump/Allclean | 10 + .../pimpleFoam/LES/wallMountedHump/Allrun | 150 +++ .../pimpleFoam/LES/wallMountedHump/README.md | 23 + .../pimpleFoam/LES/wallMountedHump/plot | 496 ++++++++++ .../resources/dataset/exp_cf.dat | 140 +++ .../dataset/exp_vel_and_turb_xbyc0.65.dat | 53 ++ .../dataset/exp_vel_and_turb_xbyc0.66.dat | 53 ++ .../dataset/exp_vel_and_turb_xbyc0.80.dat | 59 ++ .../dataset/exp_vel_and_turb_xbyc0.90.dat | 67 ++ .../dataset/exp_vel_and_turb_xbyc1.00.dat | 70 ++ .../dataset/exp_vel_and_turb_xbyc1.10.dat | 70 ++ .../dataset/exp_vel_and_turb_xbyc1.20.dat | 72 ++ .../dataset/exp_vel_and_turb_xbyc1.30.dat | 72 ++ .../constant/turbulenceProperties | 33 + .../constant/turbulenceProperties | 33 + .../constant/turbulenceProperties | 32 + .../constant/turbulenceProperties | 32 + .../setups.orig/common/0.orig/U | 52 ++ .../setups.orig/common/0.orig/k | 52 ++ .../setups.orig/common/0.orig/nuTilda | 52 ++ .../setups.orig/common/0.orig/nut | 53 ++ .../setups.orig/common/0.orig/omega | 52 ++ .../setups.orig/common/0.orig/p | 51 + .../setups.orig/common/Allclean | 10 + .../wallMountedHump/setups.orig/common/Allrun | 35 + .../setups.orig/common/Allrun-parallel | 47 + .../common/constant/boundaryData/inlet/0/U | 542 +++++++++++ .../common/constant/boundaryData/inlet/0/k | 542 +++++++++++ .../constant/boundaryData/inlet/0/nuTilda | 542 +++++++++++ .../constant/boundaryData/inlet/0/omega | 542 +++++++++++ .../common/constant/boundaryData/inlet/points | 542 +++++++++++ .../common/constant/transportProperties | 21 + .../setups.orig/common/system/blockMeshDict | 552 +++++++++++ .../setups.orig/common/system/columnAverage | 33 + .../setups.orig/common/system/controlDict | 59 ++ .../common/system/decomposeParDict | 26 + .../setups.orig/common/system/fieldAverage | 67 ++ .../setups.orig/common/system/fvSchemes | 73 ++ .../setups.orig/common/system/fvSolution | 73 ++ .../common/system/geometry/polyLine_4to8 | 876 ++++++++++++++++++ .../common/system/geometry/polyLine_5to9 | 876 ++++++++++++++++++ .../common/system/geometry/polyLine_6to10 | 337 +++++++ .../common/system/geometry/polyLine_7to11 | 337 +++++++ .../setups.orig/common/system/sampleDict | 113 +++ .../setups.orig/common/system/volFields | 51 + .../setups.orig/common/system/wallFields | 32 + .../constant/turbulenceProperties | 33 + 47 files changed, 8138 insertions(+) create mode 100755 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/Allclean create mode 100755 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/Allrun create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/README.md create mode 100755 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/plot create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_cf.dat create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc0.65.dat create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc0.66.dat create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc0.80.dat create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc0.90.dat create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc1.00.dat create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc1.10.dat create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc1.20.dat create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc1.30.dat create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/SpalartAllmarasDDES-DeltaOmegaTilde-useSigmaTrue/constant/turbulenceProperties create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/SpalartAllmarasDDES-SLADelta-useSigmaFalse/constant/turbulenceProperties create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/SpalartAllmarasDDES-maxDeltaxyzCubeRoot/constant/turbulenceProperties create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/SpalartAllmarasIDDES-IDDESDelta/constant/turbulenceProperties create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/U create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/k create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/nuTilda create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/nut create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/omega create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/p create mode 100755 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/Allclean create mode 100755 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/Allrun create mode 100755 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/Allrun-parallel create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/0/U create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/0/k create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/0/nuTilda create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/0/omega create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/points create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/transportProperties create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/blockMeshDict create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/columnAverage create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/controlDict create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/decomposeParDict create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/fieldAverage create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/fvSchemes create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/fvSolution create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/geometry/polyLine_4to8 create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/geometry/polyLine_5to9 create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/geometry/polyLine_6to10 create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/geometry/polyLine_7to11 create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/sampleDict create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/volFields create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/wallFields create mode 100644 tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/kOmegaSSTDDES-DeltaOmegaTilde-useSigmaTrue/constant/turbulenceProperties diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/Allclean b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/Allclean new file mode 100755 index 0000000000..2206c5fd7d --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +rm -rf setups +rm -rf results +rm -rf plots + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/Allrun b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/Allrun new file mode 100755 index 0000000000..9eb5677c76 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/Allrun @@ -0,0 +1,150 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +# settings + + # operand setups + setups=" + SpalartAllmarasDDES-DeltaOmegaTilde-useSigmaTrue + kOmegaSSTDDES-DeltaOmegaTilde-useSigmaTrue + SpalartAllmarasDDES-SLADelta-useSigmaFalse + SpalartAllmarasDDES-maxDeltaxyzCubeRoot + SpalartAllmarasIDDES-IDDESDelta + " + + # flag to enable computations + run=true + + # flag to enable computations in parallel mode + parallel=true + + # flag to enable to use a common mesh + common_mesh=true + + +#------------------------------------------------------------------------------ + +####################################### +# Create the given setup +# Arguments: +# $1 = Path to create the setup +# Outputs: +# Writes info to stdout +####################################### +dry_run_setup() { + + [ $# -eq 0 ] && { echo "Usage error: $0"; exit 1; } + + setup="$1" + dirSetup="setups/$setup" + dirSetupOrig="setups.orig/$setup" + dirOrig="$dirSetupOrig/0.orig" + dirConstant="$dirSetupOrig/constant" + dirSystem="$dirSetupOrig/system" + + printf "\n# Create the setup: %s\n" "$setup" + + if [ ! -d "$dirSetup" ] + then + mkdir -p "$dirSetup" + + cp -aRfL "setups.orig/common/." "$dirSetup" + cp -afL "$dirSetupOrig"/All* "$dirSetup" 2>/dev/null || : + [ -d "$dirOrig" ] && cp -aRfL "$dirOrig/." "$dirSetup/0.orig" + [ -d "$dirConstant" ] && cp -aRfL "$dirConstant/." "$dirSetup/constant" + [ -d "$dirSystem" ] && cp -aRfL "$dirSystem/." "$dirSetup/system" + else + printf "\n # Directory %s already exists\n" "$dirSetup" + printf " # Skipping the creation of a new setup\n" + fi +} + + +####################################### +# Run the given setup +# Arguments: +# $1 = Path to the setup to run +# Outputs: +# Writes info to stdout +####################################### +run_setup() { + + [ $# -eq 0 ] && { echo "Usage error: $0"; exit 1; } + + setup="$1" + dirSetup="setups/$setup" + dirResult="results/$setup" + + dry_run_setup "$setup" + [ -d results ] || mkdir -p results + + printf "\n# Run the setup: %s\n\n" "$setup" + + if [ ! -d "$dirResult" ] + then + cp -Rf "$dirSetup" "$dirResult" + + if [ "$common_mesh" = true ] + then + if [ -d results/mesh ] + then + printf "## Copy the common mesh to the setup: %s\n\n" "$setup" + cp -Rf results/mesh/polyMesh "$dirResult"/constant/. + fi + fi + + if [ "$parallel" = true ] + then + ( cd "$dirResult" && ./Allrun-parallel ) + else + ( cd "$dirResult" && ./Allrun ) + fi + + if [ "$common_mesh" = true ] + then + if [ ! -d results/mesh ] + then + printf "\n## Store the mesh of %s as the common mesh\n\n" "$setup" + mkdir -p results/mesh + cp -Rf "$dirResult"/constant/polyMesh results/mesh/. + fi + fi + + else + printf " # Directory %s already exists\n" "$dirResult" + printf " # Skipping the computation of the given setup\n" + fi +} + + +#------------------------------------------------------------------------------ + +for setup in $setups +do + dirSetupOrig="setups.orig/$setup" + + if [ ! -d "$dirSetupOrig" ] + then + echo "Setup directory: $dirSetupOrig" \ + "could not be found - skipping execution" 1>&2 + continue + fi + + if [ "$run" = true ] + then + run_setup "$setup" + else + dry_run_setup "$setup" + fi +done + + +if notTest "$@" && [ "$run" = true ] +then + ./plot +fi + + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/README.md b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/README.md new file mode 100644 index 0000000000..0b26f7e2ed --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/README.md @@ -0,0 +1,23 @@ + + +## 2D NASA wall-mounted hump + +- Configuration without the plenum is considered here. +- Experimental data publicly available from (13/04/2022): +https://turbmodels.larc.nasa.gov/nasahump_val.html +- References: + + Greenblatt, D., Paschal, K. B., Yao, C. S., + Harris, J.,Schaeffler, N. W., & Washburn, A. E. (2006). + Experimental investigation of separation control part 1: + baseline and steady suction. AIAA journal, 44(12), 2820-2830. + DOI:10.2514/1.13817 + + Greenblatt, D., Paschal, K. B., Yao, C. S., & Harris, J. (2006). + Experimental investigation of separation control part 2: + zero mass-flux oscillatory blowing. + AIAA journal, 44(12), 2831-2845. + DOI:10.2514/1.19324 + + + diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/plot b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/plot new file mode 100755 index 0000000000..24f512e6ee --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/plot @@ -0,0 +1,496 @@ +#!/bin/bash +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +# settings + + # operand setups + setups=" + SpalartAllmarasDDES-DeltaOmegaTilde-useSigmaTrue + kOmegaSSTDDES-DeltaOmegaTilde-useSigmaTrue + SpalartAllmarasDDES-SLADelta-useSigmaFalse + SpalartAllmarasDDES-maxDeltaxyzCubeRoot + SpalartAllmarasIDDES-IDDESDelta + " + + +#------------------------------------------------------------------------------ + +plot_u_R_all_setups() { + + echo "" + echo "# Plots the velocity and Reynolds stress tensor components" + echo "" + + setups=$@ + + n=0 + for setup in $setups + do + pre="resources/dataset/exp_vel_and_turb_xbyc" + benchmarkFiles0="${pre}0.65.dat" + benchmarkFiles1="${pre}0.66.dat" + benchmarkFiles2="${pre}0.80.dat" + benchmarkFiles3="${pre}0.90.dat" + benchmarkFiles4="${pre}1.00.dat" + benchmarkFiles5="${pre}1.10.dat" + benchmarkFiles6="${pre}1.20.dat" + benchmarkFiles7="${pre}1.30.dat" + + endTime=$(foamDictionary results/$setup/system/controlDict -entry endTime -value) + pre="results/$setup/postProcessing/sample.lines/$endTime/xbyc" + post="_columnAverage(UMean)_columnAverage(UPrime2Mean).xy" + sampleFiles0[$n]="${pre}0.65${post}" + sampleFiles1[$n]="${pre}0.66${post}" + sampleFiles2[$n]="${pre}0.80${post}" + sampleFiles3[$n]="${pre}0.90${post}" + sampleFiles4[$n]="${pre}1.00${post}" + sampleFiles5[$n]="${pre}1.10${post}" + sampleFiles6[$n]="${pre}1.20${post}" + sampleFiles7[$n]="${pre}1.30${post}" + n=$(($n+1)) + done + + gnuplot</{U_0}^2" + set ylabel "y/c" + set output "plots/all_setups_Ruu_vs_y.png" + set multiplot layout 2,4 rowsfirst + + # --- GRAPH x/c=0.65 + set title "x/c=0.65" + plot \ + bench0 every 2 u 5:2 t "Experiment" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples0)] word(samples0, i) \ + u 5:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=0.66 + unset ylabel + unset key + set title "x/c=0.66" + plot \ + bench1 every 2 u 5:2 t "Exp. x/c=0.66" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples1)] word(samples1, i) \ + u 5:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=0.80 + set title "x/c=0.80" + plot \ + bench2 every 2 u 5:2 t "Exp. x/c=0.80" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples2)] word(samples2, i) \ + u 5:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=0.90 + set title "x/c=0.90" + plot \ + bench3 every 2 u 5:2 t "Exp. x/c=0.90" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples3)] word(samples3, i) \ + u 5:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=1.00 + set title "x/c=1.00" + set ylabel "y/c" + plot \ + bench4 every 2 u 5:2 t "Exp. x/c=1.00" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples4)] word(samples4, i) \ + u 5:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=1.10 + set title "x/c=1.10" + unset ylabel + plot \ + bench5 every 2 u 5:2 t "Exp. x/c=1.10" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples5)] word(samples5, i) \ + u 5:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=1.20 + set title "x/c=1.20" + plot \ + bench6 every 2 u 5:2 t "Exp. x/c=1.20" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples6)] word(samples6, i) \ + u 5:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=1.30 + set title "x/c=1.30" + plot \ + bench7 every 2 u 5:2 t "Exp. x/c=1.30" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples7)] word(samples7, i) \ + u 5:1 t word(models, i) w l lw 2 + + unset multiplot + unset output + + + ### Rvv ### + set key bottom right + set key font ",10" + set xrange [0:0.06] + set yrange [0:0.2] + set xlabel "/{U_0}^2" + set ylabel "y/c" + set output "plots/all_setups_Rvv_vs_y.png" + set multiplot layout 2,4 rowsfirst + + # --- GRAPH x/c=0.65 + set title "x/c=0.65" + plot \ + bench0 every 2 u 6:2 t "Experiment" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples0)] word(samples0, i) \ + u 8:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=0.66 + unset ylabel + unset key + set title "x/c=0.66" + plot \ + bench1 every 2 u 6:2 t "Exp. x/c=0.66" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples1)] word(samples1, i) \ + u 8:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=0.80 + set title "x/c=0.80" + plot \ + bench2 every 2 u 6:2 t "Exp. x/c=0.80" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples2)] word(samples2, i) \ + u 8:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=0.90 + set title "x/c=0.90" + plot \ + bench3 every 2 u 6:2 t "Exp. x/c=0.90" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples3)] word(samples3, i) \ + u 8:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=1.00 + set title "x/c=1.00" + set ylabel "y/c" + plot \ + bench4 every 2 u 6:2 t "Exp. x/c=1.00" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples4)] word(samples4, i) \ + u 8:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=1.10 + set title "x/c=1.10" + unset ylabel + plot \ + bench5 every 2 u 6:2 t "Exp. x/c=1.10" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples5)] word(samples5, i) \ + u 8:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=1.20 + set title "x/c=1.20" + plot \ + bench6 every 2 u 6:2 t "Exp. x/c=1.20" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples6)] word(samples6, i) \ + u 8:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=1.30 + set title "x/c=1.30" + plot \ + bench7 every 2 u 6:2 t "Exp. x/c=1.30" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples7)] word(samples7, i) \ + u 8:1 t word(models, i) w l lw 2 + + unset multiplot + unset output + + + ### Ruv ### + set key bottom right + set key font ",10" + set xrange [-0.04:0] + set yrange [0:0.2] + set xtics 0.01 + set xlabel "/{U_0}^2" + set ylabel "y/c" + set output "plots/all_setups_Ruv_vs_y.png" + set multiplot layout 2,4 rowsfirst + + # --- GRAPH x/c=0.65 + set title "x/c=0.65" + plot \ + bench0 every 2 u 7:2 t "Experiment" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples0)] word(samples0, i) \ + u 6:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=0.66 + unset ylabel + unset key + set title "x/c=0.66" + plot \ + bench1 every 2 u 7:2 t "Exp. x/c=0.66" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples1)] word(samples1, i) \ + u 6:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=0.80 + set title "x/c=0.80" + plot \ + bench2 every 2 u 7:2 t "Exp. x/c=0.80" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples2)] word(samples2, i) \ + u 6:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=0.90 + set title "x/c=0.90" + plot \ + bench3 every 2 u 7:2 t "Exp. x/c=0.90" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples3)] word(samples3, i) \ + u 6:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=1.00 + set title "x/c=1.00" + set ylabel "y/c" + plot \ + bench4 every 2 u 7:2 t "Exp. x/c=1.00" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples4)] word(samples4, i) \ + u 6:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=1.10 + set title "x/c=1.10" + unset ylabel + plot \ + bench5 every 2 u 7:2 t "Exp. x/c=1.10" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples5)] word(samples5, i) \ + u 6:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=1.20 + set title "x/c=1.20" + plot \ + bench6 every 2 u 7:2 t "Exp. x/c=1.20" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples6)] word(samples6, i) \ + u 6:1 t word(models, i) w l lw 2 + + # --- GRAPH x/c=1.30 + set title "x/c=1.30" + plot \ + bench7 every 2 u 7:2 t "Exp. x/c=1.30" \ + w p ps 1.5 pt 7 lw 2 lc rgb "black", \ + for [i=1:words(samples7)] word(samples7, i) \ + u 6:1 t word(models, i) w l lw 2 + + unset multiplot + unset output +PLT +} + + +plot_cf_all_setups() { + + echo "" + echo "# Plots the skin-friction coefficient" + echo "" + + setups=$@ + + benchmarkFile="resources/dataset/exp_cf.dat" + + n=0 + for setup in $setups + do + # few manipulations + endTime=$(foamDictionary results/$setup/system/controlDict -entry endTime -value) + + sampleFiles[$n]="results/$setup/postProcessing/sample.bottomWall/$endTime/wallShearStressMean_bottomWall.raw" + n=$(($n+1)) + done + + image="plots/all_setups_x_vs_cf.png" + + gnuplot</dev/null || { + echo "gnuplot not found - skipping graph creation" 1>&2 + exit 1 +} + +# Requires awk +command -v awk >/dev/null || { + echo "awk not found - skipping graph creation" 1>&2 + exit 1 +} + +# Check "results" directory +[ -d "results" ] || { + echo "No results directory found - skipping graph creation" 1>&2 + exit 1 +} + + +#------------------------------------------------------------------------------ + +dirPlots="plots" +[ -d "$dirPlots" ] || mkdir -p "$dirPlots" + +plot_u_R_all_setups $setups + +plot_cf_all_setups $setups + + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_cf.dat b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_cf.dat new file mode 100644 index 0000000000..9d9f78b329 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_cf.dat @@ -0,0 +1,140 @@ +# NASA wall-mounted hump experimental data +# Baseline CFD Test Case: Centerspan Mean Cf +# value range = Cf +- Uncertainty(C_f) +# variables="x","cf","Uncertainty(C_f)" +# zone, t="hump exp data" + -0.0700 0.00123 0.00009 + -0.0600 0.00106 0.00004 + -0.0500 0.00096 0.00003 + -0.0400 0.00085 0.00003 + -0.0300 0.00072 0.00002 + -0.0200 0.00056 0.00003 + -0.0100 0.00044 0.00003 + 0.0000 0.00035 0.00002 + 0.0100 0.00055 0.00008 + 0.0200 0.00078 0.00007 + 0.0300 0.00106 0.00014 + 0.0700 0.00351 0.00054 + 0.0800 0.00393 0.00037 + 0.0900 0.00447 0.00044 + 0.1000 0.00483 0.00026 + 0.1100 0.00444 0.00026 + 0.1200 0.00435 0.00044 + 0.1300 0.00444 0.00032 + 0.1400 0.00443 0.00026 + 0.1500 0.00468 0.00029 + 0.1600 0.00499 0.00030 + 0.1700 0.00483 0.00029 + 0.1800 0.00470 0.00029 + 0.1900 0.00466 0.00030 + 0.2000 0.00467 0.00033 + 0.2100 0.00484 0.00107 + 0.3000 0.00610 0.00055 + 0.3100 0.00621 0.00039 + 0.3200 0.00614 0.00023 + 0.3300 0.00619 0.00024 + 0.3400 0.00618 0.00019 + 0.3500 0.00624 0.00017 + 0.3600 0.00622 0.00019 + 0.3700 0.00628 0.00018 + 0.3800 0.00627 0.00025 + 0.3900 0.00659 0.00034 + 0.4000 0.00662 0.00029 + 0.4100 0.00653 0.00028 + 0.4200 0.00647 0.00025 + 0.4300 0.00653 0.00033 + 0.4400 0.00655 0.00025 + 0.4500 0.00653 0.00020 + 0.4600 0.00650 0.00018 + 0.4700 0.00658 0.00017 + 0.4800 0.00653 0.00017 + 0.4900 0.00616 0.00013 + 0.5000 0.00618 0.00014 + 0.5100 0.00624 0.00013 + 0.5200 0.00627 0.00021 + 0.5300 0.00634 0.00018 + 0.5400 0.00633 0.00016 + 0.5500 0.00634 0.00015 + 0.5600 0.00629 0.00020 + 0.5700 0.00620 0.00026 + 0.5900 0.00557 0.00023 + 0.6000 0.00536 0.00015 + 0.6100 0.00521 0.00022 + 0.6200 0.00505 0.00030 + 0.7500 -0.00016 0.00001 + 0.7600 -0.00016 0.00001 + 0.7800 -0.00022 0.00001 + 0.7900 -0.00025 0.00001 + 0.8000 -0.00033 0.00001 + 0.8100 -0.00038 0.00001 + 0.8200 -0.00046 0.00001 + 0.8300 -0.00055 0.00001 + 0.8400 -0.00063 0.00002 + 0.8500 -0.00071 0.00003 + 0.8600 -0.00078 0.00002 + 0.8700 -0.00089 0.00002 + 0.8800 -0.00099 0.00002 + 0.8900 -0.00108 0.00003 + 0.9000 -0.00123 0.00003 + 0.9100 -0.00129 0.00003 + 0.9200 -0.00136 0.00003 + 0.9300 -0.00139 0.00003 + 0.9400 -0.00138 0.00003 + 0.9500 -0.00144 0.00005 + 0.9600 -0.00144 0.00004 + 0.9700 -0.00146 0.00004 + 0.9800 -0.00146 0.00004 + 0.9900 -0.00140 0.00004 + 1.0000 -0.00135 0.00004 + 1.0100 -0.00125 0.00004 + 1.0200 -0.00118 0.00004 + 1.0300 -0.00109 0.00004 + 1.0400 -0.00096 0.00005 + 1.0500 -0.00083 0.00003 + 1.0600 -0.00073 0.00003 + 1.0700 -0.00061 0.00003 + 1.0800 -0.00048 0.00004 + 1.0900 -0.00038 0.00004 + 1.1500 0.00049 0.00004 + 1.1600 0.00061 0.00004 + 1.1700 0.00073 0.00003 + 1.1800 0.00074 0.00003 + 1.1900 0.00081 0.00003 + 1.2000 0.00090 0.00003 + 1.2100 0.00098 0.00003 + 1.2200 0.00104 0.00003 + 1.2300 0.00113 0.00003 + 1.2400 0.00119 0.00003 + 1.2500 0.00127 0.00003 + 1.2600 0.00136 0.00003 + 1.2700 0.00139 0.00004 + 1.2800 0.00144 0.00004 + 1.2900 0.00151 0.00005 + 1.3000 0.00151 0.00005 + 1.3100 0.00157 0.00005 + 1.3200 0.00159 0.00005 + 1.3300 0.00165 0.00004 + 1.3400 0.00169 0.00004 + 1.3500 0.00174 0.00004 + 1.3600 0.00178 0.00004 + 1.3700 0.00183 0.00005 + 1.3800 0.00187 0.00004 + 1.3900 0.00191 0.00004 + 1.4000 0.00195 0.00004 + 1.4100 0.00197 0.00003 + 1.4200 0.00198 0.00004 + 1.4300 0.00202 0.00004 + 1.4400 0.00207 0.00004 + 1.4500 0.00208 0.00005 + 1.4600 0.00212 0.00005 + 1.4700 0.00211 0.00005 + 1.4800 0.00214 0.00004 + 1.4900 0.00216 0.00004 + 1.5000 0.00218 0.00004 + 1.5100 0.00219 0.00004 + 1.5200 0.00222 0.00004 + 1.5300 0.00225 0.00005 + 1.5400 0.00224 0.00004 + 1.5500 0.00223 0.00005 + 1.5600 0.00228 0.00006 + 1.5700 0.00223 0.00010 diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc0.65.dat b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc0.65.dat new file mode 100644 index 0000000000..0962f886ec --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc0.65.dat @@ -0,0 +1,53 @@ +#NASA wall-mounted hump experimental data +# variables="x/c","y/c","u/Uinf","v/Uinf","uu/Uinf^2","vv/Uinf^2","uv/Uinf^2" +# zone t="exp, x/c=0.65" + 6.498178244E-01 1.579424441E-01 1.157422185E+00 -1.174861267E-01 2.963426756E-03 1.382058603E-03 -7.924744859E-04 + 6.498178244E-01 1.570634395E-01 1.154541373E+00 -1.177933291E-01 3.016612493E-03 1.349549508E-03 -8.270181133E-04 + 6.498178244E-01 1.562643498E-01 1.152262688E+00 -1.184995323E-01 3.073446685E-03 1.329321181E-03 -8.230066742E-04 + 6.498178244E-01 1.553853601E-01 1.149556756E+00 -1.193990707E-01 3.148945281E-03 1.313573914E-03 -7.725568721E-04 + 6.498178244E-01 1.545862705E-01 1.146937847E+00 -1.201944277E-01 3.224254120E-03 1.329997554E-03 -7.444764487E-04 + 6.498178244E-01 1.537072659E-01 1.144466519E+00 -1.207150444E-01 3.283807775E-03 1.359492540E-03 -7.723052986E-04 + 6.498178244E-01 1.529081762E-01 1.142548442E+00 -1.211195439E-01 3.369485261E-03 1.386007410E-03 -8.159951540E-04 + 6.498178244E-01 1.520291865E-01 1.140277505E+00 -1.220910549E-01 3.432946047E-03 1.351105049E-03 -8.063847199E-04 + 6.498178244E-01 1.512300968E-01 1.138366580E+00 -1.231580526E-01 3.446718678E-03 1.343775308E-03 -7.978530484E-04 + 6.498977542E-01 1.504310071E-01 1.136490107E+00 -1.241846010E-01 3.493449884E-03 1.337446971E-03 -7.756665582E-04 + 6.498977542E-01 1.495520025E-01 1.134360909E+00 -1.254722923E-01 3.546718741E-03 1.328937127E-03 -7.736269035E-04 + 6.498977542E-01 1.487529129E-01 1.132220507E+00 -1.270133704E-01 3.534730524E-03 1.291859196E-03 -7.801062311E-04 + 6.498977542E-01 1.478739232E-01 1.129864454E+00 -1.282649040E-01 3.442520509E-03 1.286633895E-03 -7.643524441E-04 + 6.498977542E-01 1.470748335E-01 1.127553105E+00 -1.294590384E-01 3.430875950E-03 1.313850284E-03 -7.395705907E-04 + 6.498977542E-01 1.461958289E-01 1.124728322E+00 -1.307509840E-01 3.477478633E-03 1.345840399E-03 -7.529405993E-04 + 6.498977542E-01 1.453967392E-01 1.122737527E+00 -1.321482807E-01 3.515347373E-03 1.336060232E-03 -7.437457680E-04 + 6.498977542E-01 1.445976496E-01 1.121258378E+00 -1.334215105E-01 3.520602826E-03 1.312311739E-03 -7.050913991E-04 + 6.498977542E-01 1.437186599E-01 1.119772434E+00 -1.349115521E-01 3.498072270E-03 1.300650067E-03 -6.967751542E-04 + 6.498977542E-01 1.429195702E-01 1.118191957E+00 -1.359206140E-01 3.490195842E-03 1.320227399E-03 -7.237236714E-04 + 6.498977542E-01 1.420405656E-01 1.116096139E+00 -1.369650364E-01 3.474079072E-03 1.314944704E-03 -7.357336581E-04 + 6.498977542E-01 1.412414759E-01 1.113949060E+00 -1.381629258E-01 3.514684504E-03 1.290921005E-03 -7.398488233E-04 + 6.499776840E-01 1.403624862E-01 1.111747503E+00 -1.395412385E-01 3.520513419E-03 1.271075918E-03 -7.373647531E-04 + 6.499776840E-01 1.395633966E-01 1.110372305E+00 -1.413756907E-01 3.474299330E-03 1.242995379E-03 -6.996222655E-04 + 6.499776840E-01 1.386843920E-01 1.108955741E+00 -1.435738504E-01 3.391034203E-03 1.231106347E-03 -6.775114452E-04 + 6.499776840E-01 1.378853023E-01 1.107795238E+00 -1.451570839E-01 3.384888638E-03 1.250525354E-03 -7.052521687E-04 + 6.499776840E-01 1.370862126E-01 1.106683016E+00 -1.464538872E-01 3.412942169E-03 1.321459189E-03 -7.516589831E-04 + 6.499776840E-01 1.362072229E-01 1.105084181E+00 -1.485866606E-01 3.422006033E-03 1.335660578E-03 -7.792486576E-04 + 6.499776840E-01 1.354081333E-01 1.103402972E+00 -1.505055428E-01 3.386090277E-03 1.303321216E-03 -7.727159536E-04 + 6.499776840E-01 1.345291287E-01 1.101417661E+00 -1.518783271E-01 3.419282380E-03 1.276765601E-03 -7.663441938E-04 + 6.499776840E-01 1.337300390E-01 1.099493146E+00 -1.531531364E-01 3.454744117E-03 1.250150497E-03 -7.343018078E-04 + 6.499776840E-01 1.328510493E-01 1.096742868E+00 -1.547823995E-01 3.545254469E-03 1.218066784E-03 -7.179881213E-04 + 6.499776840E-01 1.320519596E-01 1.094175458E+00 -1.566147506E-01 3.669505939E-03 1.191498013E-03 -7.228004397E-04 + 6.500575542E-01 1.312528700E-01 1.091437221E+00 -1.583398879E-01 3.740843153E-03 1.171784592E-03 -7.588120643E-04 + 6.500575542E-01 1.303738654E-01 1.088590622E+00 -1.603063792E-01 3.811600385E-03 1.132636913E-03 -7.920103380E-04 + 6.500575542E-01 1.295747757E-01 1.085253477E+00 -1.621365547E-01 3.945148550E-03 1.067463192E-03 -8.602957241E-04 + 6.500575542E-01 1.286957860E-01 1.080307722E+00 -1.641130745E-01 4.181130324E-03 1.026606886E-03 -9.602688951E-04 + 6.500575542E-01 1.278966963E-01 1.074358940E+00 -1.658288985E-01 4.449977539E-03 1.055180212E-03 -1.065614633E-03 + 6.500575542E-01 1.270176917E-01 1.066928983E+00 -1.674655229E-01 4.685278516E-03 1.066704746E-03 -1.100954250E-03 + 6.500575542E-01 1.262186021E-01 1.058968067E+00 -1.689135432E-01 4.948368762E-03 1.047636848E-03 -1.139816712E-03 + 6.500575542E-01 1.253396124E-01 1.047536254E+00 -1.706410795E-01 5.376938265E-03 1.012291526E-03 -1.241527614E-03 + 6.500575542E-01 1.245405227E-01 1.033390641E+00 -1.718840897E-01 5.946366582E-03 1.028185012E-03 -1.410605619E-03 + 6.500575542E-01 1.237414330E-01 1.014991999E+00 -1.722357571E-01 6.617727689E-03 1.093628118E-03 -1.601318596E-03 + 6.500575542E-01 1.228624359E-01 9.894784689E-01 -1.719260216E-01 7.275768090E-03 1.161610591E-03 -1.761707244E-03 + 6.500575542E-01 1.220633462E-01 9.606514573E-01 -1.710909903E-01 7.878733799E-03 1.216266071E-03 -1.943741343E-03 + 6.501374841E-01 1.211843491E-01 9.232735038E-01 -1.691789031E-01 8.620771579E-03 1.318826457E-03 -2.246397780E-03 + 6.501374841E-01 1.203852594E-01 8.838036656E-01 -1.657935679E-01 9.229050949E-03 1.429520780E-03 -2.533138264E-03 + 6.501374841E-01 1.195062622E-01 8.314516544E-01 -1.598735005E-01 9.195223451E-03 1.453775330E-03 -2.601133892E-03 + 6.501374841E-01 1.187071726E-01 7.673105001E-01 -1.520565301E-01 8.540284820E-03 1.387659926E-03 -2.476171823E-03 + 6.501374841E-01 1.179080829E-01 6.979481578E-01 -1.419584602E-01 8.472502232E-03 1.428166754E-03 -2.517442917E-03 + 6.501374841E-01 1.170290858E-01 6.279237866E-01 -1.283470988E-01 8.732763119E-03 1.202623826E-03 -2.523999661E-03 diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc0.66.dat b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc0.66.dat new file mode 100644 index 0000000000..bd4caafb83 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc0.66.dat @@ -0,0 +1,53 @@ +#NASA wall-mounted hump experimental data +# variables="x/c","y/c","u/Uinf","v/Uinf","uu/Uinf^2","vv/Uinf^2","uv/Uinf^2" +# zone t="exp, x/c=0.66" + 6.597265601E-01 1.579424441E-01 1.145505905E+00 -1.203291565E-01 3.082062816E-03 1.243700506E-03 -6.064974004E-04 + 6.597265601E-01 1.569835395E-01 1.143181562E+00 -1.210097075E-01 3.081237897E-03 1.238749712E-03 -6.765827420E-04 + 6.597265601E-01 1.561045349E-01 1.140479326E+00 -1.214799732E-01 3.089172067E-03 1.254524803E-03 -7.115102489E-04 + 6.597265601E-01 1.552255452E-01 1.137611628E+00 -1.219758019E-01 3.139638575E-03 1.299523865E-03 -7.591869798E-04 + 6.597265601E-01 1.542666256E-01 1.134880543E+00 -1.225446314E-01 3.269853070E-03 1.332136337E-03 -7.627691375E-04 + 6.597265601E-01 1.533876359E-01 1.132245898E+00 -1.225368157E-01 3.353286069E-03 1.330800354E-03 -7.744981558E-04 + 6.597265601E-01 1.525086313E-01 1.129476070E+00 -1.224985048E-01 3.378276713E-03 1.317918533E-03 -8.038129890E-04 + 6.597265601E-01 1.516296417E-01 1.126975656E+00 -1.231350228E-01 3.384805750E-03 1.320427167E-03 -8.500666008E-04 + 6.598064303E-01 1.506707370E-01 1.124861002E+00 -1.245921478E-01 3.399332520E-03 1.333695953E-03 -8.487470332E-04 + 6.598064303E-01 1.497917324E-01 1.122845054E+00 -1.258865744E-01 3.427424934E-03 1.327288221E-03 -8.318600594E-04 + 6.598064303E-01 1.489127427E-01 1.120092630E+00 -1.272987425E-01 3.385981079E-03 1.319526811E-03 -7.923884550E-04 + 6.598064303E-01 1.480337381E-01 1.117110729E+00 -1.288479567E-01 3.328511259E-03 1.315874979E-03 -7.578199147E-04 + 6.598064303E-01 1.470748335E-01 1.113854170E+00 -1.299433112E-01 3.303019796E-03 1.312644570E-03 -7.218869287E-04 + 6.598064303E-01 1.461958289E-01 1.110918045E+00 -1.303149462E-01 3.349069972E-03 1.346061472E-03 -7.264115848E-04 + 6.598064303E-01 1.453168392E-01 1.108586073E+00 -1.306689680E-01 3.398344619E-03 1.369230798E-03 -7.347545470E-04 + 6.598064303E-01 1.443579346E-01 1.106092453E+00 -1.316861957E-01 3.424103139E-03 1.382194110E-03 -7.447319222E-04 + 6.598064303E-01 1.434789300E-01 1.103196502E+00 -1.330611408E-01 3.430614946E-03 1.386461547E-03 -7.692725048E-04 + 6.598064303E-01 1.425999403E-01 1.100439191E+00 -1.344975978E-01 3.416861175E-03 1.388148288E-03 -7.874476141E-04 + 6.598064303E-01 1.417209357E-01 1.098572969E+00 -1.361733675E-01 3.405127442E-03 1.381228794E-03 -7.998293149E-04 + 6.598064303E-01 1.407620311E-01 1.096553683E+00 -1.376976967E-01 3.404418705E-03 1.357406843E-03 -7.891940768E-04 + 6.598064303E-01 1.398830265E-01 1.094339132E+00 -1.391832232E-01 3.428789554E-03 1.338381204E-03 -7.757521234E-04 + 6.598064303E-01 1.390040368E-01 1.091863513E+00 -1.403954923E-01 3.434694838E-03 1.336990274E-03 -7.884067018E-04 + 6.598863602E-01 1.381250322E-01 1.089453220E+00 -1.418372393E-01 3.391301725E-03 1.334489323E-03 -7.867725799E-04 + 6.598863602E-01 1.371661276E-01 1.087181091E+00 -1.434172094E-01 3.359743394E-03 1.305913203E-03 -7.900049095E-04 + 6.598863602E-01 1.362871230E-01 1.085297346E+00 -1.453988254E-01 3.413175931E-03 1.279336051E-03 -8.051387849E-04 + 6.598863602E-01 1.354081333E-01 1.082993984E+00 -1.471967846E-01 3.479173873E-03 1.257112599E-03 -8.323022630E-04 + 6.598863602E-01 1.344492286E-01 1.080049038E+00 -1.492918879E-01 3.472632496E-03 1.218181453E-03 -8.393928874E-04 + 6.598863602E-01 1.335702240E-01 1.077179670E+00 -1.511031538E-01 3.477013437E-03 1.194209326E-03 -8.320232737E-04 + 6.598863602E-01 1.326912344E-01 1.074298859E+00 -1.531145126E-01 3.528639907E-03 1.185772941E-03 -8.358689374E-04 + 6.598863602E-01 1.318122298E-01 1.071004748E+00 -1.548137069E-01 3.624782898E-03 1.179562998E-03 -8.524519508E-04 + 6.598863602E-01 1.308533251E-01 1.067091227E+00 -1.566798538E-01 3.691236954E-03 1.170267002E-03 -8.944072179E-04 + 6.598863602E-01 1.299743205E-01 1.063754082E+00 -1.582282335E-01 3.778177314E-03 1.166282222E-03 -9.353709174E-04 + 6.598863602E-01 1.290953308E-01 1.060232162E+00 -1.598436832E-01 3.867471823E-03 1.171950600E-03 -9.427402983E-04 + 6.598863602E-01 1.282163262E-01 1.055895686E+00 -1.615289599E-01 3.976393957E-03 1.146530150E-03 -9.270837181E-04 + 6.598863602E-01 1.272574216E-01 1.049973130E+00 -1.635400802E-01 4.206436221E-03 1.120639965E-03 -9.481173474E-04 + 6.599662900E-01 1.263784319E-01 1.043024659E+00 -1.655611992E-01 4.487144761E-03 1.103702351E-03 -9.725385462E-04 + 6.599662900E-01 1.254994273E-01 1.034365058E+00 -1.676459461E-01 4.872498102E-03 1.101873815E-03 -1.043591066E-03 + 6.599662900E-01 1.245405227E-01 1.022417426E+00 -1.695201695E-01 5.466638133E-03 1.112774946E-03 -1.183025423E-03 + 6.599662900E-01 1.236615255E-01 1.008856416E+00 -1.705954522E-01 6.202267017E-03 1.130101155E-03 -1.369649544E-03 + 6.599662900E-01 1.227825209E-01 9.918917418E-01 -1.712608188E-01 6.976875942E-03 1.182600157E-03 -1.609123196E-03 + 6.599662900E-01 1.219035238E-01 9.706647396E-01 -1.715517044E-01 7.736001164E-03 1.287065912E-03 -1.911867876E-03 + 6.599662900E-01 1.209446192E-01 9.404744506E-01 -1.709372848E-01 8.592188358E-03 1.386430347E-03 -2.239122288E-03 + 6.599662900E-01 1.200656220E-01 9.051048160E-01 -1.687899083E-01 9.353005327E-03 1.500426792E-03 -2.472863998E-03 + 6.599662900E-01 1.191866249E-01 8.634092808E-01 -1.659271717E-01 9.873121046E-03 1.582494471E-03 -2.654740587E-03 + 6.599662900E-01 1.183076277E-01 8.149395585E-01 -1.616900563E-01 1.003905293E-02 1.602779026E-03 -2.728138817E-03 + 6.599662900E-01 1.173487157E-01 7.517389655E-01 -1.553993374E-01 9.960605763E-03 1.601231867E-03 -2.726015635E-03 + 6.599662900E-01 1.164697185E-01 6.795890927E-01 -1.473491043E-01 1.017239504E-02 1.531918533E-03 -2.777522430E-03 + 6.599662900E-01 1.155907214E-01 5.761821866E-01 -1.338756084E-01 1.031220146E-02 1.533386647E-03 -2.938376507E-03 + 6.599662900E-01 1.146318167E-01 4.670067728E-01 -1.137163863E-01 1.303494908E-02 1.874316484E-03 -3.895130241E-03 + 6.600461602E-01 1.137528196E-01 3.920281827E-01 -9.254670888E-02 1.818214916E-02 2.144786296E-03 -5.355103407E-03 diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc0.80.dat b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc0.80.dat new file mode 100644 index 0000000000..b7f4482d3b --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc0.80.dat @@ -0,0 +1,59 @@ +#NASA wall-mounted hump experimental data +# variables="x/c","y/c","u/Uinf","v/Uinf","uu/Uinf^2","vv/Uinf^2","uv/Uinf^2" +# zone t="exp, x/c=0.8" + 8.005902767E-01 1.616123021E-01 1.121470451E+00 -7.490867376E-02 1.303087338E-03 1.815097407E-03 -4.084884422E-04 + 8.005902767E-01 1.591318399E-01 1.118781924E+00 -7.577054948E-02 1.334464876E-03 1.961446367E-03 -5.109960330E-04 + 8.005902767E-01 1.566513628E-01 1.114044905E+00 -7.718858868E-02 1.416650251E-03 2.120178659E-03 -6.247126730E-04 + 8.005902767E-01 1.541708857E-01 1.109796882E+00 -7.939794660E-02 1.481487881E-03 2.241280163E-03 -6.890632794E-04 + 8.005902767E-01 1.516904235E-01 1.106649160E+00 -8.182265610E-02 1.556556323E-03 2.356039127E-03 -7.193073398E-04 + 8.005902767E-01 1.492099464E-01 1.102667212E+00 -8.445422351E-02 1.671347185E-03 2.530284924E-03 -7.642512210E-04 + 8.005902767E-01 1.467294693E-01 1.098232508E+00 -8.699546009E-02 1.770389965E-03 2.741419710E-03 -8.016488864E-04 + 8.005902767E-01 1.444398016E-01 1.094539404E+00 -8.845433593E-02 1.876188675E-03 2.975091804E-03 -8.047596202E-04 + 8.005902767E-01 1.419593394E-01 1.091236949E+00 -8.737003058E-02 2.090033842E-03 3.265882609E-03 -8.258419693E-04 + 8.005902767E-01 1.394788623E-01 1.085883975E+00 -8.624641597E-02 2.439148491E-03 3.543233266E-03 -9.291673778E-04 + 8.005902767E-01 1.369983852E-01 1.080046177E+00 -8.504381776E-02 2.843731083E-03 3.710430348E-03 -1.085311058E-03 + 8.005902767E-01 1.345179081E-01 1.073895216E+00 -8.440691233E-02 3.254766343E-03 3.826464526E-03 -1.211872208E-03 + 8.005902767E-01 1.320374459E-01 1.068011403E+00 -8.374771476E-02 3.708019154E-03 4.021713044E-03 -1.267575775E-03 + 8.005902767E-01 1.295569688E-01 1.060120702E+00 -8.364355564E-02 4.287549760E-03 4.298174288E-03 -1.284118276E-03 + 8.005902767E-01 1.270765066E-01 1.050232887E+00 -8.409471065E-02 5.112478510E-03 4.600455519E-03 -1.413590508E-03 + 8.005902767E-01 1.247868314E-01 1.039624095E+00 -8.413280547E-02 6.318210624E-03 5.061702803E-03 -1.867426326E-03 + 8.005902767E-01 1.223063618E-01 1.025800705E+00 -8.351314813E-02 8.085642941E-03 5.875509698E-03 -2.793460386E-03 + 8.005902767E-01 1.198258922E-01 1.008460641E+00 -8.298997581E-02 1.077098772E-02 6.944452412E-03 -4.143089987E-03 + 8.005902767E-01 1.173454225E-01 9.853499532E-01 -8.393922448E-02 1.480326150E-02 7.953774184E-03 -5.740308668E-03 + 8.005902767E-01 1.148649380E-01 9.523173571E-01 -8.557058126E-02 1.999501325E-02 8.832225576E-03 -7.587511092E-03 + 8.005902767E-01 1.123844683E-01 9.098948836E-01 -8.842892945E-02 2.589172497E-02 9.978947230E-03 -9.879040532E-03 + 8.005902767E-01 1.099039987E-01 8.542684913E-01 -8.853410929E-02 3.265289962E-02 1.179325487E-02 -1.279073395E-02 + 8.005902767E-01 1.074235290E-01 7.891518474E-01 -8.513031900E-02 3.959652409E-02 1.400205586E-02 -1.606311090E-02 + 8.005902767E-01 1.049430594E-01 7.158241868E-01 -7.747742534E-02 4.460152239E-02 1.592389867E-02 -1.876402646E-02 + 8.005902767E-01 1.026533842E-01 6.458798051E-01 -7.037635893E-02 4.680653289E-02 1.735247485E-02 -2.012136392E-02 + 8.005902767E-01 1.001729146E-01 5.668497086E-01 -6.114522740E-02 4.697216302E-02 1.846550032E-02 -2.034199610E-02 + 8.005902767E-01 9.769244492E-02 4.933900237E-01 -5.180878565E-02 4.523552209E-02 1.932028309E-02 -2.002717555E-02 + 8.005902767E-01 9.521197528E-02 4.225071371E-01 -4.188818112E-02 4.184388742E-02 2.012320422E-02 -1.946179383E-02 + 8.005902767E-01 9.273150563E-02 3.577908874E-01 -3.370687738E-02 3.842668980E-02 2.109735645E-02 -1.885573752E-02 + 8.005902767E-01 9.025102109E-02 2.997667491E-01 -2.578705177E-02 3.593063354E-02 2.200611681E-02 -1.822904311E-02 + 8.005902767E-01 8.777055144E-02 2.491032928E-01 -1.709260233E-02 3.367157653E-02 2.232628502E-02 -1.726934314E-02 + 8.005902767E-01 8.529008180E-02 2.037411183E-01 -6.569190882E-03 3.129268065E-02 2.179160714E-02 -1.597127505E-02 + 8.005902767E-01 8.300042152E-02 1.682378054E-01 2.245086711E-03 2.874740027E-02 2.062918618E-02 -1.448710728E-02 + 8.005902767E-01 8.051995188E-02 1.329764128E-01 1.027817931E-02 2.560742944E-02 1.921496540E-02 -1.268040668E-02 + 8.005902767E-01 7.803946733E-02 9.856705368E-02 1.853786036E-02 2.223731950E-02 1.772390679E-02 -1.057865191E-02 + 8.005902767E-01 7.555899769E-02 6.863341480E-02 2.669456787E-02 1.954352669E-02 1.597674191E-02 -8.610100485E-03 + 8.005902767E-01 7.307852805E-02 4.414540529E-02 3.375020251E-02 1.773242466E-02 1.394558977E-02 -7.107693702E-03 + 8.005902767E-01 7.059805840E-02 2.111947909E-02 3.970529139E-02 1.636936702E-02 1.212624926E-02 -6.039974745E-03 + 8.005902767E-01 6.811758131E-02 1.094421954E-03 4.457939044E-02 1.511932444E-02 1.087393891E-02 -5.276765674E-03 + 8.005902767E-01 6.563711166E-02 -1.620878465E-02 4.760367051E-02 1.419583987E-02 1.013049856E-02 -4.772617482E-03 + 8.005902767E-01 6.334744394E-02 -2.992722765E-02 4.954505712E-02 1.377176866E-02 9.719577618E-03 -4.521029070E-03 + 8.005902767E-01 6.086697429E-02 -4.310442135E-02 5.199303478E-02 1.349069364E-02 9.430889972E-03 -4.436485469E-03 + 8.005902767E-01 5.838649720E-02 -5.380488560E-02 5.437858403E-02 1.314222813E-02 9.100869298E-03 -4.392202478E-03 + 8.005902767E-01 5.590602756E-02 -6.405300647E-02 5.649575219E-02 1.293213386E-02 8.717050776E-03 -4.419308156E-03 + 8.005902767E-01 5.342555791E-02 -7.463216782E-02 5.890462548E-02 1.301025413E-02 8.269911632E-03 -4.538847599E-03 + 8.005902767E-01 5.094508082E-02 -8.466589451E-02 6.133150682E-02 1.325056702E-02 7.672771811E-03 -4.604336806E-03 + 8.005902767E-01 4.846461117E-02 -9.417419136E-02 6.294035167E-02 1.329729240E-02 6.926237606E-03 -4.552839324E-03 + 8.005902767E-01 4.598414153E-02 -1.029416695E-01 6.378927827E-02 1.310375519E-02 6.174115464E-03 -4.459286109E-03 + 8.005902767E-01 4.350366443E-02 -1.115296558E-01 6.396266073E-02 1.309148874E-02 5.598681979E-03 -4.372397903E-03 + 8.005902767E-01 4.121399671E-02 -1.174789667E-01 6.375358254E-02 1.334063150E-02 5.178882740E-03 -4.253517836E-03 + 8.005902767E-01 3.873352706E-02 -1.207440719E-01 6.274210662E-02 1.348930225E-02 4.655967467E-03 -4.084012937E-03 + 8.005902767E-01 3.625305369E-02 -1.221089587E-01 6.043719500E-02 1.356347557E-02 3.942646552E-03 -3.927685320E-03 + 8.005902767E-01 3.377258405E-02 -1.292634904E-01 5.653725564E-02 1.349843945E-02 3.207790200E-03 -3.723620903E-03 + 8.005902767E-01 3.129211068E-02 -1.213975474E-01 4.602875561E-02 1.218008529E-02 2.533267951E-03 -3.121029818E-03 + 8.005902767E-01 2.881163917E-02 -1.004704908E-01 2.847713977E-02 8.849394508E-03 1.858423231E-03 -1.912783482E-03 + 8.005902767E-01 2.633116581E-02 -5.250500143E-02 8.073410019E-03 4.974067677E-03 1.256481162E-03 -6.028166972E-04 diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc0.90.dat b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc0.90.dat new file mode 100644 index 0000000000..8b7db797eb --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc0.90.dat @@ -0,0 +1,67 @@ +#NASA wall-mounted hump experimental data +# variables="x/c","y/c","u/Uinf","v/Uinf","uu/Uinf^2","vv/Uinf^2","uv/Uinf^2" +# zone t="exp, x/c=0.9" + 8.994275928E-01 1.616123021E-01 1.120033979E+00 -1.261594743E-01 8.855023771E-04 2.504986012E-03 -3.570032277E-05 + 8.994275928E-01 1.591318399E-01 1.118026137E+00 -1.243647411E-01 9.592936258E-04 2.733888570E-03 -1.391426340E-04 + 8.994275928E-01 1.566513628E-01 1.116037965E+00 -1.225152612E-01 1.123019494E-03 2.998184180E-03 -2.415007330E-04 + 8.994275928E-01 1.541708857E-01 1.114073157E+00 -1.224193424E-01 1.267892309E-03 3.246747423E-03 -3.274332557E-04 + 8.994275928E-01 1.516904235E-01 1.112686276E+00 -1.232061908E-01 1.331394305E-03 3.487982322E-03 -4.122681858E-04 + 8.994275928E-01 1.492099464E-01 1.111374259E+00 -1.227736771E-01 1.405647607E-03 3.749533789E-03 -5.214900011E-04 + 8.994275928E-01 1.467294693E-01 1.108426094E+00 -1.207639277E-01 1.598047093E-03 4.019864369E-03 -6.510775420E-04 + 8.994275928E-01 1.444398016E-01 1.104178190E+00 -1.193324253E-01 1.954099629E-03 4.326852039E-03 -7.900339551E-04 + 8.994275928E-01 1.419593394E-01 1.100580215E+00 -1.189034134E-01 2.469700761E-03 4.683479201E-03 -9.802049026E-04 + 8.994275928E-01 1.394788623E-01 1.095855355E+00 -1.189958677E-01 3.090241924E-03 5.045507569E-03 -1.233944553E-03 + 8.994275928E-01 1.369983852E-01 1.089005113E+00 -1.191888377E-01 3.786559682E-03 5.470444914E-03 -1.557364129E-03 + 8.994275928E-01 1.345179081E-01 1.081145406E+00 -1.197089106E-01 4.531626590E-03 6.020222791E-03 -1.988336677E-03 + 8.994275928E-01 1.320374459E-01 1.073971510E+00 -1.201161221E-01 5.308752880E-03 6.543368567E-03 -2.510873368E-03 + 8.994275928E-01 1.295569688E-01 1.067293048E+00 -1.198517382E-01 6.336037070E-03 6.879867520E-03 -3.050664905E-03 + 8.994275928E-01 1.270765066E-01 1.060010552E+00 -1.193109825E-01 7.891636342E-03 7.148921490E-03 -3.593249712E-03 + 8.994275928E-01 1.247868314E-01 1.051300287E+00 -1.187587604E-01 9.872389026E-03 7.637424394E-03 -4.276058171E-03 + 8.994275928E-01 1.223063618E-01 1.041002274E+00 -1.191000044E-01 1.191298757E-02 8.494352922E-03 -5.163690075E-03 + 8.994275928E-01 1.198258922E-01 1.027295470E+00 -1.204917356E-01 1.405229326E-02 9.583419189E-03 -6.139469799E-03 + 8.994275928E-01 1.173454225E-01 1.008510232E+00 -1.209284663E-01 1.690773480E-02 1.073120628E-02 -7.297961041E-03 + 8.994275928E-01 1.148649380E-01 9.845353365E-01 -1.199050322E-01 2.085169032E-02 1.189385727E-02 -8.939372376E-03 + 8.994275928E-01 1.123844683E-01 9.599520564E-01 -1.192036942E-01 2.550556511E-02 1.313248742E-02 -1.100858022E-02 + 8.994275928E-01 1.099039987E-01 9.339805841E-01 -1.186749116E-01 2.999133430E-02 1.448456198E-02 -1.298345253E-02 + 8.994275928E-01 1.074235290E-01 9.068170786E-01 -1.165238172E-01 3.351226076E-02 1.580961421E-02 -1.436306350E-02 + 8.994275928E-01 1.049430594E-01 8.775953650E-01 -1.144812182E-01 3.596277907E-02 1.710035652E-02 -1.517954189E-02 + 8.994275928E-01 1.026533842E-01 8.442474604E-01 -1.112686172E-01 3.800965473E-02 1.874336228E-02 -1.605838165E-02 + 8.994275928E-01 1.001729146E-01 7.973498106E-01 -1.054017618E-01 4.034484923E-02 2.093207464E-02 -1.742597669E-02 + 8.994275928E-01 9.769244492E-02 7.446420789E-01 -1.001754627E-01 4.304249585E-02 2.306849882E-02 -1.891519688E-02 + 8.994275928E-01 9.521197528E-02 6.930033565E-01 -9.686401486E-02 4.608987272E-02 2.458551899E-02 -2.011638694E-02 + 8.994275928E-01 9.273150563E-02 6.440863013E-01 -9.390257299E-02 4.914550856E-02 2.556191944E-02 -2.111542411E-02 + 8.994275928E-01 9.025102109E-02 5.961585641E-01 -9.155413508E-02 5.145297572E-02 2.628353052E-02 -2.198878303E-02 + 8.994275928E-01 8.777055144E-02 5.515489578E-01 -9.004551917E-02 5.268603563E-02 2.705513127E-02 -2.245431766E-02 + 8.994275928E-01 8.529008180E-02 5.079089999E-01 -8.637150377E-02 5.277968198E-02 2.809511684E-02 -2.238063142E-02 + 8.994275928E-01 8.300042152E-02 4.676650167E-01 -8.014598489E-02 5.176416785E-02 2.916034311E-02 -2.189744823E-02 + 8.994275928E-01 8.051995188E-02 4.234722853E-01 -7.036592066E-02 4.999174923E-02 2.972827666E-02 -2.107021585E-02 + 8.994275928E-01 7.803946733E-02 3.826412857E-01 -5.971165001E-02 4.836310074E-02 2.979081124E-02 -2.025172859E-02 + 8.994275928E-01 7.555899769E-02 3.445238471E-01 -4.965997115E-02 4.727634043E-02 2.970343828E-02 -1.962380484E-02 + 8.994275928E-01 7.307852805E-02 3.082407713E-01 -4.152378440E-02 4.597458988E-02 2.972461842E-02 -1.902526245E-02 + 8.994275928E-01 7.059805840E-02 2.701643407E-01 -3.492439538E-02 4.409647360E-02 2.987899072E-02 -1.856805384E-02 + 8.994275928E-01 6.811758131E-02 2.294393927E-01 -2.968982793E-02 4.214414582E-02 2.977882698E-02 -1.811263710E-02 + 8.994275928E-01 6.563711166E-02 1.919815838E-01 -2.712144516E-02 4.061726108E-02 2.912849933E-02 -1.742946170E-02 + 8.994275928E-01 6.334744394E-02 1.591420174E-01 -2.634410374E-02 3.970753029E-02 2.806518227E-02 -1.682571508E-02 + 8.994275928E-01 6.086697429E-02 1.240901425E-01 -2.403468266E-02 3.956642374E-02 2.670271881E-02 -1.644704118E-02 + 8.994275928E-01 5.838649720E-02 9.007543325E-02 -1.874664798E-02 4.020494968E-02 2.503859811E-02 -1.600810885E-02 + 8.994275928E-01 5.590602756E-02 5.964418873E-02 -1.375210937E-02 4.083745182E-02 2.333931625E-02 -1.544732973E-02 + 8.994275928E-01 5.342555791E-02 3.127866983E-02 -9.565115906E-03 4.032125324E-02 2.194318362E-02 -1.480148826E-02 + 8.994275928E-01 5.094508082E-02 5.272803362E-03 -5.246357992E-03 3.862981126E-02 2.079590037E-02 -1.387215219E-02 + 8.994275928E-01 4.846461117E-02 -1.673739962E-02 -4.471098509E-05 3.674581274E-02 1.977625303E-02 -1.267876755E-02 + 8.994275928E-01 4.598414153E-02 -3.695979714E-02 4.372948315E-03 3.516439721E-02 1.896297559E-02 -1.153535582E-02 + 8.994275928E-01 4.350366443E-02 -5.829982832E-02 7.866069674E-03 3.352415189E-02 1.831023209E-02 -1.054350939E-02 + 8.994275928E-01 4.121399671E-02 -8.063500375E-02 1.160606928E-02 3.164271638E-02 1.762815751E-02 -9.644947946E-03 + 8.994275928E-01 3.873352706E-02 -1.028339267E-01 1.690632850E-02 2.992347255E-02 1.691352576E-02 -8.954188786E-03 + 8.994275928E-01 3.625305369E-02 -1.217977181E-01 2.127806470E-02 2.866300382E-02 1.633130014E-02 -8.575764485E-03 + 8.994275928E-01 3.377258405E-02 -1.379414052E-01 2.437436394E-02 2.760335431E-02 1.586303301E-02 -8.423669264E-03 + 8.994275928E-01 3.129211068E-02 -1.535077691E-01 2.541364171E-02 2.630027942E-02 1.528981701E-02 -8.288315497E-03 + 8.994275928E-01 2.881163917E-02 -1.676043570E-01 2.644040436E-02 2.461354807E-02 1.449485403E-02 -7.944944315E-03 + 8.994275928E-01 2.633116581E-02 -1.834582537E-01 2.782393061E-02 2.283860743E-02 1.368563622E-02 -7.387238089E-03 + 8.994275928E-01 2.385069616E-02 -1.972346008E-01 2.886314876E-02 2.139381878E-02 1.300208177E-02 -6.841629278E-03 + 8.994275928E-01 2.156102844E-02 -2.079745680E-01 2.892309241E-02 2.014817297E-02 1.227930561E-02 -6.346099079E-03 + 8.994275928E-01 1.908055507E-02 -2.175187469E-01 2.925378829E-02 1.898842305E-02 1.148030069E-02 -5.681095179E-03 + 8.994275928E-01 1.660008356E-02 -2.296813577E-01 3.029560857E-02 1.816127077E-02 1.054030098E-02 -4.739503376E-03 + 8.994275928E-01 1.411961112E-02 -2.424381226E-01 3.160254285E-02 1.774391904E-02 8.998955600E-03 -3.557340708E-03 + 8.994275928E-01 1.163913868E-02 -2.577902675E-01 3.686381504E-02 1.710804179E-02 6.730248220E-03 -2.482749289E-03 + 8.994275928E-01 9.158667177E-03 -2.442996055E-01 2.957641706E-02 1.531316619E-02 4.698703066E-03 -1.946946955E-03 + 8.994275928E-01 6.678195205E-03 -2.086922526E-01 3.111872636E-02 1.243841927E-02 3.889505286E-03 -1.690689591E-03 diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc1.00.dat b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc1.00.dat new file mode 100644 index 0000000000..58b8fe85e4 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc1.00.dat @@ -0,0 +1,70 @@ +#NASA wall-mounted hump experimental data +# variables="x/c","y/c","u/Uinf","v/Uinf","uu/Uinf^2","vv/Uinf^2","uv/Uinf^2" +# zone t="exp, x/c=1.0" + 9.987713695E-01 1.650467962E-01 1.115419388E+00 -1.437979788E-01 9.136397857E-04 1.504267566E-03 -1.515294425E-04 + 9.987713695E-01 1.625663340E-01 1.113825560E+00 -1.445009559E-01 8.623558679E-04 1.492856420E-03 -1.641977724E-04 + 9.987713695E-01 1.600858569E-01 1.113191366E+00 -1.450513303E-01 8.472026093E-04 1.512360992E-03 -1.731648226E-04 + 9.987713695E-01 1.577961892E-01 1.113211751E+00 -1.453224868E-01 8.562072180E-04 1.549560693E-03 -1.790495880E-04 + 9.987713695E-01 1.553157270E-01 1.112359762E+00 -1.444649696E-01 8.587039192E-04 1.601226279E-03 -2.017140505E-04 + 9.987713695E-01 1.528352499E-01 1.110478759E+00 -1.445749402E-01 9.004176827E-04 1.691169920E-03 -2.507901809E-04 + 9.987713695E-01 1.503547728E-01 1.108097434E+00 -1.454304308E-01 1.035180758E-03 1.795412390E-03 -3.047353821E-04 + 9.987713695E-01 1.478743106E-01 1.105649710E+00 -1.461204290E-01 1.306342427E-03 1.902761520E-03 -3.585193190E-04 + 9.987713695E-01 1.453938335E-01 1.100740552E+00 -1.460320503E-01 1.697509200E-03 2.063477878E-03 -4.523798125E-04 + 9.987713695E-01 1.429133713E-01 1.094876766E+00 -1.456575245E-01 2.100739162E-03 2.305189846E-03 -5.797437625E-04 + 9.987713695E-01 1.406236887E-01 1.088848829E+00 -1.452273130E-01 2.428917680E-03 2.588370815E-03 -7.139087538E-04 + 9.987713695E-01 1.381432265E-01 1.082609534E+00 -1.449867636E-01 2.770146122E-03 2.901228610E-03 -9.166151285E-04 + 9.987713695E-01 1.356627494E-01 1.076179981E+00 -1.457010955E-01 3.304348560E-03 3.260702826E-03 -1.214028103E-03 + 9.987713695E-01 1.331822872E-01 1.068459392E+00 -1.467544287E-01 4.014363047E-03 3.661449533E-03 -1.523364452E-03 + 9.987713695E-01 1.307017952E-01 1.060469627E+00 -1.478898376E-01 4.770395812E-03 4.153805785E-03 -1.842915663E-03 + 9.987713695E-01 1.282213330E-01 1.052447319E+00 -1.492320448E-01 5.474945065E-03 4.749095533E-03 -2.215250162E-03 + 9.987713695E-01 1.257408559E-01 1.045282602E+00 -1.506766379E-01 6.040933542E-03 5.336253438E-03 -2.543058479E-03 + 9.987713695E-01 1.234511957E-01 1.037911177E+00 -1.512343585E-01 6.596357096E-03 5.910395179E-03 -2.817252418E-03 + 9.987713695E-01 1.209707260E-01 1.028207779E+00 -1.519186348E-01 7.341460790E-03 6.611711811E-03 -3.200923791E-03 + 9.987713695E-01 1.184902489E-01 1.015701652E+00 -1.537513882E-01 8.262288757E-03 7.469751406E-03 -3.698935732E-03 + 9.987713695E-01 1.160097793E-01 1.000989079E+00 -1.559386700E-01 9.410133585E-03 8.460459299E-03 -4.182880279E-03 + 9.987713695E-01 1.135293022E-01 9.845277071E-01 -1.572448313E-01 1.112217456E-02 9.631033055E-03 -4.718499724E-03 + 9.987713695E-01 1.110488325E-01 9.654151797E-01 -1.579020768E-01 1.366593875E-02 1.094660442E-02 -5.541824736E-03 + 9.987713695E-01 1.085683629E-01 9.446232319E-01 -1.582369953E-01 1.681720279E-02 1.226741448E-02 -6.731013302E-03 + 9.987713695E-01 1.062786952E-01 9.256863594E-01 -1.585361362E-01 2.029488422E-02 1.362705883E-02 -8.221508004E-03 + 9.987713695E-01 1.037982181E-01 9.045184255E-01 -1.577952057E-01 2.430511825E-02 1.521399431E-02 -1.003345475E-02 + 9.987713695E-01 1.013177484E-01 8.804571033E-01 -1.554412693E-01 2.887092531E-02 1.696717925E-02 -1.215422805E-02 + 9.987713695E-01 9.883727878E-02 8.533861637E-01 -1.536020190E-01 3.338006139E-02 1.862790436E-02 -1.428792346E-02 + 9.987713695E-01 9.635680914E-02 8.251942396E-01 -1.531558633E-01 3.716321290E-02 2.014563233E-02 -1.603343897E-02 + 9.987713695E-01 9.387633204E-02 7.977269292E-01 -1.524621397E-01 4.007302970E-02 2.166775055E-02 -1.732376777E-02 + 9.987713695E-01 9.139586240E-02 7.702716589E-01 -1.512652338E-01 4.237365723E-02 2.322981507E-02 -1.836612448E-02 + 9.987713695E-01 8.891538531E-02 7.393156290E-01 -1.514185816E-01 4.438676685E-02 2.469101548E-02 -1.915926486E-02 + 9.987713695E-01 8.662572503E-02 7.069252729E-01 -1.514378041E-01 4.668892547E-02 2.588976361E-02 -1.962051541E-02 + 9.987713695E-01 8.414524794E-02 6.703600287E-01 -1.497254968E-01 4.906312749E-02 2.667429484E-02 -1.992627792E-02 + 9.987713695E-01 8.166477829E-02 6.323234439E-01 -1.450654417E-01 5.032312497E-02 2.707227319E-02 -2.027117088E-02 + 9.987713695E-01 7.918430865E-02 5.945091844E-01 -1.374677122E-01 5.088351294E-02 2.760811150E-02 -2.089483850E-02 + 9.987713695E-01 7.670383155E-02 5.576871037E-01 -1.291767061E-01 5.228560418E-02 2.856428362E-02 -2.194358036E-02 + 9.987713695E-01 7.422336191E-02 5.194067955E-01 -1.215120032E-01 5.470324680E-02 2.943918295E-02 -2.317675203E-02 + 9.987713695E-01 7.174289227E-02 4.787252247E-01 -1.144706905E-01 5.719977245E-02 3.004927374E-02 -2.427102253E-02 + 9.987713695E-01 6.945322454E-02 4.414601922E-01 -1.086007506E-01 5.916120112E-02 3.110546060E-02 -2.541916817E-02 + 9.987713695E-01 6.697274745E-02 4.041745663E-01 -1.041641086E-01 6.052241847E-02 3.312020749E-02 -2.707655914E-02 + 9.987713695E-01 6.449227780E-02 3.701625764E-01 -1.020291895E-01 6.105243787E-02 3.562016785E-02 -2.890787646E-02 + 9.987713695E-01 6.201180443E-02 3.378343284E-01 -1.010650843E-01 6.071978807E-02 3.772080690E-02 -3.016294539E-02 + 9.987713695E-01 5.953133479E-02 3.049013317E-01 -9.835141897E-02 5.984697863E-02 3.882266209E-02 -3.041014075E-02 + 9.987713695E-01 5.705085769E-02 2.708427608E-01 -9.333395958E-02 5.832649767E-02 3.876873478E-02 -2.952497452E-02 + 9.987713695E-01 5.457038805E-02 2.375558913E-01 -8.901655674E-02 5.658323318E-02 3.806246445E-02 -2.811546624E-02 + 9.987713695E-01 5.228072032E-02 2.077666968E-01 -8.633763343E-02 5.570346862E-02 3.785399720E-02 -2.724400721E-02 + 9.987713695E-01 4.980025068E-02 1.766418517E-01 -8.385205269E-02 5.521979928E-02 3.852096573E-02 -2.692440897E-02 + 9.987713695E-01 4.731977731E-02 1.488368511E-01 -8.221644163E-02 5.381916463E-02 3.884667903E-02 -2.616107278E-02 + 9.987713695E-01 4.483930394E-02 1.224129498E-01 -8.064294606E-02 5.138660222E-02 3.757486492E-02 -2.457598411E-02 + 9.987713695E-01 4.235883430E-02 9.334086627E-02 -7.779095322E-02 4.884918407E-02 3.499156609E-02 -2.279339544E-02 + 9.987713695E-01 3.987836093E-02 6.241531670E-02 -7.496728003E-02 4.706967622E-02 3.254085407E-02 -2.137227915E-02 + 9.987713695E-01 3.739788756E-02 3.358864039E-02 -7.243508846E-02 4.594816640E-02 3.105339408E-02 -2.017064393E-02 + 9.987713695E-01 3.510821983E-02 1.006245706E-02 -6.887260079E-02 4.519880190E-02 3.020052984E-02 -1.907663792E-02 + 9.987713695E-01 3.262775019E-02 -1.072783303E-02 -6.445898861E-02 4.452562705E-02 2.942183241E-02 -1.819541492E-02 + 9.987713695E-01 3.014727682E-02 -2.720182016E-02 -5.955112353E-02 4.294746369E-02 2.844742686E-02 -1.733162813E-02 + 9.987713695E-01 2.766680531E-02 -4.400011525E-02 -5.481132865E-02 3.986752778E-02 2.716066316E-02 -1.610949077E-02 + 9.987713695E-01 2.518633381E-02 -6.676454097E-02 -5.014520139E-02 3.582421690E-02 2.540706098E-02 -1.444745995E-02 + 9.987713695E-01 2.270586230E-02 -8.923245966E-02 -4.644820839E-02 3.163884953E-02 2.328020148E-02 -1.256832108E-02 + 9.987713695E-01 2.022538893E-02 -1.075171381E-01 -4.256771877E-02 2.774123847E-02 2.106912620E-02 -1.064174995E-02 + 9.987713695E-01 1.793572120E-02 -1.234337911E-01 -3.990349919E-02 2.475146390E-02 1.892183721E-02 -8.866470307E-03 + 9.987713695E-01 1.545525063E-02 -1.408311576E-01 -3.812465444E-02 2.325810865E-02 1.692700572E-02 -7.486034185E-03 + 9.987713695E-01 1.297477912E-02 -1.564265937E-01 -3.552887216E-02 2.251193672E-02 1.500708330E-02 -6.595098414E-03 + 9.987713695E-01 1.049430668E-02 -1.704173684E-01 -3.029381670E-02 2.144599333E-02 1.272205543E-02 -5.912903231E-03 + 9.987713695E-01 8.013833314E-03 -1.861599982E-01 -2.304878458E-02 2.020477317E-02 9.799310938E-03 -4.934292752E-03 + 9.987713695E-01 5.533361807E-03 -1.954202801E-01 -1.629274525E-02 1.921291463E-02 6.491373759E-03 -3.369652200E-03 + 9.987713695E-01 3.052887972E-03 -1.934805512E-01 -9.635722265E-03 1.856860705E-02 3.941032104E-03 -1.865931903E-03 diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc1.10.dat b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc1.10.dat new file mode 100644 index 0000000000..1ce2c495e4 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc1.10.dat @@ -0,0 +1,70 @@ +#NASA wall-mounted hump experimental data +# variables="x/c","y/c","u/Uinf","v/Uinf","uu/Uinf^2","vv/Uinf^2","uv/Uinf^2" +# zone t="exp, x/c=1.1" + 1.099707484E+00 1.650467962E-01 1.084640265E+00 -1.300181299E-01 7.250818890E-04 1.261308440E-03 6.919709995E-05 + 1.099707484E+00 1.625663340E-01 1.084919691E+00 -1.322703660E-01 6.967606605E-04 1.251222100E-03 4.175966387E-05 + 1.099707484E+00 1.600858569E-01 1.084738493E+00 -1.318854392E-01 6.779177347E-04 1.259960234E-03 1.858899304E-05 + 1.099707484E+00 1.577961892E-01 1.083399653E+00 -1.306033581E-01 7.118580979E-04 1.310289372E-03 -1.124327582E-06 + 1.099707484E+00 1.553157270E-01 1.081502914E+00 -1.301895976E-01 7.941294461E-04 1.394656487E-03 -4.072722368E-05 + 1.099707484E+00 1.528352499E-01 1.079902172E+00 -1.305407435E-01 9.026821353E-04 1.477150945E-03 -1.104564217E-04 + 1.099707484E+00 1.503547728E-01 1.077853799E+00 -1.316351742E-01 1.060960931E-03 1.538476092E-03 -1.958618668E-04 + 1.099707484E+00 1.478743106E-01 1.073789597E+00 -1.329398304E-01 1.290809130E-03 1.615984482E-03 -2.846946009E-04 + 1.099707484E+00 1.453938335E-01 1.069460034E+00 -1.332454383E-01 1.576715731E-03 1.763943001E-03 -3.907698265E-04 + 1.099707484E+00 1.429133713E-01 1.065674543E+00 -1.330411285E-01 1.892531407E-03 1.964183757E-03 -5.234680721E-04 + 1.099707484E+00 1.406236887E-01 1.061381340E+00 -1.332623661E-01 2.221466741E-03 2.158245305E-03 -6.535993889E-04 + 1.099707484E+00 1.381432265E-01 1.055228472E+00 -1.340874583E-01 2.562930575E-03 2.379368758E-03 -7.568136207E-04 + 1.099707484E+00 1.356627494E-01 1.048532128E+00 -1.345337331E-01 2.962295664E-03 2.701830119E-03 -8.525869926E-04 + 1.099707484E+00 1.331822872E-01 1.041480303E+00 -1.354981214E-01 3.462038701E-03 3.102007322E-03 -9.606368258E-04 + 1.099707484E+00 1.307017952E-01 1.033528447E+00 -1.368696243E-01 3.992218524E-03 3.490565810E-03 -1.070150989E-03 + 1.099707484E+00 1.282213330E-01 1.023685217E+00 -1.392688453E-01 4.532219842E-03 3.854254261E-03 -1.156294020E-03 + 1.099707484E+00 1.257408559E-01 1.013271809E+00 -1.413606405E-01 5.180036183E-03 4.267158918E-03 -1.194069278E-03 + 1.099707484E+00 1.234511957E-01 1.003292561E+00 -1.433900893E-01 5.917089060E-03 4.739735741E-03 -1.212316682E-03 + 1.099707484E+00 1.209707260E-01 9.939795732E-01 -1.450504661E-01 6.598072127E-03 5.173122510E-03 -1.310901600E-03 + 1.099707484E+00 1.184902489E-01 9.838889241E-01 -1.466632783E-01 7.153178565E-03 5.485933740E-03 -1.552076545E-03 + 1.099707484E+00 1.160097793E-01 9.734282494E-01 -1.475249976E-01 7.758488879E-03 5.767374299E-03 -1.910332008E-03 + 1.099707484E+00 1.135293022E-01 9.614465833E-01 -1.483839601E-01 8.793211542E-03 6.182906218E-03 -2.375381766E-03 + 1.099707484E+00 1.110488325E-01 9.485991001E-01 -1.487458944E-01 1.035698783E-02 6.705481093E-03 -3.013876965E-03 + 1.099707484E+00 1.085683629E-01 9.339503646E-01 -1.490166634E-01 1.217466779E-02 7.152707782E-03 -3.780350788E-03 + 1.099707484E+00 1.062786952E-01 9.201508760E-01 -1.505030990E-01 1.417316217E-02 7.516949438E-03 -4.412130453E-03 + 1.099707484E+00 1.037982181E-01 9.040971398E-01 -1.526021659E-01 1.641346514E-02 8.122338913E-03 -4.827799741E-03 + 1.099707484E+00 1.013177484E-01 8.876494765E-01 -1.529673338E-01 1.857344061E-02 9.205380455E-03 -5.263948813E-03 + 1.099707484E+00 9.883727878E-02 8.692710996E-01 -1.529176533E-01 2.034627087E-02 1.045697927E-02 -5.845837761E-03 + 1.099707484E+00 9.635680914E-02 8.494573236E-01 -1.518723518E-01 2.201423049E-02 1.139499247E-02 -6.501256954E-03 + 1.099707484E+00 9.387633204E-02 8.286986947E-01 -1.512451321E-01 2.381985262E-02 1.203707140E-02 -7.270168513E-03 + 1.099707484E+00 9.139586240E-02 8.090040684E-01 -1.505756676E-01 2.570568025E-02 1.293685939E-02 -8.346606046E-03 + 1.099707484E+00 8.891538531E-02 7.888208628E-01 -1.505248249E-01 2.789909951E-02 1.441242825E-02 -9.714624844E-03 + 1.099707484E+00 8.662572503E-02 7.701061368E-01 -1.496627182E-01 3.066637553E-02 1.616646349E-02 -1.110819541E-02 + 1.099707484E+00 8.414524794E-02 7.480668426E-01 -1.501975954E-01 3.384761885E-02 1.781320386E-02 -1.240261551E-02 + 1.099707484E+00 8.166477829E-02 7.232893705E-01 -1.504473686E-01 3.712942079E-02 1.929876953E-02 -1.375269517E-02 + 1.099707484E+00 7.918430865E-02 6.958854198E-01 -1.480645090E-01 4.054223001E-02 2.075782605E-02 -1.531417482E-02 + 1.099707484E+00 7.670383155E-02 6.685619950E-01 -1.442751437E-01 4.414094612E-02 2.204731479E-02 -1.692946069E-02 + 1.099707484E+00 7.422336191E-02 6.425257921E-01 -1.420938522E-01 4.764521495E-02 2.288685925E-02 -1.829955913E-02 + 1.099707484E+00 7.174289227E-02 6.167863607E-01 -1.419761032E-01 5.063270405E-02 2.339247428E-02 -1.929845475E-02 + 1.099707484E+00 6.945322454E-02 5.927904844E-01 -1.409926862E-01 5.241854489E-02 2.403535694E-02 -2.002093010E-02 + 1.099707484E+00 6.697274745E-02 5.660642982E-01 -1.385198236E-01 5.275905505E-02 2.537265606E-02 -2.076303400E-02 + 1.099707484E+00 6.449227780E-02 5.369784236E-01 -1.354607195E-01 5.275826529E-02 2.737832069E-02 -2.179890312E-02 + 1.099707484E+00 6.201180443E-02 5.075975060E-01 -1.317515969E-01 5.367829278E-02 2.904713713E-02 -2.310108952E-02 + 1.099707484E+00 5.953133479E-02 4.794768393E-01 -1.273694187E-01 5.543290079E-02 2.978728712E-02 -2.453629114E-02 + 1.099707484E+00 5.705085769E-02 4.524712861E-01 -1.238950863E-01 5.694608018E-02 3.034519404E-02 -2.598842606E-02 + 1.099707484E+00 5.457038805E-02 4.232798219E-01 -1.212258413E-01 5.741186440E-02 3.124652430E-02 -2.704272978E-02 + 1.099707484E+00 5.228072032E-02 3.978662193E-01 -1.197198480E-01 5.722360685E-02 3.195999563E-02 -2.732461505E-02 + 1.099707484E+00 4.980025068E-02 3.723353446E-01 -1.176214516E-01 5.735791475E-02 3.220910951E-02 -2.707675099E-02 + 1.099707484E+00 4.731977731E-02 3.459910154E-01 -1.123326570E-01 5.780768394E-02 3.232093528E-02 -2.670663595E-02 + 1.099707484E+00 4.483930394E-02 3.175250292E-01 -1.045298204E-01 5.744685605E-02 3.234222159E-02 -2.619576827E-02 + 1.099707484E+00 4.235883430E-02 2.878037691E-01 -9.523057193E-02 5.537579954E-02 3.208977729E-02 -2.537368983E-02 + 1.099707484E+00 3.987836093E-02 2.587301731E-01 -8.746349812E-02 5.216252059E-02 3.171881288E-02 -2.435006574E-02 + 1.099707484E+00 3.739788756E-02 2.322892100E-01 -7.984699309E-02 4.925961047E-02 3.133517131E-02 -2.337936871E-02 + 1.099707484E+00 3.510821983E-02 2.108602524E-01 -7.515826821E-02 4.699485004E-02 3.059804812E-02 -2.234549820E-02 + 1.099707484E+00 3.262775019E-02 1.912062764E-01 -7.083731145E-02 4.452740401E-02 2.932279743E-02 -2.084770985E-02 + 1.099707484E+00 3.014727682E-02 1.729715317E-01 -6.627029181E-02 4.171586409E-02 2.797587961E-02 -1.901268214E-02 + 1.099707484E+00 2.766680531E-02 1.547606736E-01 -6.056303158E-02 3.911200166E-02 2.714543417E-02 -1.729378477E-02 + 1.099707484E+00 2.518633381E-02 1.338589936E-01 -5.510404706E-02 3.699081019E-02 2.678154223E-02 -1.585377939E-02 + 1.099707484E+00 2.270586230E-02 1.146893352E-01 -4.932806268E-02 3.518303484E-02 2.625845931E-02 -1.464830525E-02 + 1.099707484E+00 2.022538893E-02 9.889442474E-02 -4.393153265E-02 3.275674582E-02 2.495130710E-02 -1.335063204E-02 + 1.099707484E+00 1.793572120E-02 8.311589062E-02 -3.939774632E-02 2.937448211E-02 2.286940441E-02 -1.160186157E-02 + 1.099707484E+00 1.545525063E-02 6.700482965E-02 -3.768349811E-02 2.664640360E-02 2.056337520E-02 -9.528450668E-03 + 1.099707484E+00 1.297477912E-02 5.302988365E-02 -3.703051805E-02 2.567648143E-02 1.822775230E-02 -7.625737227E-03 + 1.099707484E+00 1.049430668E-02 4.260994121E-02 -3.506286442E-02 2.543523908E-02 1.551456749E-02 -6.131417118E-03 + 1.099707484E+00 8.013833314E-03 3.067187779E-02 -2.781572193E-02 2.477527037E-02 1.214261074E-02 -4.793464672E-03 + 1.099707484E+00 5.533361807E-03 1.736395992E-02 -2.086124383E-02 2.343387716E-02 8.169494569E-03 -3.367007012E-03 + 1.099707484E+00 3.052887972E-03 1.902861288E-03 -1.573702320E-02 2.205918729E-02 4.950916395E-03 -2.236732049E-03 diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc1.20.dat b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc1.20.dat new file mode 100644 index 0000000000..d54d06868f --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc1.20.dat @@ -0,0 +1,72 @@ +#NASA wall-mounted hump experimental data +# variables="x/c","y/c","u/Uinf","v/Uinf","uu/Uinf^2","vv/Uinf^2","uv/Uinf^2" +# zone t="exp, x/c=1.2" + 1.200971961E+00 1.656192243E-01 1.076534510E+00 -1.042963862E-01 1.203382155E-03 1.747523434E-03 -4.920152714E-04 + 1.200971961E+00 1.633295566E-01 1.078633189E+00 -1.057982892E-01 1.125344075E-03 1.779402839E-03 -5.133157247E-04 + 1.200971961E+00 1.608490944E-01 1.077512860E+00 -1.061800867E-01 1.053999527E-03 1.896218513E-03 -5.440124660E-04 + 1.200971961E+00 1.585594118E-01 1.075299621E+00 -1.056048274E-01 1.083143405E-03 2.099200618E-03 -6.273873150E-04 + 1.200971961E+00 1.560789347E-01 1.073233485E+00 -1.059930623E-01 1.247902517E-03 2.342531458E-03 -7.972359890E-04 + 1.200971961E+00 1.537892818E-01 1.071204185E+00 -1.072265059E-01 1.487789443E-03 2.584115835E-03 -1.012512948E-03 + 1.200971961E+00 1.513088048E-01 1.068356872E+00 -1.090100855E-01 1.697868225E-03 2.811886370E-03 -1.183325541E-03 + 1.200971961E+00 1.490191370E-01 1.065318704E+00 -1.100358963E-01 1.826185267E-03 3.056871239E-03 -1.267235843E-03 + 1.200971961E+00 1.465386748E-01 1.061355114E+00 -1.101821065E-01 1.906202058E-03 3.379320260E-03 -1.326596248E-03 + 1.200971961E+00 1.442489922E-01 1.057388663E+00 -1.093525141E-01 2.008125186E-03 3.766436363E-03 -1.419063425E-03 + 1.200971961E+00 1.417685300E-01 1.054006219E+00 -1.091369390E-01 2.173042158E-03 4.062744323E-03 -1.504103071E-03 + 1.200971961E+00 1.394788623E-01 1.050877929E+00 -1.103506982E-01 2.389495261E-03 4.152588546E-03 -1.527759945E-03 + 1.200971961E+00 1.369983852E-01 1.046330094E+00 -1.120411232E-01 2.612266457E-03 4.150887951E-03 -1.503831474E-03 + 1.200971961E+00 1.347087175E-01 1.040871143E+00 -1.131562665E-01 2.842595801E-03 4.204622470E-03 -1.489170245E-03 + 1.200971961E+00 1.322282553E-01 1.034515262E+00 -1.144245937E-01 3.155430313E-03 4.289583303E-03 -1.522400533E-03 + 1.200971961E+00 1.299385726E-01 1.028360486E+00 -1.152864769E-01 3.576392541E-03 4.374773707E-03 -1.583558624E-03 + 1.200971961E+00 1.274581105E-01 1.021001339E+00 -1.149917096E-01 4.105157219E-03 4.572180100E-03 -1.682167756E-03 + 1.200971961E+00 1.251684427E-01 1.013682365E+00 -1.138041317E-01 4.790744279E-03 5.005516578E-03 -1.894582063E-03 + 1.200971961E+00 1.226879731E-01 1.004373670E+00 -1.135085598E-01 5.572220776E-03 5.623997655E-03 -2.208440099E-03 + 1.200971961E+00 1.203983054E-01 9.943575263E-01 -1.146527976E-01 6.305286195E-03 6.232929416E-03 -2.502467483E-03 + 1.200971961E+00 1.179178357E-01 9.824302793E-01 -1.168540195E-01 7.051667664E-03 6.672709249E-03 -2.700432669E-03 + 1.200971961E+00 1.156281680E-01 9.718243480E-01 -1.188031808E-01 7.995230146E-03 6.910146214E-03 -2.772357780E-03 + 1.200971961E+00 1.131476909E-01 9.597131014E-01 -1.203753203E-01 9.173142724E-03 7.049103733E-03 -2.769895596E-03 + 1.200971961E+00 1.108580306E-01 9.486503601E-01 -1.205153167E-01 1.064587943E-02 7.318376563E-03 -2.944847103E-03 + 1.200971961E+00 1.083775535E-01 9.364444613E-01 -1.199582443E-01 1.255844254E-02 7.932521403E-03 -3.587391926E-03 + 1.200971961E+00 1.060878858E-01 9.240934253E-01 -1.185858324E-01 1.490943413E-02 8.900982328E-03 -4.682679195E-03 + 1.200971961E+00 1.036074162E-01 9.089708924E-01 -1.187579483E-01 1.750043593E-02 9.997487068E-03 -5.906816106E-03 + 1.200971961E+00 1.013177484E-01 8.941108584E-01 -1.187664121E-01 2.020177990E-02 1.087588910E-02 -7.009163033E-03 + 1.200971961E+00 9.883727878E-02 8.787710667E-01 -1.192951202E-01 2.311569266E-02 1.137247030E-02 -7.954811677E-03 + 1.200971961E+00 9.654761106E-02 8.644430637E-01 -1.202046499E-01 2.615384758E-02 1.159475185E-02 -8.752333000E-03 + 1.200971961E+00 9.406713396E-02 8.489650488E-01 -1.207911894E-01 2.881975099E-02 1.172256749E-02 -9.381093085E-03 + 1.200971961E+00 9.177747369E-02 8.337851763E-01 -1.199101955E-01 3.073405661E-02 1.211363450E-02 -9.923271835E-03 + 1.200971961E+00 8.929700404E-02 8.171292543E-01 -1.179984137E-01 3.213882819E-02 1.309842803E-02 -1.050553098E-02 + 1.200971961E+00 8.700732887E-02 8.010106087E-01 -1.161469892E-01 3.370372206E-02 1.460933685E-02 -1.124277990E-02 + 1.200971961E+00 8.452685922E-02 7.808996439E-01 -1.134317592E-01 3.583770245E-02 1.625584066E-02 -1.223637257E-02 + 1.200971961E+00 8.223719895E-02 7.596666813E-01 -1.122401133E-01 3.812495247E-02 1.765974239E-02 -1.333372388E-02 + 1.200971961E+00 7.975672185E-02 7.363548875E-01 -1.115407199E-01 3.956643119E-02 1.867060177E-02 -1.415939536E-02 + 1.200971961E+00 7.727624476E-02 7.153179646E-01 -1.114889607E-01 3.985138610E-02 1.923727617E-02 -1.456227619E-02 + 1.200971961E+00 7.498658448E-02 6.970809698E-01 -1.110691875E-01 3.997369111E-02 1.945539191E-02 -1.479617786E-02 + 1.200971961E+00 7.250610739E-02 6.774325371E-01 -1.105032340E-01 4.079477862E-02 1.953741908E-02 -1.508961897E-02 + 1.200971961E+00 7.021643966E-02 6.574308276E-01 -1.081579179E-01 4.232939333E-02 1.979475468E-02 -1.560267899E-02 + 1.200971961E+00 6.773597002E-02 6.350581646E-01 -1.045126840E-01 4.428893700E-02 2.058673091E-02 -1.646905020E-02 + 1.200971961E+00 6.544630229E-02 6.140822768E-01 -1.010235250E-01 4.612068459E-02 2.188410982E-02 -1.751553640E-02 + 1.200971961E+00 6.296583265E-02 5.932688117E-01 -9.793451428E-02 4.738476872E-02 2.328133956E-02 -1.839291863E-02 + 1.200971961E+00 6.067616493E-02 5.743138194E-01 -9.503835440E-02 4.803976417E-02 2.447143570E-02 -1.885855012E-02 + 1.200971961E+00 5.819569528E-02 5.550708175E-01 -9.315332025E-02 4.822205752E-02 2.540447004E-02 -1.896053925E-02 + 1.200971961E+00 5.590602756E-02 5.372273922E-01 -9.339234233E-02 4.825596139E-02 2.620172873E-02 -1.899536140E-02 + 1.200971961E+00 5.342555791E-02 5.176381469E-01 -9.328525513E-02 4.846328124E-02 2.697069943E-02 -1.922572963E-02 + 1.200971961E+00 5.113589019E-02 4.991775453E-01 -9.137875587E-02 4.869274050E-02 2.767603472E-02 -1.962775737E-02 + 1.200971961E+00 4.865541309E-02 4.796117544E-01 -8.813627064E-02 4.871912673E-02 2.836243436E-02 -2.000640891E-02 + 1.200971961E+00 4.636575282E-02 4.640870392E-01 -8.499269187E-02 4.843723401E-02 2.909401059E-02 -2.030505426E-02 + 1.200971961E+00 4.388527572E-02 4.481661022E-01 -8.119797707E-02 4.742815718E-02 2.970814891E-02 -2.060197107E-02 + 1.200971961E+00 4.159560800E-02 4.330720603E-01 -7.821294665E-02 4.556578770E-02 3.001247346E-02 -2.093221061E-02 + 1.200971961E+00 3.911513835E-02 4.145737290E-01 -7.648210973E-02 4.367527738E-02 2.984535322E-02 -2.112189867E-02 + 1.200971961E+00 3.682547435E-02 3.988250494E-01 -7.488285750E-02 4.246452078E-02 2.920591272E-02 -2.089859173E-02 + 1.200971961E+00 3.434500098E-02 3.837355971E-01 -7.178280503E-02 4.155274853E-02 2.846455202E-02 -2.025655471E-02 + 1.200971961E+00 3.205533326E-02 3.700468242E-01 -6.849476695E-02 4.024291411E-02 2.788158506E-02 -1.932037622E-02 + 1.200971961E+00 2.957486175E-02 3.534915745E-01 -6.503615528E-02 3.833109885E-02 2.735772543E-02 -1.808040217E-02 + 1.200971961E+00 2.728519402E-02 3.385189474E-01 -6.238476932E-02 3.595562652E-02 2.664151229E-02 -1.659560017E-02 + 1.200971961E+00 2.480472066E-02 3.232248724E-01 -5.760713667E-02 3.355545923E-02 2.558347397E-02 -1.516068261E-02 + 1.200971961E+00 2.251505665E-02 3.093681931E-01 -5.092086643E-02 3.176390752E-02 2.415685542E-02 -1.377700921E-02 + 1.200971961E+00 2.003458329E-02 2.928625047E-01 -4.267994314E-02 3.069361672E-02 2.248256281E-02 -1.215133723E-02 + 1.200971961E+00 1.774491742E-02 2.803453207E-01 -3.681528941E-02 2.997711115E-02 2.082849294E-02 -1.047453657E-02 + 1.200971961E+00 1.526444498E-02 2.686727047E-01 -3.254826739E-02 2.899164893E-02 1.895180158E-02 -8.945573121E-03 + 1.200971961E+00 1.297477912E-02 2.605186105E-01 -2.881338075E-02 2.761860751E-02 1.637075283E-02 -7.427261677E-03 + 1.200971961E+00 1.049430668E-02 2.508267760E-01 -2.376101166E-02 2.664958499E-02 1.334520709E-02 -6.017532200E-03 + 1.200971961E+00 8.204638027E-03 2.422104478E-01 -1.950534619E-02 2.638525330E-02 1.040410902E-02 -4.816144239E-03 + 1.200971961E+00 5.724166520E-03 2.271409184E-01 -1.553647406E-02 2.604968846E-02 7.517257705E-03 -3.612534609E-03 + 1.200971961E+00 3.434499959E-03 2.047449797E-01 -1.147210971E-02 2.536332235E-02 5.299417768E-03 -2.624052111E-03 diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc1.30.dat b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc1.30.dat new file mode 100644 index 0000000000..b527709607 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/resources/dataset/exp_vel_and_turb_xbyc1.30.dat @@ -0,0 +1,72 @@ +#NASA wall-mounted hump experimental data +# variables="x/c","y/c","u/Uinf","v/Uinf","uu/Uinf^2","vv/Uinf^2","uv/Uinf^2" +# zone t="exp, x/c=1.3" + 1.299809217E+00 1.656192243E-01 1.085711598E+00 -5.397922173E-02 9.233052260E-04 1.587787759E-03 -3.466570633E-04 + 1.299809217E+00 1.633295566E-01 1.085351706E+00 -5.340213701E-02 8.607545751E-04 1.622631098E-03 -3.863527090E-04 + 1.299809217E+00 1.608490944E-01 1.084495068E+00 -5.330101401E-02 8.301738999E-04 1.688467572E-03 -4.254778032E-04 + 1.299809217E+00 1.585594118E-01 1.083292603E+00 -5.321167782E-02 8.759757038E-04 1.813503564E-03 -4.589411838E-04 + 1.299809217E+00 1.560789347E-01 1.082251072E+00 -5.329852551E-02 1.004463877E-03 2.012476092E-03 -4.894650774E-04 + 1.299809217E+00 1.537892818E-01 1.079942465E+00 -5.442858487E-02 1.199512160E-03 2.269489458E-03 -5.328803672E-04 + 1.299809217E+00 1.513088048E-01 1.077360749E+00 -5.597575381E-02 1.410194091E-03 2.561681671E-03 -6.160914199E-04 + 1.299809217E+00 1.490191370E-01 1.075136065E+00 -5.778132752E-02 1.615930232E-03 2.845430048E-03 -7.156127831E-04 + 1.299809217E+00 1.465386748E-01 1.073032260E+00 -5.902832747E-02 1.859418931E-03 3.069297178E-03 -8.243542979E-04 + 1.299809217E+00 1.442489922E-01 1.069396973E+00 -6.023413315E-02 2.267949050E-03 3.244208870E-03 -9.808446048E-04 + 1.299809217E+00 1.417685300E-01 1.064898968E+00 -6.115742400E-02 2.899478655E-03 3.443229711E-03 -1.166921691E-03 + 1.299809217E+00 1.394788623E-01 1.059569240E+00 -6.299574673E-02 3.590124194E-03 3.721252084E-03 -1.294251415E-03 + 1.299809217E+00 1.369983852E-01 1.052903771E+00 -6.476326287E-02 4.194909707E-03 4.078285303E-03 -1.324426965E-03 + 1.299809217E+00 1.347087175E-01 1.045690536E+00 -6.649167836E-02 4.775993992E-03 4.508411977E-03 -1.351441722E-03 + 1.299809217E+00 1.322282553E-01 1.038079619E+00 -6.809954345E-02 5.454523023E-03 4.995327443E-03 -1.489133458E-03 + 1.299809217E+00 1.299385726E-01 1.030696511E+00 -6.953947991E-02 6.290176418E-03 5.504492205E-03 -1.739576110E-03 + 1.299809217E+00 1.274581105E-01 1.022581697E+00 -7.158444822E-02 7.272288669E-03 5.995522719E-03 -1.998720225E-03 + 1.299809217E+00 1.251684427E-01 1.014811516E+00 -7.279985398E-02 8.359242231E-03 6.409699563E-03 -2.185600810E-03 + 1.299809217E+00 1.226879731E-01 1.005406737E+00 -7.352457196E-02 9.610917419E-03 6.721671205E-03 -2.412997419E-03 + 1.299809217E+00 1.203983054E-01 9.958277941E-01 -7.305451483E-02 1.113620400E-02 6.957948674E-03 -2.847864991E-03 + 1.299809217E+00 1.179178357E-01 9.864760637E-01 -7.326101512E-02 1.271521393E-02 7.195255253E-03 -3.413841827E-03 + 1.299809217E+00 1.156281680E-01 9.766553044E-01 -7.429124415E-02 1.386752352E-02 7.513634395E-03 -3.922462463E-03 + 1.299809217E+00 1.131476909E-01 9.647002220E-01 -7.587283105E-02 1.450656913E-02 7.937225513E-03 -4.378377460E-03 + 1.299809217E+00 1.108580306E-01 9.541177750E-01 -7.676263154E-02 1.484346204E-02 8.449912071E-03 -4.795028362E-03 + 1.299809217E+00 1.083775535E-01 9.436941147E-01 -7.785060257E-02 1.505365316E-02 9.012199007E-03 -5.066700280E-03 + 1.299809217E+00 1.060878858E-01 9.330260158E-01 -7.929652929E-02 1.537934039E-02 9.530029260E-03 -5.166191142E-03 + 1.299809217E+00 1.036074162E-01 9.210929871E-01 -8.079630136E-02 1.589012891E-02 9.849601425E-03 -5.121920258E-03 + 1.299809217E+00 1.013177484E-01 9.105898738E-01 -8.287563175E-02 1.651286893E-02 9.943293408E-03 -5.073885899E-03 + 1.299809217E+00 9.883727878E-02 8.980455995E-01 -8.517701924E-02 1.743862033E-02 1.010140311E-02 -5.316898227E-03 + 1.299809217E+00 9.654761106E-02 8.842561841E-01 -8.582237363E-02 1.912690327E-02 1.062331349E-02 -5.995978136E-03 + 1.299809217E+00 9.406713396E-02 8.676561117E-01 -8.420468122E-02 2.159416862E-02 1.138559263E-02 -6.906741299E-03 + 1.299809217E+00 9.177747369E-02 8.526135683E-01 -8.275508881E-02 2.407507971E-02 1.204189379E-02 -7.728171535E-03 + 1.299809217E+00 8.929700404E-02 8.369569778E-01 -8.291566372E-02 2.586477622E-02 1.255456731E-02 -8.398167789E-03 + 1.299809217E+00 8.700732887E-02 8.219499588E-01 -8.233726025E-02 2.688116021E-02 1.320616435E-02 -9.022557177E-03 + 1.299809217E+00 8.452685922E-02 8.054179549E-01 -8.029251546E-02 2.756143548E-02 1.412821840E-02 -9.651632980E-03 + 1.299809217E+00 8.223719895E-02 7.892742753E-01 -7.691314816E-02 2.851862274E-02 1.521548815E-02 -1.039327402E-02 + 1.299809217E+00 7.975672185E-02 7.725581527E-01 -7.497520000E-02 2.989657037E-02 1.632293873E-02 -1.127998251E-02 + 1.299809217E+00 7.727624476E-02 7.565847039E-01 -7.422072440E-02 3.108621761E-02 1.725215092E-02 -1.210038271E-02 + 1.299809217E+00 7.498658448E-02 7.418005466E-01 -7.494202256E-02 3.191120178E-02 1.795910485E-02 -1.277326047E-02 + 1.299809217E+00 7.250610739E-02 7.242900729E-01 -7.624254376E-02 3.326140717E-02 1.861994900E-02 -1.347364858E-02 + 1.299809217E+00 7.021643966E-02 7.074243426E-01 -7.783658803E-02 3.544337302E-02 1.926640980E-02 -1.438498776E-02 + 1.299809217E+00 6.773597002E-02 6.910562515E-01 -7.771817595E-02 3.758758679E-02 1.992990263E-02 -1.545060426E-02 + 1.299809217E+00 6.544630229E-02 6.782407761E-01 -7.626063377E-02 3.883516416E-02 2.081421763E-02 -1.634565182E-02 + 1.299809217E+00 6.296583265E-02 6.649182439E-01 -7.516156137E-02 3.907935321E-02 2.185843326E-02 -1.693315431E-02 + 1.299809217E+00 6.067616493E-02 6.505064368E-01 -7.482965291E-02 3.875199705E-02 2.271576039E-02 -1.729865186E-02 + 1.299809217E+00 5.819569528E-02 6.326404810E-01 -7.406432927E-02 3.809066117E-02 2.324704826E-02 -1.743227616E-02 + 1.299809217E+00 5.590602756E-02 6.153556705E-01 -7.269774377E-02 3.712650388E-02 2.362508699E-02 -1.730652153E-02 + 1.299809217E+00 5.342555791E-02 5.976853371E-01 -7.117028534E-02 3.629891574E-02 2.404821105E-02 -1.712791622E-02 + 1.299809217E+00 5.113589019E-02 5.826976299E-01 -7.025774568E-02 3.607457876E-02 2.456932701E-02 -1.719057187E-02 + 1.299809217E+00 4.865541309E-02 5.685499310E-01 -6.870783120E-02 3.622301295E-02 2.515406348E-02 -1.745846309E-02 + 1.299809217E+00 4.636575282E-02 5.571905971E-01 -6.663262844E-02 3.609004617E-02 2.566150017E-02 -1.756395958E-02 + 1.299809217E+00 4.388527572E-02 5.451464653E-01 -6.302682310E-02 3.538884223E-02 2.591481432E-02 -1.723582111E-02 + 1.299809217E+00 4.159560800E-02 5.324614048E-01 -6.173269078E-02 3.443122283E-02 2.580550686E-02 -1.649049856E-02 + 1.299809217E+00 3.911513835E-02 5.187654495E-01 -6.100349873E-02 3.365993872E-02 2.534921095E-02 -1.555931661E-02 + 1.299809217E+00 3.682547435E-02 5.078201890E-01 -5.848555267E-02 3.328647465E-02 2.477528155E-02 -1.480973139E-02 + 1.299809217E+00 3.434500098E-02 4.973973930E-01 -5.282924697E-02 3.313170373E-02 2.431677654E-02 -1.441040169E-02 + 1.299809217E+00 3.205533326E-02 4.876562357E-01 -4.866222292E-02 3.293395415E-02 2.382805012E-02 -1.408014260E-02 + 1.299809217E+00 2.957486175E-02 4.775254130E-01 -4.573924839E-02 3.250142187E-02 2.294298261E-02 -1.328011416E-02 + 1.299809217E+00 2.728519402E-02 4.683177471E-01 -4.211742803E-02 3.159912676E-02 2.170897275E-02 -1.177453343E-02 + 1.299809217E+00 2.480472066E-02 4.573864341E-01 -3.712496907E-02 3.033971041E-02 2.059394121E-02 -1.002133079E-02 + 1.299809217E+00 2.251505665E-02 4.461597204E-01 -3.343453631E-02 2.901737206E-02 1.970846951E-02 -8.642865345E-03 + 1.299809217E+00 2.003458329E-02 4.339180291E-01 -3.124598041E-02 2.764395624E-02 1.862269826E-02 -7.611940149E-03 + 1.299809217E+00 1.774491742E-02 4.226006866E-01 -3.035179153E-02 2.633805200E-02 1.713628694E-02 -6.573043764E-03 + 1.299809217E+00 1.526444498E-02 4.125401676E-01 -2.901202254E-02 2.532690950E-02 1.551138889E-02 -5.559300538E-03 + 1.299809217E+00 1.297477912E-02 4.048022926E-01 -2.647679113E-02 2.438229695E-02 1.369919628E-02 -4.764939193E-03 + 1.299809217E+00 1.049430668E-02 3.956965804E-01 -2.242086828E-02 2.331862040E-02 1.141011249E-02 -4.088777583E-03 + 1.299809217E+00 8.204638027E-03 3.855551779E-01 -1.816554926E-02 2.245227061E-02 8.869776502E-03 -3.330194857E-03 + 1.299809217E+00 5.724166520E-03 3.683317602E-01 -1.359439269E-02 2.202066593E-02 6.348311901E-03 -2.502328018E-03 + 1.299809217E+00 3.434499959E-03 3.432985842E-01 -9.056445211E-03 2.191073634E-02 4.460915457E-03 -1.887192135E-03 diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/SpalartAllmarasDDES-DeltaOmegaTilde-useSigmaTrue/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/SpalartAllmarasDDES-DeltaOmegaTilde-useSigmaTrue/constant/turbulenceProperties new file mode 100644 index 0000000000..aaea9b9fef --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/SpalartAllmarasDDES-DeltaOmegaTilde-useSigmaTrue/constant/turbulenceProperties @@ -0,0 +1,33 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType LES; + +LES +{ + LESModel SpalartAllmarasDDES; + SpalartAllmarasDDESCoeffs + { + useSigma true; + } + + delta DeltaOmegaTilde; + DeltaOmegaTildeCoeffs + { + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/SpalartAllmarasDDES-SLADelta-useSigmaFalse/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/SpalartAllmarasDDES-SLADelta-useSigmaFalse/constant/turbulenceProperties new file mode 100644 index 0000000000..2ff85c5da0 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/SpalartAllmarasDDES-SLADelta-useSigmaFalse/constant/turbulenceProperties @@ -0,0 +1,33 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType LES; + +LES +{ + LESModel SpalartAllmarasDDES; + SpalartAllmarasDDESCoeffs + { + useSigma false; + } + + delta SLADelta; + SLADeltaCoeffs + { + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/SpalartAllmarasDDES-maxDeltaxyzCubeRoot/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/SpalartAllmarasDDES-maxDeltaxyzCubeRoot/constant/turbulenceProperties new file mode 100644 index 0000000000..f3ef480018 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/SpalartAllmarasDDES-maxDeltaxyzCubeRoot/constant/turbulenceProperties @@ -0,0 +1,32 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType LES; + +LES +{ + LESModel SpalartAllmarasDDES; + SpalartAllmarasDDESCoeffs + { + } + + delta maxDeltaxyzCubeRoot; + maxDeltaxyzCubeRootCoeffs + { + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/SpalartAllmarasIDDES-IDDESDelta/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/SpalartAllmarasIDDES-IDDESDelta/constant/turbulenceProperties new file mode 100644 index 0000000000..54a604c2eb --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/SpalartAllmarasIDDES-IDDESDelta/constant/turbulenceProperties @@ -0,0 +1,32 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType LES; + +LES +{ + LESModel SpalartAllmarasIDDES; + SpalartAllmarasIDDESCoeffs + { + } + + delta IDDESDelta; + IDDESDeltaCoeffs + { + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/U b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/U new file mode 100644 index 0000000000..c0b989eb88 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/U @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (1 0 0); + +boundaryField +{ + inlet + { + type timeVaryingMappedFixedValue; + offset (0 0 0); + setAverage off; + } + + outlet + { + type zeroGradient; + } + + bottomWall + { + type fixedValue; + value uniform (0 0 0); + } + + topWall + { + type slip; + } + + "zPeriodic_.*" + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/k b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/k new file mode 100644 index 0000000000..3fa67b3b0f --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/k @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0.375; + +boundaryField +{ + inlet + { + type timeVaryingMappedFixedValue; + setAverage 0; + offset 0; + } + + outlet + { + type zeroGradient; + } + + bottomWall + { + type kqRWallFunction; + value $internalField; + } + + topWall + { + type slip; + } + + "zPeriodic_.*" + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/nuTilda b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/nuTilda new file mode 100644 index 0000000000..514f573e5b --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/nuTilda @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.06837606838e-06; + +boundaryField +{ + inlet + { + type timeVaryingMappedFixedValue; + setAverage 0; + offset 0; + } + + outlet + { + type zeroGradient; + } + + bottomWall + { + type fixedValue; + value $internalField; + } + + topWall + { + type slip; + } + + "zPeriodic_.*" + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/nut b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/nut new file mode 100644 index 0000000000..543441b3e5 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/nut @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.06837606838e-06; + +boundaryField +{ + inlet + { + type calculated; + value $internalField; + } + + outlet + { + type calculated; + value $internalField; + } + + bottomWall + { + type nutUSpaldingWallFunction; + value $internalField; + tolerance 1e-9; + } + + topWall + { + type slip; + } + + "zPeriodic_.*" + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/omega b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/omega new file mode 100644 index 0000000000..df8704d2e9 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/omega @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object omega; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform 351; + +boundaryField +{ + inlet + { + type timeVaryingMappedFixedValue; + setAverage 0; + offset 0; + } + + outlet + { + type zeroGradient; + } + + bottomWall + { + type omegaWallFunction; + value $internalField; + } + + topWall + { + type slip; + } + + "zPeriodic_.*" + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/p b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/p new file mode 100644 index 0000000000..e4f071994f --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/p @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type zeroGradient; + } + + outlet + { + type fixedMean; + meanValue 0; + value $internalField; + } + + bottomWall + { + type zeroGradient; + } + + topWall + { + type slip; + } + + "zPeriodic_.*" + { + type cyclic; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/Allclean b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/Allclean new file mode 100755 index 0000000000..f53137919d --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase0 + +rm -rf old-processors/ + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/Allrun b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/Allrun new file mode 100755 index 0000000000..eea5ee655a --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/Allrun @@ -0,0 +1,35 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +if [ ! -d constant/polyMesh ] +then + runApplication blockMesh + + runApplication renumberMesh -overwrite -constant + + runApplication checkMesh -allTopology -allGeometry -constant +fi + +canCompile || exit 0 # Dynamic code + +restore0Dir + +runApplication applyBoundaryLayer -ybl 0.06 + +runApplication $(getApplication) + + +# restart test + +latestTime=$(foamListTimes -latestTime) + +mv -f "$latestTime" "$latestTime".bak + +runApplication -s 2 $(getApplication) + + +runApplication foamLog log."$(getApplication)" + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/Allrun-parallel b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/Allrun-parallel new file mode 100755 index 0000000000..f12f96f438 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/Allrun-parallel @@ -0,0 +1,47 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +if [ ! -d constant/polyMesh ] +then + runApplication blockMesh + + runApplication renumberMesh -overwrite -constant + + runApplication checkMesh -allTopology -allGeometry -constant +fi + +canCompile || exit 0 # Dynamic code + +restore0Dir + +runApplication decomposePar + +runParallel applyBoundaryLayer -ybl 0.06 + +runParallel $(getApplication) + +runApplication reconstructPar + + +# restart test + +latestTime=$(foamListTimes -latestTime) + +mv -f "$latestTime" "$latestTime".bak + +mkdir old-processors + +mv -f processor* old-processors/ + +runParallel -s "decompose" redistributePar -decompose -latestTime + +runParallel -s 2 $(getApplication) + +runParallel -s "reconstruct" redistributePar -reconstruct -latestTime + + +runApplication foamLog log."$(getApplication)" + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/0/U b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/0/U new file mode 100644 index 0000000000..a7195e5edf --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/0/U @@ -0,0 +1,542 @@ +534 +( + // zmin + (0 0 0) + (1.07874e-02 0 0) + (3.23722e-02 0 0) + (5.39860e-02 0 0) + (7.56421e-02 0 0) + (9.73346e-02 0 0) + (1.19016e-01 0 0) + (1.40571e-01 0 0) + (1.61805e-01 0 0) + (1.82459e-01 0 0) + (2.02263e-01 0 0) + (2.21000e-01 0 0) + (2.38542e-01 0 0) + (2.54851e-01 0 0) + (2.69963e-01 0 0) + (2.83956e-01 0 0) + (2.96928e-01 0 0) + (3.08999e-01 0 0) + (3.20287e-01 0 0) + (3.30878e-01 0 0) + (3.40840e-01 0 0) + (3.50230e-01 0 0) + (3.59102e-01 0 0) + (3.67504e-01 0 0) + (3.75479e-01 0 0) + (3.83067e-01 0 0) + (3.90302e-01 0 0) + (3.97216e-01 0 0) + (4.03836e-01 0 0) + (4.10187e-01 0 0) + (4.16295e-01 0 0) + (4.22184e-01 0 0) + (4.27880e-01 0 0) + (4.33402e-01 0 0) + (4.38764e-01 0 0) + (4.43978e-01 0 0) + (4.49057e-01 0 0) + (4.54010e-01 0 0) + (4.58846e-01 0 0) + (4.63574e-01 0 0) + (4.68201e-01 0 0) + (4.72735e-01 0 0) + (4.77182e-01 0 0) + (4.81546e-01 0 0) + (4.85835e-01 0 0) + (4.90052e-01 0 0) + (4.94203e-01 0 0) + (4.98290e-01 0 0) + (5.02319e-01 0 0) + (5.06293e-01 0 0) + (5.10214e-01 0 0) + (5.14086e-01 0 0) + (5.17912e-01 0 0) + (5.21694e-01 0 0) + (5.25435e-01 0 0) + (5.29137e-01 0 0) + (5.32802e-01 0 0) + (5.36433e-01 0 0) + (5.40030e-01 0 0) + (5.43596e-01 0 0) + (5.47133e-01 0 0) + (5.50641e-01 0 0) + (5.54123e-01 0 0) + (5.57579e-01 0 0) + (5.61011e-01 0 0) + (5.64421e-01 0 0) + (5.67809e-01 0 0) + (5.71176e-01 0 0) + (5.74524e-01 0 0) + (5.77853e-01 0 0) + (5.81165e-01 0 0) + (5.84460e-01 0 0) + (5.87738e-01 0 0) + (5.91002e-01 0 0) + (5.94252e-01 0 0) + (5.97487e-01 0 0) + (6.00710e-01 0 0) + (6.03921e-01 0 0) + (6.07120e-01 0 0) + (6.10308e-01 0 0) + (6.13486e-01 0 0) + (6.16654e-01 0 0) + (6.19812e-01 0 0) + (6.22962e-01 0 0) + (6.26104e-01 0 0) + (6.29238e-01 0 0) + (6.32365e-01 0 0) + (6.35485e-01 0 0) + (6.38599e-01 0 0) + (6.41707e-01 0 0) + (6.44810e-01 0 0) + (6.47908e-01 0 0) + (6.51002e-01 0 0) + (6.54092e-01 0 0) + (6.57178e-01 0 0) + (6.60261e-01 0 0) + (6.63341e-01 0 0) + (6.66419e-01 0 0) + (6.69495e-01 0 0) + (6.72570e-01 0 0) + (6.75643e-01 0 0) + (6.78716e-01 0 0) + (6.81789e-01 0 0) + (6.84862e-01 0 0) + (6.87935e-01 0 0) + (6.91010e-01 0 0) + (6.94086e-01 0 0) + (6.97164e-01 0 0) + (7.00244e-01 0 0) + (7.03327e-01 0 0) + (7.06413e-01 0 0) + (7.09503e-01 0 0) + (7.12598e-01 0 0) + (7.15697e-01 0 0) + (7.18801e-01 0 0) + (7.21911e-01 0 0) + (7.25028e-01 0 0) + (7.28151e-01 0 0) + (7.31281e-01 0 0) + (7.34420e-01 0 0) + (7.37568e-01 0 0) + (7.40724e-01 0 0) + (7.43891e-01 0 0) + (7.47068e-01 0 0) + (7.50257e-01 0 0) + (7.53458e-01 0 0) + (7.56671e-01 0 0) + (7.59899e-01 0 0) + (7.63141e-01 0 0) + (7.66398e-01 0 0) + (7.69672e-01 0 0) + (7.72963e-01 0 0) + (7.76273e-01 0 0) + (7.79602e-01 0 0) + (7.82952e-01 0 0) + (7.86324e-01 0 0) + (7.89719e-01 0 0) + (7.93138e-01 0 0) + (7.96583e-01 0 0) + (8.00056e-01 0 0) + (8.03557e-01 0 0) + (8.07089e-01 0 0) + (8.10653e-01 0 0) + (8.14252e-01 0 0) + (8.17887e-01 0 0) + (8.21560e-01 0 0) + (8.25274e-01 0 0) + (8.29037e-01 0 0) + (8.32859e-01 0 0) + (8.36747e-01 0 0) + (8.40704e-01 0 0) + (8.44736e-01 0 0) + (8.48842e-01 0 0) + (8.53027e-01 0 0) + (8.57292e-01 0 0) + (8.61640e-01 0 0) + (8.66075e-01 0 0) + (8.70601e-01 0 0) + (8.75225e-01 0 0) + (8.79954e-01 0 0) + (8.84798e-01 0 0) + (8.89765e-01 0 0) + (8.94868e-01 0 0) + (9.00116e-01 0 0) + (9.05521e-01 0 0) + (9.11090e-01 0 0) + (9.16823e-01 0 0) + (9.22713e-01 0 0) + (9.28733e-01 0 0) + (9.34837e-01 0 0) + (9.40946e-01 0 0) + (9.46957e-01 0 0) + (9.52767e-01 0 0) + (9.58336e-01 0 0) + (9.63791e-01 0 0) + (9.69260e-01 0 0) + (9.74732e-01 0 0) + (9.80169e-01 0 0) + (9.85503e-01 0 0) + (9.90594e-01 0 0) + (9.95123e-01 0 0) + (9.98429e-01 0 0) + (9.99998e-01 0 0) + (1.00041e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00044e+00 0 0) + (1.00044e+00 0 0) + (1.00044e+00 0 0) + (1.00044e+00 0 0) + (1.00044e+00 0 0) + (1.00044e+00 0 0) + (1.00044e+00 0 0) + (1.00044e+00 0 0) + (1.00044e+00 0 0) + (1.00044e+00 0 0) + (1.00043e+00 0 0) + (1.00043e+00 0 0) + (1.00043e+00 0 0) + (1.00043e+00 0 0) + (1.00043e+00 0 0) + + // zmax + (0 0 0) + (1.07874e-02 0 0) + (3.23722e-02 0 0) + (5.39860e-02 0 0) + (7.56421e-02 0 0) + (9.73346e-02 0 0) + (1.19016e-01 0 0) + (1.40571e-01 0 0) + (1.61805e-01 0 0) + (1.82459e-01 0 0) + (2.02263e-01 0 0) + (2.21000e-01 0 0) + (2.38542e-01 0 0) + (2.54851e-01 0 0) + (2.69963e-01 0 0) + (2.83956e-01 0 0) + (2.96928e-01 0 0) + (3.08999e-01 0 0) + (3.20287e-01 0 0) + (3.30878e-01 0 0) + (3.40840e-01 0 0) + (3.50230e-01 0 0) + (3.59102e-01 0 0) + (3.67504e-01 0 0) + (3.75479e-01 0 0) + (3.83067e-01 0 0) + (3.90302e-01 0 0) + (3.97216e-01 0 0) + (4.03836e-01 0 0) + (4.10187e-01 0 0) + (4.16295e-01 0 0) + (4.22184e-01 0 0) + (4.27880e-01 0 0) + (4.33402e-01 0 0) + (4.38764e-01 0 0) + (4.43978e-01 0 0) + (4.49057e-01 0 0) + (4.54010e-01 0 0) + (4.58846e-01 0 0) + (4.63574e-01 0 0) + (4.68201e-01 0 0) + (4.72735e-01 0 0) + (4.77182e-01 0 0) + (4.81546e-01 0 0) + (4.85835e-01 0 0) + (4.90052e-01 0 0) + (4.94203e-01 0 0) + (4.98290e-01 0 0) + (5.02319e-01 0 0) + (5.06293e-01 0 0) + (5.10214e-01 0 0) + (5.14086e-01 0 0) + (5.17912e-01 0 0) + (5.21694e-01 0 0) + (5.25435e-01 0 0) + (5.29137e-01 0 0) + (5.32802e-01 0 0) + (5.36433e-01 0 0) + (5.40030e-01 0 0) + (5.43596e-01 0 0) + (5.47133e-01 0 0) + (5.50641e-01 0 0) + (5.54123e-01 0 0) + (5.57579e-01 0 0) + (5.61011e-01 0 0) + (5.64421e-01 0 0) + (5.67809e-01 0 0) + (5.71176e-01 0 0) + (5.74524e-01 0 0) + (5.77853e-01 0 0) + (5.81165e-01 0 0) + (5.84460e-01 0 0) + (5.87738e-01 0 0) + (5.91002e-01 0 0) + (5.94252e-01 0 0) + (5.97487e-01 0 0) + (6.00710e-01 0 0) + (6.03921e-01 0 0) + (6.07120e-01 0 0) + (6.10308e-01 0 0) + (6.13486e-01 0 0) + (6.16654e-01 0 0) + (6.19812e-01 0 0) + (6.22962e-01 0 0) + (6.26104e-01 0 0) + (6.29238e-01 0 0) + (6.32365e-01 0 0) + (6.35485e-01 0 0) + (6.38599e-01 0 0) + (6.41707e-01 0 0) + (6.44810e-01 0 0) + (6.47908e-01 0 0) + (6.51002e-01 0 0) + (6.54092e-01 0 0) + (6.57178e-01 0 0) + (6.60261e-01 0 0) + (6.63341e-01 0 0) + (6.66419e-01 0 0) + (6.69495e-01 0 0) + (6.72570e-01 0 0) + (6.75643e-01 0 0) + (6.78716e-01 0 0) + (6.81789e-01 0 0) + (6.84862e-01 0 0) + (6.87935e-01 0 0) + (6.91010e-01 0 0) + (6.94086e-01 0 0) + (6.97164e-01 0 0) + (7.00244e-01 0 0) + (7.03327e-01 0 0) + (7.06413e-01 0 0) + (7.09503e-01 0 0) + (7.12598e-01 0 0) + (7.15697e-01 0 0) + (7.18801e-01 0 0) + (7.21911e-01 0 0) + (7.25028e-01 0 0) + (7.28151e-01 0 0) + (7.31281e-01 0 0) + (7.34420e-01 0 0) + (7.37568e-01 0 0) + (7.40724e-01 0 0) + (7.43891e-01 0 0) + (7.47068e-01 0 0) + (7.50257e-01 0 0) + (7.53458e-01 0 0) + (7.56671e-01 0 0) + (7.59899e-01 0 0) + (7.63141e-01 0 0) + (7.66398e-01 0 0) + (7.69672e-01 0 0) + (7.72963e-01 0 0) + (7.76273e-01 0 0) + (7.79602e-01 0 0) + (7.82952e-01 0 0) + (7.86324e-01 0 0) + (7.89719e-01 0 0) + (7.93138e-01 0 0) + (7.96583e-01 0 0) + (8.00056e-01 0 0) + (8.03557e-01 0 0) + (8.07089e-01 0 0) + (8.10653e-01 0 0) + (8.14252e-01 0 0) + (8.17887e-01 0 0) + (8.21560e-01 0 0) + (8.25274e-01 0 0) + (8.29037e-01 0 0) + (8.32859e-01 0 0) + (8.36747e-01 0 0) + (8.40704e-01 0 0) + (8.44736e-01 0 0) + (8.48842e-01 0 0) + (8.53027e-01 0 0) + (8.57292e-01 0 0) + (8.61640e-01 0 0) + (8.66075e-01 0 0) + (8.70601e-01 0 0) + (8.75225e-01 0 0) + (8.79954e-01 0 0) + (8.84798e-01 0 0) + (8.89765e-01 0 0) + (8.94868e-01 0 0) + (9.00116e-01 0 0) + (9.05521e-01 0 0) + (9.11090e-01 0 0) + (9.16823e-01 0 0) + (9.22713e-01 0 0) + (9.28733e-01 0 0) + (9.34837e-01 0 0) + (9.40946e-01 0 0) + (9.46957e-01 0 0) + (9.52767e-01 0 0) + (9.58336e-01 0 0) + (9.63791e-01 0 0) + (9.69260e-01 0 0) + (9.74732e-01 0 0) + (9.80169e-01 0 0) + (9.85503e-01 0 0) + (9.90594e-01 0 0) + (9.95123e-01 0 0) + (9.98429e-01 0 0) + (9.99998e-01 0 0) + (1.00041e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00047e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00046e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00045e+00 0 0) + (1.00044e+00 0 0) + (1.00044e+00 0 0) + (1.00044e+00 0 0) + (1.00044e+00 0 0) + (1.00044e+00 0 0) + (1.00044e+00 0 0) + (1.00044e+00 0 0) + (1.00044e+00 0 0) + (1.00044e+00 0 0) + (1.00044e+00 0 0) + (1.00043e+00 0 0) + (1.00043e+00 0 0) + (1.00043e+00 0 0) + (1.00043e+00 0 0) + (1.00043e+00 0 0) +) + +// ************************************************************************* // \ No newline at end of file diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/0/k b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/0/k new file mode 100644 index 0000000000..46d7c908bb --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/0/k @@ -0,0 +1,542 @@ +534 +( + // zmin + 0 + 3.84844e-06 + 1.59930e-06 + 7.30613e-06 + 2.54222e-05 + 6.40146e-05 + 1.31525e-04 + 2.35041e-04 + 3.78071e-04 + 5.58565e-04 + 7.68643e-04 + 9.96670e-04 + 1.23053e-03 + 1.46023e-03 + 1.67896e-03 + 1.88293e-03 + 2.07057e-03 + 2.24193e-03 + 2.39809e-03 + 2.54015e-03 + 2.66918e-03 + 2.78628e-03 + 2.89254e-03 + 2.98904e-03 + 3.07679e-03 + 3.15670e-03 + 3.22962e-03 + 3.29630e-03 + 3.35744e-03 + 3.41365e-03 + 3.46549e-03 + 3.51346e-03 + 3.55803e-03 + 3.59954e-03 + 3.63828e-03 + 3.67449e-03 + 3.70839e-03 + 3.74017e-03 + 3.77001e-03 + 3.79807e-03 + 3.82448e-03 + 3.84936e-03 + 3.87284e-03 + 3.89501e-03 + 3.91597e-03 + 3.93579e-03 + 3.95455e-03 + 3.97232e-03 + 3.98917e-03 + 4.00515e-03 + 4.02031e-03 + 4.03470e-03 + 4.04836e-03 + 4.06134e-03 + 4.07366e-03 + 4.08537e-03 + 4.09649e-03 + 4.10705e-03 + 4.11708e-03 + 4.12661e-03 + 4.13565e-03 + 4.14423e-03 + 4.15236e-03 + 4.16007e-03 + 4.16736e-03 + 4.17426e-03 + 4.18078e-03 + 4.18693e-03 + 4.19272e-03 + 4.19817e-03 + 4.20328e-03 + 4.20806e-03 + 4.21253e-03 + 4.21668e-03 + 4.22054e-03 + 4.22409e-03 + 4.22736e-03 + 4.23033e-03 + 4.23303e-03 + 4.23545e-03 + 4.23760e-03 + 4.23948e-03 + 4.24108e-03 + 4.24243e-03 + 4.24351e-03 + 4.24432e-03 + 4.24488e-03 + 4.24517e-03 + 4.24521e-03 + 4.24498e-03 + 4.24448e-03 + 4.24373e-03 + 4.24271e-03 + 4.24142e-03 + 4.23986e-03 + 4.23802e-03 + 4.23591e-03 + 4.23352e-03 + 4.23085e-03 + 4.22789e-03 + 4.22463e-03 + 4.22108e-03 + 4.21721e-03 + 4.21304e-03 + 4.20855e-03 + 4.20374e-03 + 4.19859e-03 + 4.19310e-03 + 4.18726e-03 + 4.18106e-03 + 4.17448e-03 + 4.16753e-03 + 4.16019e-03 + 4.15245e-03 + 4.14429e-03 + 4.13570e-03 + 4.12667e-03 + 4.11718e-03 + 4.10722e-03 + 4.09677e-03 + 4.08582e-03 + 4.07434e-03 + 4.06232e-03 + 4.04974e-03 + 4.03658e-03 + 4.02281e-03 + 4.00841e-03 + 3.99335e-03 + 3.97762e-03 + 3.96118e-03 + 3.94401e-03 + 3.92607e-03 + 3.90733e-03 + 3.88776e-03 + 3.86733e-03 + 3.84599e-03 + 3.82371e-03 + 3.80044e-03 + 3.77614e-03 + 3.75077e-03 + 3.72427e-03 + 3.69659e-03 + 3.66769e-03 + 3.63749e-03 + 3.60595e-03 + 3.57299e-03 + 3.53855e-03 + 3.50248e-03 + 3.46459e-03 + 3.42468e-03 + 3.38257e-03 + 3.33804e-03 + 3.29090e-03 + 3.24094e-03 + 3.18796e-03 + 3.13172e-03 + 3.07199e-03 + 3.00847e-03 + 2.94087e-03 + 2.86880e-03 + 2.79187e-03 + 2.70959e-03 + 2.62143e-03 + 2.52683e-03 + 2.42516e-03 + 2.31580e-03 + 2.19822e-03 + 2.07202e-03 + 1.93723e-03 + 1.79456e-03 + 1.64609e-03 + 1.49580e-03 + 1.34703e-03 + 1.20094e-03 + 1.05459e-03 + 9.04880e-04 + 7.51735e-04 + 5.96019e-04 + 4.40026e-04 + 2.88876e-04 + 1.54103e-04 + 5.76156e-05 + 1.31857e-05 + 1.85141e-06 + 2.24315e-07 + 6.89702e-08 + 5.65350e-08 + 5.55954e-08 + 5.55267e-08 + 5.55213e-08 + 5.55205e-08 + 5.55199e-08 + 5.55194e-08 + 5.55190e-08 + 5.55186e-08 + 5.55182e-08 + 5.55178e-08 + 5.55174e-08 + 5.55171e-08 + 5.55168e-08 + 5.55165e-08 + 5.55162e-08 + 5.55160e-08 + 5.55157e-08 + 5.55155e-08 + 5.55153e-08 + 5.55151e-08 + 5.55149e-08 + 5.55148e-08 + 5.55146e-08 + 5.55145e-08 + 5.55144e-08 + 5.55142e-08 + 5.55141e-08 + 5.55140e-08 + 5.55139e-08 + 5.55138e-08 + 5.55138e-08 + 5.55137e-08 + 5.55136e-08 + 5.55136e-08 + 5.55135e-08 + 5.55135e-08 + 5.55134e-08 + 5.55134e-08 + 5.55134e-08 + 5.55133e-08 + 5.55133e-08 + 5.55133e-08 + 5.55133e-08 + 5.55133e-08 + 5.55133e-08 + 5.55133e-08 + 5.55133e-08 + 5.55133e-08 + 5.55134e-08 + 5.55134e-08 + 5.55134e-08 + 5.55134e-08 + 5.55135e-08 + 5.55135e-08 + 5.55136e-08 + 5.55136e-08 + 5.55137e-08 + 5.55137e-08 + 5.55138e-08 + 5.55139e-08 + 5.55139e-08 + 5.55140e-08 + 5.55141e-08 + 5.55142e-08 + 5.55143e-08 + 5.55143e-08 + 5.55144e-08 + 5.55145e-08 + 5.55146e-08 + 5.55147e-08 + 5.55149e-08 + 5.55150e-08 + 5.55151e-08 + 5.55152e-08 + 5.55153e-08 + 5.55155e-08 + 5.55156e-08 + 5.55158e-08 + 5.55159e-08 + 5.55159e-08 + + // zmax + 0 + 3.84844e-06 + 1.59930e-06 + 7.30613e-06 + 2.54222e-05 + 6.40146e-05 + 1.31525e-04 + 2.35041e-04 + 3.78071e-04 + 5.58565e-04 + 7.68643e-04 + 9.96670e-04 + 1.23053e-03 + 1.46023e-03 + 1.67896e-03 + 1.88293e-03 + 2.07057e-03 + 2.24193e-03 + 2.39809e-03 + 2.54015e-03 + 2.66918e-03 + 2.78628e-03 + 2.89254e-03 + 2.98904e-03 + 3.07679e-03 + 3.15670e-03 + 3.22962e-03 + 3.29630e-03 + 3.35744e-03 + 3.41365e-03 + 3.46549e-03 + 3.51346e-03 + 3.55803e-03 + 3.59954e-03 + 3.63828e-03 + 3.67449e-03 + 3.70839e-03 + 3.74017e-03 + 3.77001e-03 + 3.79807e-03 + 3.82448e-03 + 3.84936e-03 + 3.87284e-03 + 3.89501e-03 + 3.91597e-03 + 3.93579e-03 + 3.95455e-03 + 3.97232e-03 + 3.98917e-03 + 4.00515e-03 + 4.02031e-03 + 4.03470e-03 + 4.04836e-03 + 4.06134e-03 + 4.07366e-03 + 4.08537e-03 + 4.09649e-03 + 4.10705e-03 + 4.11708e-03 + 4.12661e-03 + 4.13565e-03 + 4.14423e-03 + 4.15236e-03 + 4.16007e-03 + 4.16736e-03 + 4.17426e-03 + 4.18078e-03 + 4.18693e-03 + 4.19272e-03 + 4.19817e-03 + 4.20328e-03 + 4.20806e-03 + 4.21253e-03 + 4.21668e-03 + 4.22054e-03 + 4.22409e-03 + 4.22736e-03 + 4.23033e-03 + 4.23303e-03 + 4.23545e-03 + 4.23760e-03 + 4.23948e-03 + 4.24108e-03 + 4.24243e-03 + 4.24351e-03 + 4.24432e-03 + 4.24488e-03 + 4.24517e-03 + 4.24521e-03 + 4.24498e-03 + 4.24448e-03 + 4.24373e-03 + 4.24271e-03 + 4.24142e-03 + 4.23986e-03 + 4.23802e-03 + 4.23591e-03 + 4.23352e-03 + 4.23085e-03 + 4.22789e-03 + 4.22463e-03 + 4.22108e-03 + 4.21721e-03 + 4.21304e-03 + 4.20855e-03 + 4.20374e-03 + 4.19859e-03 + 4.19310e-03 + 4.18726e-03 + 4.18106e-03 + 4.17448e-03 + 4.16753e-03 + 4.16019e-03 + 4.15245e-03 + 4.14429e-03 + 4.13570e-03 + 4.12667e-03 + 4.11718e-03 + 4.10722e-03 + 4.09677e-03 + 4.08582e-03 + 4.07434e-03 + 4.06232e-03 + 4.04974e-03 + 4.03658e-03 + 4.02281e-03 + 4.00841e-03 + 3.99335e-03 + 3.97762e-03 + 3.96118e-03 + 3.94401e-03 + 3.92607e-03 + 3.90733e-03 + 3.88776e-03 + 3.86733e-03 + 3.84599e-03 + 3.82371e-03 + 3.80044e-03 + 3.77614e-03 + 3.75077e-03 + 3.72427e-03 + 3.69659e-03 + 3.66769e-03 + 3.63749e-03 + 3.60595e-03 + 3.57299e-03 + 3.53855e-03 + 3.50248e-03 + 3.46459e-03 + 3.42468e-03 + 3.38257e-03 + 3.33804e-03 + 3.29090e-03 + 3.24094e-03 + 3.18796e-03 + 3.13172e-03 + 3.07199e-03 + 3.00847e-03 + 2.94087e-03 + 2.86880e-03 + 2.79187e-03 + 2.70959e-03 + 2.62143e-03 + 2.52683e-03 + 2.42516e-03 + 2.31580e-03 + 2.19822e-03 + 2.07202e-03 + 1.93723e-03 + 1.79456e-03 + 1.64609e-03 + 1.49580e-03 + 1.34703e-03 + 1.20094e-03 + 1.05459e-03 + 9.04880e-04 + 7.51735e-04 + 5.96019e-04 + 4.40026e-04 + 2.88876e-04 + 1.54103e-04 + 5.76156e-05 + 1.31857e-05 + 1.85141e-06 + 2.24315e-07 + 6.89702e-08 + 5.65350e-08 + 5.55954e-08 + 5.55267e-08 + 5.55213e-08 + 5.55205e-08 + 5.55199e-08 + 5.55194e-08 + 5.55190e-08 + 5.55186e-08 + 5.55182e-08 + 5.55178e-08 + 5.55174e-08 + 5.55171e-08 + 5.55168e-08 + 5.55165e-08 + 5.55162e-08 + 5.55160e-08 + 5.55157e-08 + 5.55155e-08 + 5.55153e-08 + 5.55151e-08 + 5.55149e-08 + 5.55148e-08 + 5.55146e-08 + 5.55145e-08 + 5.55144e-08 + 5.55142e-08 + 5.55141e-08 + 5.55140e-08 + 5.55139e-08 + 5.55138e-08 + 5.55138e-08 + 5.55137e-08 + 5.55136e-08 + 5.55136e-08 + 5.55135e-08 + 5.55135e-08 + 5.55134e-08 + 5.55134e-08 + 5.55134e-08 + 5.55133e-08 + 5.55133e-08 + 5.55133e-08 + 5.55133e-08 + 5.55133e-08 + 5.55133e-08 + 5.55133e-08 + 5.55133e-08 + 5.55133e-08 + 5.55134e-08 + 5.55134e-08 + 5.55134e-08 + 5.55134e-08 + 5.55135e-08 + 5.55135e-08 + 5.55136e-08 + 5.55136e-08 + 5.55137e-08 + 5.55137e-08 + 5.55138e-08 + 5.55139e-08 + 5.55139e-08 + 5.55140e-08 + 5.55141e-08 + 5.55142e-08 + 5.55143e-08 + 5.55143e-08 + 5.55144e-08 + 5.55145e-08 + 5.55146e-08 + 5.55147e-08 + 5.55149e-08 + 5.55150e-08 + 5.55151e-08 + 5.55152e-08 + 5.55153e-08 + 5.55155e-08 + 5.55156e-08 + 5.55158e-08 + 5.55159e-08 + 5.55159e-08 +) + +// ************************************************************************* // \ No newline at end of file diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/0/nuTilda b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/0/nuTilda new file mode 100644 index 0000000000..721749fac5 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/0/nuTilda @@ -0,0 +1,542 @@ +534 +( + // zmin + 0 + 3.36901709402949e-12 + 8.12097222225211e-12 + 1.08853632479033e-10 + 7.92667735045652e-10 + 3.44800213676483e-09 + 1.08153846154244e-08 + 2.70391025642021e-08 + 5.70216880343979e-08 + 1.05185149573037e-07 + 1.74278846154488e-07 + 2.6493055555653e-07 + 3.76063034189418e-07 + 5.0568482906169e-07 + 6.51586538463936e-07 + 8.11736111114098e-07 + 9.84417735046358e-07 + 1.16240384615812e-06 + 1.34686965812461e-06 + 1.54204059829627e-06 + 1.74858974359618e-06 + 1.96654914530638e-06 + 2.19583333334141e-06 + 2.43642094017991e-06 + 2.68830128206117e-06 + 2.95151709402796e-06 + 3.22621794872982e-06 + 3.51257478633771e-06 + 3.81064102565505e-06 + 4.12000000001516e-06 + 4.43873931625565e-06 + 4.76087606839359e-06 + 5.08622863249735e-06 + 5.4215491453191e-06 + 5.76709401711524e-06 + 6.12309829062082e-06 + 6.48985042737431e-06 + 6.86762820515348e-06 + 7.25675213677884e-06 + 7.65753205131023e-06 + 8.07029914532884e-06 + 8.49540598293725e-06 + 8.93321581199869e-06 + 9.3841025641371e-06 + 9.8484508547371e-06 + 1.03266666667047e-05 + 1.08191239316637e-05 + 1.13263888889306e-05 + 1.18487179487616e-05 + 1.23866452991909e-05 + 1.29407051282527e-05 + 1.35112179487677e-05 + 1.40988247863767e-05 + 1.47039529915071e-05 + 1.53271367521932e-05 + 1.5968910256469e-05 + 1.66298076923689e-05 + 1.73103632479269e-05 + 1.80113247863911e-05 + 1.87330128205818e-05 + 1.94761752137469e-05 + 2.02414529915275e-05 + 2.10293803419577e-05 + 2.18407051282855e-05 + 2.26760683761518e-05 + 2.35360042735909e-05 + 2.44213675214574e-05 + 2.53326923077855e-05 + 2.627083333343e-05 + 2.72364316240318e-05 + 2.82303418804458e-05 + 2.92532051283128e-05 + 3.03057692308808e-05 + 3.13888888890044e-05 + 3.25034188035384e-05 + 3.36500000001238e-05 + 3.48294871796153e-05 + 3.60428418804745e-05 + 3.72907051283424e-05 + 3.85741452992873e-05 + 3.98938034189502e-05 + 4.12506410257928e-05 + 4.26456196582766e-05 + 4.40794871796494e-05 + 4.55532051283728e-05 + 4.70676282053014e-05 + 4.862361111129e-05 + 5.02221153848002e-05 + 5.18638888890797e-05 + 5.35500000001971e-05 + 5.52813034190068e-05 + 5.7058547008757e-05 + 5.8882692307909e-05 + 6.07544871797108e-05 + 6.26748931626238e-05 + 6.46445512822892e-05 + 6.66644230771684e-05 + 6.87351495729025e-05 + 7.08574786327394e-05 + 7.30321581199269e-05 + 7.52597222224992e-05 + 7.75409188037041e-05 + 7.98760683763623e-05 + 8.22658119661147e-05 + 8.47105769233887e-05 + 8.72105769233978e-05 + 8.97661324789628e-05 + 9.23773504276904e-05 + 9.50444444447942e-05 + 9.77672008550606e-05 + 0.000100545512820883 + 0.00010337905982944 + 0.000106267307692699 + 0.000109209401709804 + 0.00011220619658161 + 0.000115254273504698 + 0.000118353632479068 + 0.000121502136752584 + 0.000124699786325245 + 0.000127943376068847 + 0.000131231837607321 + 0.000134560897436393 + 0.000137929487179995 + 0.000141333333333853 + 0.000144769230769764 + 0.00014823397435952 + 0.000151722222222781 + 0.000155229700855272 + 0.000158751068376653 + 0.00016228098290658 + 0.000165811965812576 + 0.00016933760683823 + 0.000172851495727132 + 0.000176344017094666 + 0.000179807692308354 + 0.000183231837607512 + 0.000186606837607524 + 0.000189920940171639 + 0.000193162393163104 + 0.000196318376069099 + 0.000199376068376802 + 0.000202320512821257 + 0.000205135683761439 + 0.000207806623932389 + 0.000210313034188808 + 0.000212638888889671 + 0.000214689102564893 + 0.000215978632479427 + 0.000216706196581994 + 0.000217018162393961 + 0.000217011752137551 + 0.000216739316240114 + 0.000216213675214471 + 0.000215419871795665 + 0.00021432158119737 + 0.000212863247864031 + 0.000210982905983682 + 0.000208611111111879 + 0.000205676282052039 + 0.000202113247863992 + 0.000197864316240044 + 0.00019288782051353 + 0.000187172008547697 + 0.000180736111111776 + 0.000173645299145938 + 0.000166021367521978 + 0.000158049145299727 + 0.00014999465812021 + 0.000142207264957788 + 0.000135129273504771 + 0.000129256410256886 + 0.000124956196581656 + 0.00012179487179532 + 0.00011754807692351 + 0.000106481196581588 + 9.40628205131667e-05 + 8.06954059832029e-05 + 6.64488247865693e-05 + 5.15225427352323e-05 + 3.64003205129545e-05 + 2.22603632479452e-05 + 1.1337286324828e-05 + 4.84741452993237e-06 + 1.516303418809e-06 + 2.6712713675312e-07 + 8.64979700857884e-08 + 7.121121794898e-08 + 7.00510683763262e-08 + 6.99664529917105e-08 + 6.9960149572907e-08 + 6.99592948720523e-08 + 6.9958867521625e-08 + 6.99584401711976e-08 + 6.99581196583771e-08 + 6.99576923079497e-08 + 6.99573717951292e-08 + 6.99570512823087e-08 + 6.99567307694882e-08 + 6.99565170942745e-08 + 6.9956196581454e-08 + 6.99559829062403e-08 + 6.99557692310267e-08 + 6.9955555555813e-08 + 6.99553418805993e-08 + 6.99551282053856e-08 + 6.9954914530172e-08 + 6.99547008549583e-08 + 6.99545940173514e-08 + 6.99543803421378e-08 + 6.99542735045309e-08 + 6.99541666669241e-08 + 6.99539529917104e-08 + 6.99538461541036e-08 + 6.99537393164967e-08 + 6.99536324788899e-08 + 6.99535256412831e-08 + 6.99534188036762e-08 + 6.99533119660694e-08 + 6.99532051284625e-08 + 6.99532051284625e-08 + 6.99530982908557e-08 + 6.99529914532489e-08 + 6.9952884615642e-08 + 6.9952884615642e-08 + 6.99527777780352e-08 + 6.99527777780352e-08 + 6.99526709404284e-08 + 6.99526709404284e-08 + 6.99525641028215e-08 + 6.99525641028215e-08 + 6.99524572652147e-08 + 6.99524572652147e-08 + 6.99524572652147e-08 + 6.99523504276079e-08 + 6.99523504276079e-08 + 6.99523504276079e-08 + 6.9952243590001e-08 + 6.9952243590001e-08 + 6.9952243590001e-08 + 6.99521367523942e-08 + 6.99521367523942e-08 + 6.99521367523942e-08 + 6.99521367523942e-08 + 6.99521367523942e-08 + 6.99521367523942e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99519230771805e-08 + 6.99519230771805e-08 + 6.99519230771805e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + + // zmax + 0 + 3.36901709402949e-12 + 8.12097222225211e-12 + 1.08853632479033e-10 + 7.92667735045652e-10 + 3.44800213676483e-09 + 1.08153846154244e-08 + 2.70391025642021e-08 + 5.70216880343979e-08 + 1.05185149573037e-07 + 1.74278846154488e-07 + 2.6493055555653e-07 + 3.76063034189418e-07 + 5.0568482906169e-07 + 6.51586538463936e-07 + 8.11736111114098e-07 + 9.84417735046358e-07 + 1.16240384615812e-06 + 1.34686965812461e-06 + 1.54204059829627e-06 + 1.74858974359618e-06 + 1.96654914530638e-06 + 2.19583333334141e-06 + 2.43642094017991e-06 + 2.68830128206117e-06 + 2.95151709402796e-06 + 3.22621794872982e-06 + 3.51257478633771e-06 + 3.81064102565505e-06 + 4.12000000001516e-06 + 4.43873931625565e-06 + 4.76087606839359e-06 + 5.08622863249735e-06 + 5.4215491453191e-06 + 5.76709401711524e-06 + 6.12309829062082e-06 + 6.48985042737431e-06 + 6.86762820515348e-06 + 7.25675213677884e-06 + 7.65753205131023e-06 + 8.07029914532884e-06 + 8.49540598293725e-06 + 8.93321581199869e-06 + 9.3841025641371e-06 + 9.8484508547371e-06 + 1.03266666667047e-05 + 1.08191239316637e-05 + 1.13263888889306e-05 + 1.18487179487616e-05 + 1.23866452991909e-05 + 1.29407051282527e-05 + 1.35112179487677e-05 + 1.40988247863767e-05 + 1.47039529915071e-05 + 1.53271367521932e-05 + 1.5968910256469e-05 + 1.66298076923689e-05 + 1.73103632479269e-05 + 1.80113247863911e-05 + 1.87330128205818e-05 + 1.94761752137469e-05 + 2.02414529915275e-05 + 2.10293803419577e-05 + 2.18407051282855e-05 + 2.26760683761518e-05 + 2.35360042735909e-05 + 2.44213675214574e-05 + 2.53326923077855e-05 + 2.627083333343e-05 + 2.72364316240318e-05 + 2.82303418804458e-05 + 2.92532051283128e-05 + 3.03057692308808e-05 + 3.13888888890044e-05 + 3.25034188035384e-05 + 3.36500000001238e-05 + 3.48294871796153e-05 + 3.60428418804745e-05 + 3.72907051283424e-05 + 3.85741452992873e-05 + 3.98938034189502e-05 + 4.12506410257928e-05 + 4.26456196582766e-05 + 4.40794871796494e-05 + 4.55532051283728e-05 + 4.70676282053014e-05 + 4.862361111129e-05 + 5.02221153848002e-05 + 5.18638888890797e-05 + 5.35500000001971e-05 + 5.52813034190068e-05 + 5.7058547008757e-05 + 5.8882692307909e-05 + 6.07544871797108e-05 + 6.26748931626238e-05 + 6.46445512822892e-05 + 6.66644230771684e-05 + 6.87351495729025e-05 + 7.08574786327394e-05 + 7.30321581199269e-05 + 7.52597222224992e-05 + 7.75409188037041e-05 + 7.98760683763623e-05 + 8.22658119661147e-05 + 8.47105769233887e-05 + 8.72105769233978e-05 + 8.97661324789628e-05 + 9.23773504276904e-05 + 9.50444444447942e-05 + 9.77672008550606e-05 + 0.000100545512820883 + 0.00010337905982944 + 0.000106267307692699 + 0.000109209401709804 + 0.00011220619658161 + 0.000115254273504698 + 0.000118353632479068 + 0.000121502136752584 + 0.000124699786325245 + 0.000127943376068847 + 0.000131231837607321 + 0.000134560897436393 + 0.000137929487179995 + 0.000141333333333853 + 0.000144769230769764 + 0.00014823397435952 + 0.000151722222222781 + 0.000155229700855272 + 0.000158751068376653 + 0.00016228098290658 + 0.000165811965812576 + 0.00016933760683823 + 0.000172851495727132 + 0.000176344017094666 + 0.000179807692308354 + 0.000183231837607512 + 0.000186606837607524 + 0.000189920940171639 + 0.000193162393163104 + 0.000196318376069099 + 0.000199376068376802 + 0.000202320512821257 + 0.000205135683761439 + 0.000207806623932389 + 0.000210313034188808 + 0.000212638888889671 + 0.000214689102564893 + 0.000215978632479427 + 0.000216706196581994 + 0.000217018162393961 + 0.000217011752137551 + 0.000216739316240114 + 0.000216213675214471 + 0.000215419871795665 + 0.00021432158119737 + 0.000212863247864031 + 0.000210982905983682 + 0.000208611111111879 + 0.000205676282052039 + 0.000202113247863992 + 0.000197864316240044 + 0.00019288782051353 + 0.000187172008547697 + 0.000180736111111776 + 0.000173645299145938 + 0.000166021367521978 + 0.000158049145299727 + 0.00014999465812021 + 0.000142207264957788 + 0.000135129273504771 + 0.000129256410256886 + 0.000124956196581656 + 0.00012179487179532 + 0.00011754807692351 + 0.000106481196581588 + 9.40628205131667e-05 + 8.06954059832029e-05 + 6.64488247865693e-05 + 5.15225427352323e-05 + 3.64003205129545e-05 + 2.22603632479452e-05 + 1.1337286324828e-05 + 4.84741452993237e-06 + 1.516303418809e-06 + 2.6712713675312e-07 + 8.64979700857884e-08 + 7.121121794898e-08 + 7.00510683763262e-08 + 6.99664529917105e-08 + 6.9960149572907e-08 + 6.99592948720523e-08 + 6.9958867521625e-08 + 6.99584401711976e-08 + 6.99581196583771e-08 + 6.99576923079497e-08 + 6.99573717951292e-08 + 6.99570512823087e-08 + 6.99567307694882e-08 + 6.99565170942745e-08 + 6.9956196581454e-08 + 6.99559829062403e-08 + 6.99557692310267e-08 + 6.9955555555813e-08 + 6.99553418805993e-08 + 6.99551282053856e-08 + 6.9954914530172e-08 + 6.99547008549583e-08 + 6.99545940173514e-08 + 6.99543803421378e-08 + 6.99542735045309e-08 + 6.99541666669241e-08 + 6.99539529917104e-08 + 6.99538461541036e-08 + 6.99537393164967e-08 + 6.99536324788899e-08 + 6.99535256412831e-08 + 6.99534188036762e-08 + 6.99533119660694e-08 + 6.99532051284625e-08 + 6.99532051284625e-08 + 6.99530982908557e-08 + 6.99529914532489e-08 + 6.9952884615642e-08 + 6.9952884615642e-08 + 6.99527777780352e-08 + 6.99527777780352e-08 + 6.99526709404284e-08 + 6.99526709404284e-08 + 6.99525641028215e-08 + 6.99525641028215e-08 + 6.99524572652147e-08 + 6.99524572652147e-08 + 6.99524572652147e-08 + 6.99523504276079e-08 + 6.99523504276079e-08 + 6.99523504276079e-08 + 6.9952243590001e-08 + 6.9952243590001e-08 + 6.9952243590001e-08 + 6.99521367523942e-08 + 6.99521367523942e-08 + 6.99521367523942e-08 + 6.99521367523942e-08 + 6.99521367523942e-08 + 6.99521367523942e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99519230771805e-08 + 6.99519230771805e-08 + 6.99519230771805e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 + 6.99520299147873e-08 +) + +// ************************************************************************* // \ No newline at end of file diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/0/omega b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/0/omega new file mode 100644 index 0000000000..fef05e24ea --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/0/omega @@ -0,0 +1,542 @@ +534 +( + // zmin + 1142303.7599958 + 1142303.7599958 + 196934.399999275 + 67118.500799753 + 32071.665599882 + 18565.7471999317 + 12160.8863999552 + 8692.65071996801 + 6630.3057599756 + 5310.30239998046 + 4410.43199998377 + 3761.99927998616 + 3272.13431998796 + 2887.62551998937 + 2576.73311999052 + 2319.63263999146 + 2103.34175999226 + 1918.72511999294 + 1759.05287999353 + 1619.45783999404 + 1496.39255999449 + 1387.1332799949 + 1289.59271999525 + 1202.05799999558 + 1123.16255999587 + 1051.79255999613 + 987.002639996368 + 928.012175996585 + 874.150991996783 + 824.851871996965 + 779.617799997131 + 737.987327997284 + 699.541127997426 + 663.931007997557 + 630.868679997678 + 600.102359997792 + 571.413023997897 + 544.608791997996 + 519.518375998088 + 495.991079998175 + 473.895863998256 + 453.111047998333 + 433.532735998405 + 415.064519998473 + 397.622159998537 + 381.127967998597 + 365.513615998655 + 350.715455998709 + 336.675455998761 + 323.34400799881 + 310.672439998857 + 298.618631998901 + 287.142335998943 + 276.207983998984 + 265.781879999022 + 255.833135999059 + 246.334607999093 + 237.259151999127 + 228.583367999159 + 220.285727999189 + 212.343767999219 + 204.739703999247 + 197.454815999273 + 190.473191999299 + 183.777983999324 + 177.356087999347 + 171.19346399937 + 165.277943999392 + 159.596423999413 + 154.137671999433 + 148.892327999452 + 143.850095999471 + 139.000679999488 + 134.336591999506 + 129.849407999522 + 125.530703999538 + 121.372991999553 + 117.369719999568 + 113.514335999582 + 109.800287999596 + 106.221959999609 + 102.773735999622 + 99.449063999634 + 96.2451359996458 + 93.1550255996572 + 90.1750823996682 + 87.3008135996787 + 84.5281007996889 + 81.8528255996988 + 79.2712439997083 + 76.7797991997175 + 74.3750279997263 + 72.0535607997348 + 69.8124023997431 + 67.648463999751 + 65.5588439997587 + 63.5408279997662 + 61.5917951997734 + 59.7092183997803 + 57.890757599787 + 56.1339791997934 + 54.4367303997997 + 52.7969519998057 + 51.2125847998115 + 49.6815695998172 + 48.2021279998226 + 46.7724815998279 + 45.390945599833 + 44.0557415998379 + 42.7653719998426 + 41.5183391998472 + 40.3131455998517 + 39.1483871998559 + 38.0226599998601 + 36.9347471998641 + 35.883338399868 + 34.8673103998717 + 33.8855399998753 + 32.9368103998788 + 32.0200919998822 + 31.1344487998854 + 30.2787575998886 + 29.4521759998916 + 28.6538615998946 + 27.8827847998974 + 27.1381967999001 + 26.4193487999028 + 25.7254919999053 + 25.0556903999078 + 24.4094759999102 + 23.7860999999125 + 23.1848135999147 + 22.6051487999168 + 22.0464503999189 + 21.5081567999209 + 20.9897999999228 + 20.4907247999246 + 20.0106503999264 + 19.5491087999281 + 19.1055383999297 + 18.6795647999313 + 18.2710007999328 + 17.8792847999342 + 17.5042295999356 + 17.1456479999369 + 16.8030719999382 + 16.4765015999394 + 16.1650007999405 + 15.8676335999416 + 15.5835575999427 + 15.3119303999437 + 15.0521903999446 + 14.8036823999455 + 14.5656575999464 + 14.3376479999472 + 14.118998399948 + 13.9089599999488 + 13.7067839999496 + 13.5116279999503 + 13.322368799951 + 13.1376023999517 + 12.9560183999523 + 12.775744799953 + 12.5944415999537 + 12.4096751999543 + 12.218169599955 + 12.0163679999558 + 11.8002455999566 + 11.5656839999574 + 11.3095943999584 + 11.0333807999594 + 10.7477135999605 + 10.4618591999615 + 10.1810591999625 + 9.90400319996355 + 9.6199271999646 + 9.31570847996572 + 8.96959439996699 + 8.54044775996857 + 7.9360912799708 + 6.92277767997452 + 5.0819745599813 + 2.72015639998999 + 1.22100263999551 + 0.83973146399691 + 0.797361551997066 + 0.793905839997078 + 0.793640951997079 + 0.793618487997079 + 0.793613807997079 + 0.793610999997079 + 0.793608191997079 + 0.793605383997079 + 0.79360351199708 + 0.79360163999708 + 0.79359976799708 + 0.79359789599708 + 0.79359602399708 + 0.793594151997079 + 0.79359321599708 + 0.79359227999708 + 0.79359040799708 + 0.79358947199708 + 0.79358853599708 + 0.79358759999708 + 0.79358666399708 + 0.79358666399708 + 0.79358572799708 + 0.79358479199708 + 0.79358479199708 + 0.79358385599708 + 0.79358385599708 + 0.79358385599708 + 0.79358291999708 + 0.79358291999708 + 0.79358291999708 + 0.79358291999708 + 0.79358291999708 + 0.79358291999708 + 0.79358291999708 + 0.79358291999708 + 0.79358291999708 + 0.79358291999708 + 0.79358291999708 + 0.79358385599708 + 0.79358385599708 + 0.79358385599708 + 0.79358479199708 + 0.79358479199708 + 0.79358572799708 + 0.79358572799708 + 0.79358666399708 + 0.79358666399708 + 0.79358759999708 + 0.79358853599708 + 0.79358853599708 + 0.79358947199708 + 0.79359040799708 + 0.79359134399708 + 0.79359227999708 + 0.79359321599708 + 0.79359321599708 + 0.793594151997079 + 0.79359602399708 + 0.793596959997079 + 0.79359789599708 + 0.79359883199708 + 0.79359976799708 + 0.793600703997079 + 0.79360257599708 + 0.79360351199708 + 0.793605383997079 + 0.79360631999708 + 0.793608191997079 + 0.793609127997079 + 0.793610999997079 + 0.793611935997079 + 0.793613807997079 + 0.793615679997079 + 0.79361755199708 + 0.793619423997079 + 0.793620359997079 + 0.793622231997079 + 0.793625039997079 + 0.793626911997079 + 0.793628783997079 + 0.793628783997079 + + // zmax + 1142303.7599958 + 1142303.7599958 + 196934.399999275 + 67118.500799753 + 32071.665599882 + 18565.7471999317 + 12160.8863999552 + 8692.65071996801 + 6630.3057599756 + 5310.30239998046 + 4410.43199998377 + 3761.99927998616 + 3272.13431998796 + 2887.62551998937 + 2576.73311999052 + 2319.63263999146 + 2103.34175999226 + 1918.72511999294 + 1759.05287999353 + 1619.45783999404 + 1496.39255999449 + 1387.1332799949 + 1289.59271999525 + 1202.05799999558 + 1123.16255999587 + 1051.79255999613 + 987.002639996368 + 928.012175996585 + 874.150991996783 + 824.851871996965 + 779.617799997131 + 737.987327997284 + 699.541127997426 + 663.931007997557 + 630.868679997678 + 600.102359997792 + 571.413023997897 + 544.608791997996 + 519.518375998088 + 495.991079998175 + 473.895863998256 + 453.111047998333 + 433.532735998405 + 415.064519998473 + 397.622159998537 + 381.127967998597 + 365.513615998655 + 350.715455998709 + 336.675455998761 + 323.34400799881 + 310.672439998857 + 298.618631998901 + 287.142335998943 + 276.207983998984 + 265.781879999022 + 255.833135999059 + 246.334607999093 + 237.259151999127 + 228.583367999159 + 220.285727999189 + 212.343767999219 + 204.739703999247 + 197.454815999273 + 190.473191999299 + 183.777983999324 + 177.356087999347 + 171.19346399937 + 165.277943999392 + 159.596423999413 + 154.137671999433 + 148.892327999452 + 143.850095999471 + 139.000679999488 + 134.336591999506 + 129.849407999522 + 125.530703999538 + 121.372991999553 + 117.369719999568 + 113.514335999582 + 109.800287999596 + 106.221959999609 + 102.773735999622 + 99.449063999634 + 96.2451359996458 + 93.1550255996572 + 90.1750823996682 + 87.3008135996787 + 84.5281007996889 + 81.8528255996988 + 79.2712439997083 + 76.7797991997175 + 74.3750279997263 + 72.0535607997348 + 69.8124023997431 + 67.648463999751 + 65.5588439997587 + 63.5408279997662 + 61.5917951997734 + 59.7092183997803 + 57.890757599787 + 56.1339791997934 + 54.4367303997997 + 52.7969519998057 + 51.2125847998115 + 49.6815695998172 + 48.2021279998226 + 46.7724815998279 + 45.390945599833 + 44.0557415998379 + 42.7653719998426 + 41.5183391998472 + 40.3131455998517 + 39.1483871998559 + 38.0226599998601 + 36.9347471998641 + 35.883338399868 + 34.8673103998717 + 33.8855399998753 + 32.9368103998788 + 32.0200919998822 + 31.1344487998854 + 30.2787575998886 + 29.4521759998916 + 28.6538615998946 + 27.8827847998974 + 27.1381967999001 + 26.4193487999028 + 25.7254919999053 + 25.0556903999078 + 24.4094759999102 + 23.7860999999125 + 23.1848135999147 + 22.6051487999168 + 22.0464503999189 + 21.5081567999209 + 20.9897999999228 + 20.4907247999246 + 20.0106503999264 + 19.5491087999281 + 19.1055383999297 + 18.6795647999313 + 18.2710007999328 + 17.8792847999342 + 17.5042295999356 + 17.1456479999369 + 16.8030719999382 + 16.4765015999394 + 16.1650007999405 + 15.8676335999416 + 15.5835575999427 + 15.3119303999437 + 15.0521903999446 + 14.8036823999455 + 14.5656575999464 + 14.3376479999472 + 14.118998399948 + 13.9089599999488 + 13.7067839999496 + 13.5116279999503 + 13.322368799951 + 13.1376023999517 + 12.9560183999523 + 12.775744799953 + 12.5944415999537 + 12.4096751999543 + 12.218169599955 + 12.0163679999558 + 11.8002455999566 + 11.5656839999574 + 11.3095943999584 + 11.0333807999594 + 10.7477135999605 + 10.4618591999615 + 10.1810591999625 + 9.90400319996355 + 9.6199271999646 + 9.31570847996572 + 8.96959439996699 + 8.54044775996857 + 7.9360912799708 + 6.92277767997452 + 5.0819745599813 + 2.72015639998999 + 1.22100263999551 + 0.83973146399691 + 0.797361551997066 + 0.793905839997078 + 0.793640951997079 + 0.793618487997079 + 0.793613807997079 + 0.793610999997079 + 0.793608191997079 + 0.793605383997079 + 0.79360351199708 + 0.79360163999708 + 0.79359976799708 + 0.79359789599708 + 0.79359602399708 + 0.793594151997079 + 0.79359321599708 + 0.79359227999708 + 0.79359040799708 + 0.79358947199708 + 0.79358853599708 + 0.79358759999708 + 0.79358666399708 + 0.79358666399708 + 0.79358572799708 + 0.79358479199708 + 0.79358479199708 + 0.79358385599708 + 0.79358385599708 + 0.79358385599708 + 0.79358291999708 + 0.79358291999708 + 0.79358291999708 + 0.79358291999708 + 0.79358291999708 + 0.79358291999708 + 0.79358291999708 + 0.79358291999708 + 0.79358291999708 + 0.79358291999708 + 0.79358291999708 + 0.79358385599708 + 0.79358385599708 + 0.79358385599708 + 0.79358479199708 + 0.79358479199708 + 0.79358572799708 + 0.79358572799708 + 0.79358666399708 + 0.79358666399708 + 0.79358759999708 + 0.79358853599708 + 0.79358853599708 + 0.79358947199708 + 0.79359040799708 + 0.79359134399708 + 0.79359227999708 + 0.79359321599708 + 0.79359321599708 + 0.793594151997079 + 0.79359602399708 + 0.793596959997079 + 0.79359789599708 + 0.79359883199708 + 0.79359976799708 + 0.793600703997079 + 0.79360257599708 + 0.79360351199708 + 0.793605383997079 + 0.79360631999708 + 0.793608191997079 + 0.793609127997079 + 0.793610999997079 + 0.793611935997079 + 0.793613807997079 + 0.793615679997079 + 0.79361755199708 + 0.793619423997079 + 0.793620359997079 + 0.793622231997079 + 0.793625039997079 + 0.793626911997079 + 0.793628783997079 + 0.793628783997079 +) + +// ************************************************************************* // \ No newline at end of file diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/points b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/points new file mode 100644 index 0000000000..956d6ca69b --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/boundaryData/inlet/points @@ -0,0 +1,542 @@ +534 +( + // zmin + (-2.14 0 0) + (-2.14 8.65000e-06 0) + (-2.14 2.59580e-05 0) + (-2.14 4.32902e-05 0) + (-2.14 6.06627e-05 0) + (-2.14 7.80916e-05 0) + (-2.14 9.55932e-05 0) + (-2.14 1.13184e-04 0) + (-2.14 1.30879e-04 0) + (-2.14 1.48697e-04 0) + (-2.14 1.66653e-04 0) + (-2.14 1.84764e-04 0) + (-2.14 2.03047e-04 0) + (-2.14 2.21518e-04 0) + (-2.14 2.40196e-04 0) + (-2.14 2.59097e-04 0) + (-2.14 2.78240e-04 0) + (-2.14 2.97641e-04 0) + (-2.14 3.17319e-04 0) + (-2.14 3.37292e-04 0) + (-2.14 3.57579e-04 0) + (-2.14 3.78199e-04 0) + (-2.14 3.99170e-04 0) + (-2.14 4.20513e-04 0) + (-2.14 4.42247e-04 0) + (-2.14 4.64393e-04 0) + (-2.14 4.86970e-04 0) + (-2.14 5.10001e-04 0) + (-2.14 5.33506e-04 0) + (-2.14 5.57507e-04 0) + (-2.14 5.82027e-04 0) + (-2.14 6.07089e-04 0) + (-2.14 6.32715e-04 0) + (-2.14 6.58930e-04 0) + (-2.14 6.85758e-04 0) + (-2.14 7.13223e-04 0) + (-2.14 7.41353e-04 0) + (-2.14 7.70172e-04 0) + (-2.14 7.99707e-04 0) + (-2.14 8.29987e-04 0) + (-2.14 8.61039e-04 0) + (-2.14 8.92891e-04 0) + (-2.14 9.25575e-04 0) + (-2.14 9.59119e-04 0) + (-2.14 9.93556e-04 0) + (-2.14 1.02892e-03 0) + (-2.14 1.06524e-03 0) + (-2.14 1.10254e-03 0) + (-2.14 1.14088e-03 0) + (-2.14 1.18028e-03 0) + (-2.14 1.22077e-03 0) + (-2.14 1.26240e-03 0) + (-2.14 1.30520e-03 0) + (-2.14 1.34922e-03 0) + (-2.14 1.39450e-03 0) + (-2.14 1.44107e-03 0) + (-2.14 1.48898e-03 0) + (-2.14 1.53828e-03 0) + (-2.14 1.58901e-03 0) + (-2.14 1.64121e-03 0) + (-2.14 1.69495e-03 0) + (-2.14 1.75026e-03 0) + (-2.14 1.80719e-03 0) + (-2.14 1.86581e-03 0) + (-2.14 1.92617e-03 0) + (-2.14 1.98832e-03 0) + (-2.14 2.05231e-03 0) + (-2.14 2.11822e-03 0) + (-2.14 2.18610e-03 0) + (-2.14 2.25601e-03 0) + (-2.14 2.32802e-03 0) + (-2.14 2.40219e-03 0) + (-2.14 2.47860e-03 0) + (-2.14 2.55732e-03 0) + (-2.14 2.63841e-03 0) + (-2.14 2.72196e-03 0) + (-2.14 2.80804e-03 0) + (-2.14 2.89674e-03 0) + (-2.14 2.98813e-03 0) + (-2.14 3.08230e-03 0) + (-2.14 3.17933e-03 0) + (-2.14 3.27933e-03 0) + (-2.14 3.38237e-03 0) + (-2.14 3.48856e-03 0) + (-2.14 3.59800e-03 0) + (-2.14 3.71079e-03 0) + (-2.14 3.82702e-03 0) + (-2.14 3.94682e-03 0) + (-2.14 4.07029e-03 0) + (-2.14 4.19754e-03 0) + (-2.14 4.32870e-03 0) + (-2.14 4.46389e-03 0) + (-2.14 4.60323e-03 0) + (-2.14 4.74685e-03 0) + (-2.14 4.89489e-03 0) + (-2.14 5.04748e-03 0) + (-2.14 5.20477e-03 0) + (-2.14 5.36690e-03 0) + (-2.14 5.53402e-03 0) + (-2.14 5.70630e-03 0) + (-2.14 5.88388e-03 0) + (-2.14 6.06693e-03 0) + (-2.14 6.25563e-03 0) + (-2.14 6.45015e-03 0) + (-2.14 6.65066e-03 0) + (-2.14 6.85737e-03 0) + (-2.14 7.07045e-03 0) + (-2.14 7.29012e-03 0) + (-2.14 7.51656e-03 0) + (-2.14 7.75000e-03 0) + (-2.14 7.99065e-03 0) + (-2.14 8.23873e-03 0) + (-2.14 8.49447e-03 0) + (-2.14 8.75812e-03 0) + (-2.14 9.02992e-03 0) + (-2.14 9.31011e-03 0) + (-2.14 9.59897e-03 0) + (-2.14 9.89676e-03 0) + (-2.14 1.02038e-02 0) + (-2.14 1.05202e-02 0) + (-2.14 1.08465e-02 0) + (-2.14 1.11829e-02 0) + (-2.14 1.15297e-02 0) + (-2.14 1.18871e-02 0) + (-2.14 1.22557e-02 0) + (-2.14 1.26357e-02 0) + (-2.14 1.30274e-02 0) + (-2.14 1.34312e-02 0) + (-2.14 1.38475e-02 0) + (-2.14 1.42767e-02 0) + (-2.14 1.47192e-02 0) + (-2.14 1.51754e-02 0) + (-2.14 1.56457e-02 0) + (-2.14 1.61306e-02 0) + (-2.14 1.66304e-02 0) + (-2.14 1.71458e-02 0) + (-2.14 1.76770e-02 0) + (-2.14 1.82248e-02 0) + (-2.14 1.87895e-02 0) + (-2.14 1.93716e-02 0) + (-2.14 1.99718e-02 0) + (-2.14 2.05906e-02 0) + (-2.14 2.12285e-02 0) + (-2.14 2.18862e-02 0) + (-2.14 2.25642e-02 0) + (-2.14 2.32632e-02 0) + (-2.14 2.39839e-02 0) + (-2.14 2.47269e-02 0) + (-2.14 2.54928e-02 0) + (-2.14 2.62825e-02 0) + (-2.14 2.70967e-02 0) + (-2.14 2.79360e-02 0) + (-2.14 2.88014e-02 0) + (-2.14 2.96935e-02 0) + (-2.14 3.06133e-02 0) + (-2.14 3.15615e-02 0) + (-2.14 3.25391e-02 0) + (-2.14 3.35470e-02 0) + (-2.14 3.45861e-02 0) + (-2.14 3.56574e-02 0) + (-2.14 3.67618e-02 0) + (-2.14 3.79004e-02 0) + (-2.14 3.90743e-02 0) + (-2.14 4.02846e-02 0) + (-2.14 4.15323e-02 0) + (-2.14 4.28187e-02 0) + (-2.14 4.41449e-02 0) + (-2.14 4.55121e-02 0) + (-2.14 4.69217e-02 0) + (-2.14 4.83750e-02 0) + (-2.14 4.98733e-02 0) + (-2.14 5.14179e-02 0) + (-2.14 5.30104e-02 0) + (-2.14 5.46522e-02 0) + (-2.14 5.63449e-02 0) + (-2.14 5.80899e-02 0) + (-2.14 5.98890e-02 0) + (-2.14 6.17439e-02 0) + (-2.14 6.36561e-02 0) + (-2.14 6.56276e-02 0) + (-2.14 6.76602e-02 0) + (-2.14 6.97557e-02 0) + (-2.14 7.19160e-02 0) + (-2.14 7.41433e-02 0) + (-2.14 7.64396e-02 0) + (-2.14 7.88070e-02 0) + (-2.14 8.12476e-02 0) + (-2.14 8.37639e-02 0) + (-2.14 8.63581e-02 0) + (-2.14 8.90327e-02 0) + (-2.14 9.17900e-02 0) + (-2.14 9.46328e-02 0) + (-2.14 9.75636e-02 0) + (-2.14 1.00585e-01 0) + (-2.14 1.03700e-01 0) + (-2.14 1.06912e-01 0) + (-2.14 1.10223e-01 0) + (-2.14 1.13637e-01 0) + (-2.14 1.17156e-01 0) + (-2.14 1.20784e-01 0) + (-2.14 1.24525e-01 0) + (-2.14 1.28381e-01 0) + (-2.14 1.32357e-01 0) + (-2.14 1.36457e-01 0) + (-2.14 1.40683e-01 0) + (-2.14 1.45040e-01 0) + (-2.14 1.49531e-01 0) + (-2.14 1.54162e-01 0) + (-2.14 1.58937e-01 0) + (-2.14 1.63859e-01 0) + (-2.14 1.68934e-01 0) + (-2.14 1.74166e-01 0) + (-2.14 1.79559e-01 0) + (-2.14 1.85120e-01 0) + (-2.14 1.90854e-01 0) + (-2.14 1.96764e-01 0) + (-2.14 2.02858e-01 0) + (-2.14 2.09140e-01 0) + (-2.14 2.15618e-01 0) + (-2.14 2.22295e-01 0) + (-2.14 2.29180e-01 0) + (-2.14 2.36277e-01 0) + (-2.14 2.43595e-01 0) + (-2.14 2.51139e-01 0) + (-2.14 2.58916e-01 0) + (-2.14 2.66935e-01 0) + (-2.14 2.75202e-01 0) + (-2.14 2.83725e-01 0) + (-2.14 2.92512e-01 0) + (-2.14 3.01571e-01 0) + (-2.14 3.10910e-01 0) + (-2.14 3.20539e-01 0) + (-2.14 3.30466e-01 0) + (-2.14 3.40701e-01 0) + (-2.14 3.51252e-01 0) + (-2.14 3.62130e-01 0) + (-2.14 3.73345e-01 0) + (-2.14 3.84908e-01 0) + (-2.14 3.96828e-01 0) + (-2.14 4.09118e-01 0) + (-2.14 4.21788e-01 0) + (-2.14 4.34851e-01 0) + (-2.14 4.48318e-01 0) + (-2.14 4.62202e-01 0) + (-2.14 4.76516e-01 0) + (-2.14 4.91274e-01 0) + (-2.14 5.06489e-01 0) + (-2.14 5.22174e-01 0) + (-2.14 5.38346e-01 0) + (-2.14 5.55019e-01 0) + (-2.14 5.72207e-01 0) + (-2.14 5.89928e-01 0) + (-2.14 6.08198e-01 0) + (-2.14 6.27034e-01 0) + (-2.14 6.46453e-01 0) + (-2.14 6.66473e-01 0) + (-2.14 6.87114e-01 0) + (-2.14 7.08394e-01 0) + (-2.14 7.30332e-01 0) + (-2.14 7.52951e-01 0) + (-2.14 7.76269e-01 0) + (-2.14 8.00310e-01 0) + (-2.14 8.25095e-01 0) + (-2.14 8.50648e-01 0) + (-2.14 8.76993e-01 0) + (-2.14 9.04153e-01 0) + (-2.14 0.90905 0) + + // zmax + (-2.14 0 0.4) + (-2.14 8.65000e-06 0.4) + (-2.14 2.59580e-05 0.4) + (-2.14 4.32902e-05 0.4) + (-2.14 6.06627e-05 0.4) + (-2.14 7.80916e-05 0.4) + (-2.14 9.55932e-05 0.4) + (-2.14 1.13184e-04 0.4) + (-2.14 1.30879e-04 0.4) + (-2.14 1.48697e-04 0.4) + (-2.14 1.66653e-04 0.4) + (-2.14 1.84764e-04 0.4) + (-2.14 2.03047e-04 0.4) + (-2.14 2.21518e-04 0.4) + (-2.14 2.40196e-04 0.4) + (-2.14 2.59097e-04 0.4) + (-2.14 2.78240e-04 0.4) + (-2.14 2.97641e-04 0.4) + (-2.14 3.17319e-04 0.4) + (-2.14 3.37292e-04 0.4) + (-2.14 3.57579e-04 0.4) + (-2.14 3.78199e-04 0.4) + (-2.14 3.99170e-04 0.4) + (-2.14 4.20513e-04 0.4) + (-2.14 4.42247e-04 0.4) + (-2.14 4.64393e-04 0.4) + (-2.14 4.86970e-04 0.4) + (-2.14 5.10001e-04 0.4) + (-2.14 5.33506e-04 0.4) + (-2.14 5.57507e-04 0.4) + (-2.14 5.82027e-04 0.4) + (-2.14 6.07089e-04 0.4) + (-2.14 6.32715e-04 0.4) + (-2.14 6.58930e-04 0.4) + (-2.14 6.85758e-04 0.4) + (-2.14 7.13223e-04 0.4) + (-2.14 7.41353e-04 0.4) + (-2.14 7.70172e-04 0.4) + (-2.14 7.99707e-04 0.4) + (-2.14 8.29987e-04 0.4) + (-2.14 8.61039e-04 0.4) + (-2.14 8.92891e-04 0.4) + (-2.14 9.25575e-04 0.4) + (-2.14 9.59119e-04 0.4) + (-2.14 9.93556e-04 0.4) + (-2.14 1.02892e-03 0.4) + (-2.14 1.06524e-03 0.4) + (-2.14 1.10254e-03 0.4) + (-2.14 1.14088e-03 0.4) + (-2.14 1.18028e-03 0.4) + (-2.14 1.22077e-03 0.4) + (-2.14 1.26240e-03 0.4) + (-2.14 1.30520e-03 0.4) + (-2.14 1.34922e-03 0.4) + (-2.14 1.39450e-03 0.4) + (-2.14 1.44107e-03 0.4) + (-2.14 1.48898e-03 0.4) + (-2.14 1.53828e-03 0.4) + (-2.14 1.58901e-03 0.4) + (-2.14 1.64121e-03 0.4) + (-2.14 1.69495e-03 0.4) + (-2.14 1.75026e-03 0.4) + (-2.14 1.80719e-03 0.4) + (-2.14 1.86581e-03 0.4) + (-2.14 1.92617e-03 0.4) + (-2.14 1.98832e-03 0.4) + (-2.14 2.05231e-03 0.4) + (-2.14 2.11822e-03 0.4) + (-2.14 2.18610e-03 0.4) + (-2.14 2.25601e-03 0.4) + (-2.14 2.32802e-03 0.4) + (-2.14 2.40219e-03 0.4) + (-2.14 2.47860e-03 0.4) + (-2.14 2.55732e-03 0.4) + (-2.14 2.63841e-03 0.4) + (-2.14 2.72196e-03 0.4) + (-2.14 2.80804e-03 0.4) + (-2.14 2.89674e-03 0.4) + (-2.14 2.98813e-03 0.4) + (-2.14 3.08230e-03 0.4) + (-2.14 3.17933e-03 0.4) + (-2.14 3.27933e-03 0.4) + (-2.14 3.38237e-03 0.4) + (-2.14 3.48856e-03 0.4) + (-2.14 3.59800e-03 0.4) + (-2.14 3.71079e-03 0.4) + (-2.14 3.82702e-03 0.4) + (-2.14 3.94682e-03 0.4) + (-2.14 4.07029e-03 0.4) + (-2.14 4.19754e-03 0.4) + (-2.14 4.32870e-03 0.4) + (-2.14 4.46389e-03 0.4) + (-2.14 4.60323e-03 0.4) + (-2.14 4.74685e-03 0.4) + (-2.14 4.89489e-03 0.4) + (-2.14 5.04748e-03 0.4) + (-2.14 5.20477e-03 0.4) + (-2.14 5.36690e-03 0.4) + (-2.14 5.53402e-03 0.4) + (-2.14 5.70630e-03 0.4) + (-2.14 5.88388e-03 0.4) + (-2.14 6.06693e-03 0.4) + (-2.14 6.25563e-03 0.4) + (-2.14 6.45015e-03 0.4) + (-2.14 6.65066e-03 0.4) + (-2.14 6.85737e-03 0.4) + (-2.14 7.07045e-03 0.4) + (-2.14 7.29012e-03 0.4) + (-2.14 7.51656e-03 0.4) + (-2.14 7.75000e-03 0.4) + (-2.14 7.99065e-03 0.4) + (-2.14 8.23873e-03 0.4) + (-2.14 8.49447e-03 0.4) + (-2.14 8.75812e-03 0.4) + (-2.14 9.02992e-03 0.4) + (-2.14 9.31011e-03 0.4) + (-2.14 9.59897e-03 0.4) + (-2.14 9.89676e-03 0.4) + (-2.14 1.02038e-02 0.4) + (-2.14 1.05202e-02 0.4) + (-2.14 1.08465e-02 0.4) + (-2.14 1.11829e-02 0.4) + (-2.14 1.15297e-02 0.4) + (-2.14 1.18871e-02 0.4) + (-2.14 1.22557e-02 0.4) + (-2.14 1.26357e-02 0.4) + (-2.14 1.30274e-02 0.4) + (-2.14 1.34312e-02 0.4) + (-2.14 1.38475e-02 0.4) + (-2.14 1.42767e-02 0.4) + (-2.14 1.47192e-02 0.4) + (-2.14 1.51754e-02 0.4) + (-2.14 1.56457e-02 0.4) + (-2.14 1.61306e-02 0.4) + (-2.14 1.66304e-02 0.4) + (-2.14 1.71458e-02 0.4) + (-2.14 1.76770e-02 0.4) + (-2.14 1.82248e-02 0.4) + (-2.14 1.87895e-02 0.4) + (-2.14 1.93716e-02 0.4) + (-2.14 1.99718e-02 0.4) + (-2.14 2.05906e-02 0.4) + (-2.14 2.12285e-02 0.4) + (-2.14 2.18862e-02 0.4) + (-2.14 2.25642e-02 0.4) + (-2.14 2.32632e-02 0.4) + (-2.14 2.39839e-02 0.4) + (-2.14 2.47269e-02 0.4) + (-2.14 2.54928e-02 0.4) + (-2.14 2.62825e-02 0.4) + (-2.14 2.70967e-02 0.4) + (-2.14 2.79360e-02 0.4) + (-2.14 2.88014e-02 0.4) + (-2.14 2.96935e-02 0.4) + (-2.14 3.06133e-02 0.4) + (-2.14 3.15615e-02 0.4) + (-2.14 3.25391e-02 0.4) + (-2.14 3.35470e-02 0.4) + (-2.14 3.45861e-02 0.4) + (-2.14 3.56574e-02 0.4) + (-2.14 3.67618e-02 0.4) + (-2.14 3.79004e-02 0.4) + (-2.14 3.90743e-02 0.4) + (-2.14 4.02846e-02 0.4) + (-2.14 4.15323e-02 0.4) + (-2.14 4.28187e-02 0.4) + (-2.14 4.41449e-02 0.4) + (-2.14 4.55121e-02 0.4) + (-2.14 4.69217e-02 0.4) + (-2.14 4.83750e-02 0.4) + (-2.14 4.98733e-02 0.4) + (-2.14 5.14179e-02 0.4) + (-2.14 5.30104e-02 0.4) + (-2.14 5.46522e-02 0.4) + (-2.14 5.63449e-02 0.4) + (-2.14 5.80899e-02 0.4) + (-2.14 5.98890e-02 0.4) + (-2.14 6.17439e-02 0.4) + (-2.14 6.36561e-02 0.4) + (-2.14 6.56276e-02 0.4) + (-2.14 6.76602e-02 0.4) + (-2.14 6.97557e-02 0.4) + (-2.14 7.19160e-02 0.4) + (-2.14 7.41433e-02 0.4) + (-2.14 7.64396e-02 0.4) + (-2.14 7.88070e-02 0.4) + (-2.14 8.12476e-02 0.4) + (-2.14 8.37639e-02 0.4) + (-2.14 8.63581e-02 0.4) + (-2.14 8.90327e-02 0.4) + (-2.14 9.17900e-02 0.4) + (-2.14 9.46328e-02 0.4) + (-2.14 9.75636e-02 0.4) + (-2.14 1.00585e-01 0.4) + (-2.14 1.03700e-01 0.4) + (-2.14 1.06912e-01 0.4) + (-2.14 1.10223e-01 0.4) + (-2.14 1.13637e-01 0.4) + (-2.14 1.17156e-01 0.4) + (-2.14 1.20784e-01 0.4) + (-2.14 1.24525e-01 0.4) + (-2.14 1.28381e-01 0.4) + (-2.14 1.32357e-01 0.4) + (-2.14 1.36457e-01 0.4) + (-2.14 1.40683e-01 0.4) + (-2.14 1.45040e-01 0.4) + (-2.14 1.49531e-01 0.4) + (-2.14 1.54162e-01 0.4) + (-2.14 1.58937e-01 0.4) + (-2.14 1.63859e-01 0.4) + (-2.14 1.68934e-01 0.4) + (-2.14 1.74166e-01 0.4) + (-2.14 1.79559e-01 0.4) + (-2.14 1.85120e-01 0.4) + (-2.14 1.90854e-01 0.4) + (-2.14 1.96764e-01 0.4) + (-2.14 2.02858e-01 0.4) + (-2.14 2.09140e-01 0.4) + (-2.14 2.15618e-01 0.4) + (-2.14 2.22295e-01 0.4) + (-2.14 2.29180e-01 0.4) + (-2.14 2.36277e-01 0.4) + (-2.14 2.43595e-01 0.4) + (-2.14 2.51139e-01 0.4) + (-2.14 2.58916e-01 0.4) + (-2.14 2.66935e-01 0.4) + (-2.14 2.75202e-01 0.4) + (-2.14 2.83725e-01 0.4) + (-2.14 2.92512e-01 0.4) + (-2.14 3.01571e-01 0.4) + (-2.14 3.10910e-01 0.4) + (-2.14 3.20539e-01 0.4) + (-2.14 3.30466e-01 0.4) + (-2.14 3.40701e-01 0.4) + (-2.14 3.51252e-01 0.4) + (-2.14 3.62130e-01 0.4) + (-2.14 3.73345e-01 0.4) + (-2.14 3.84908e-01 0.4) + (-2.14 3.96828e-01 0.4) + (-2.14 4.09118e-01 0.4) + (-2.14 4.21788e-01 0.4) + (-2.14 4.34851e-01 0.4) + (-2.14 4.48318e-01 0.4) + (-2.14 4.62202e-01 0.4) + (-2.14 4.76516e-01 0.4) + (-2.14 4.91274e-01 0.4) + (-2.14 5.06489e-01 0.4) + (-2.14 5.22174e-01 0.4) + (-2.14 5.38346e-01 0.4) + (-2.14 5.55019e-01 0.4) + (-2.14 5.72207e-01 0.4) + (-2.14 5.89928e-01 0.4) + (-2.14 6.08198e-01 0.4) + (-2.14 6.27034e-01 0.4) + (-2.14 6.46453e-01 0.4) + (-2.14 6.66473e-01 0.4) + (-2.14 6.87114e-01 0.4) + (-2.14 7.08394e-01 0.4) + (-2.14 7.30332e-01 0.4) + (-2.14 7.52951e-01 0.4) + (-2.14 7.76269e-01 0.4) + (-2.14 8.00310e-01 0.4) + (-2.14 8.25095e-01 0.4) + (-2.14 8.50648e-01 0.4) + (-2.14 8.76993e-01 0.4) + (-2.14 9.04153e-01 0.4) + (-2.14 0.90905 0.4) +) + +// ************************************************************************* // \ No newline at end of file diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/transportProperties b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/transportProperties new file mode 100644 index 0000000000..1c244ba630 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu 1.06837606838e-06; + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/blockMeshDict b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/blockMeshDict new file mode 100644 index 0000000000..a1e6d0e992 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/blockMeshDict @@ -0,0 +1,552 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +scale 1; + +// * * * * coordinate positions +// x-coordinate of inlet patch +xInlet -2.14; + +// x-coordinates for end of x-Zone 1 (i.e. upstream of hump) +x1Top -0.5712197653; +x1Bottom 0; + +// x-coordinates for end of x-Zone 2 (i.e. downstream of hump) +x2Top 1.657187218; +x2Bottom 1; + +// x-coordinate of outlet patch +xOutlet 4; + +// min/max y-coordinate of tunnel +yMin 0; +yMax 0.90905; + +// min/max z-coordinate of tunnel +zMin 0; +zMax 0.4; + +// * * * * grid parameter +// x-spacing at inlet +dxInlet 0.1; + +// cell-to-cell growth ratio from inlet to hump (x-Zone 1) +rxInlet 1.2; + +// x-spacing in focus region (i.e. hump region) +dxFocus 0.005; + +// x-spacing at outlet +dxOutlet 0.05; + +// cell-to-cell growth ratio from focus region to outlet (x-Zone 3) +rxOutlet 1.2; + +// y-spacing of 1st near-wall cell at bottom wall +dyWall 1.5e-05; + +// cell-to-cell growth ratio near the wall (y-Zone 1) +ryBL 1.15; + +// vertical length of y-Zone 1 +LyBL 0.05; + +// y-spacing in focus region (y-Zone 2) +dyFocus 0.005; + +// vertical length of y-Zone 2 +LyFocus 0.11; + +// y-spacing in channel core (y-Zone 3) +dyMid 0.025; + +// cell-to-cell growth from focus region to channel core (y-Zone 3) +ryMid 1.2; + +// vertical length of y-Zone 3 +LyMid 0.34; + +// cell-to-cell growth from channel core to top wall (y-Zone 4) +ryTop 1.2; + +// y-spacing of 1st near-wall cell at top wall +dyTop 0.005; + +// uniform z-spacing (spanwise direction) +dz 0.01; + +// * * * * meshing / x-direction + +// x-Zone 1 with grading +NxCorrZ1 #codeStream +{ + code + #{ + scalar tol = 1.0e-10; + scalar residual = 1.0e+10; + scalar expRcorr = $rxInlet; + scalar totExpR = $dxInlet/$dxFocus; + scalar Nx = Foam::log(totExpR)/Foam::log(expRcorr); + scalar deltaStart = $dxFocus; + scalar lEdge = $x1Bottom - $xInlet; + int iter = 0; + int iterMax = 100; + + while ((residual > tol) && (iter < iterMax)) + { + scalar coeff = pow(totExpR, 1./(Nx-1.)); + scalar coeffN = pow(totExpR, Nx/(Nx-1.)); + + scalar f = (deltaStart*((1.-coeffN) / ((1.-coeff)))) - lEdge; + scalar fPrime = deltaStart * Foam::log(totExpR) * (1./sqr(Nx-1.)) * ((1.-coeff)*coeffN - (1.-coeffN)*coeff)/ sqr(1.-coeff); + Nx = Nx - (f/fPrime); + + residual = mag((deltaStart*((1.-coeffN) / ((1.-coeff)))) - lEdge); + iter++; + } + os << Nx << endl; + #}; +}; +totExpZ1x #calc "$dxFocus/$dxInlet"; +NxZ1 #calc "static_cast( $NxCorrZ1 )"; +totExpZ1xTop #calc "($x2Top - $x1Top)/($NxZ1*$dxInlet)"; + +// x-Zone 2 with uniform spacing +NxFocus #calc "static_cast( ($x2Bottom-$x1Bottom)/$dxFocus )"; + +// x-Zone 3 with grading +NxCorrZ3 #codeStream +{ + code + #{ + scalar tol = 1.0e-10; + scalar residual = 1.0e+10; + scalar expRcorr = $rxOutlet; + scalar totExpR = $dxOutlet/(1.05377349658562*$dxFocus); + scalar Nx = Foam::log(totExpR)/Foam::log(expRcorr); + scalar deltaStart = $dxFocus; + scalar lEdge = $xOutlet - $x2Bottom; + int iter = 0; + int iterMax = 100; + + while ((residual > tol) && (iter < iterMax)) + { + scalar coeff = pow(totExpR, 1./(Nx-1.)); + scalar coeffN = pow(totExpR, Nx/(Nx-1.)); + + scalar f = (deltaStart*((1.-coeffN) / ((1.-coeff)))) - lEdge; + scalar fPrime = deltaStart * Foam::log(totExpR) * (1./sqr(Nx-1.)) * ((1.-coeff)*coeffN - (1.-coeffN)*coeff)/ sqr(1.-coeff); + Nx = Nx - (f/fPrime); + + residual = mag((deltaStart*((1.-coeffN) / ((1.-coeff)))) - lEdge); + iter++; + } + os << Nx << endl; + #}; +}; +totExpZ3x #calc "$dxOutlet/$dxFocus"; +NxZ3 #calc "static_cast( $NxCorrZ3 )"; + +rxOutletcorr #codeStream +{ + code + #{ + scalar tol = 1.0e-10; + scalar residual = 1.0e+10; + scalar expRcorr = $rxOutlet; + scalar deltaStart = 1.00141417674807*($x2Top - $x1Top)/$NxFocus; + scalar lEdge = $xOutlet - $x2Top; + int Nx = $NxZ3; + int iter = 0; + int iterMax = 100; + + while ((residual > tol) && (iter < iterMax)) + { + scalar f = (deltaStart*((pow(expRcorr, Nx))-1)/(expRcorr-1)) - lEdge; + scalar fPrime = deltaStart*((expRcorr-1)*Nx*(pow(expRcorr, (Nx-1)))-((pow(expRcorr, Nx))-1))/(sqr(expRcorr-1)); + expRcorr = expRcorr - (f/fPrime); + + residual = mag((deltaStart*(pow(expRcorr, Nx)-1)/(expRcorr-1)) - lEdge); + iter++; + } + os << expRcorr << endl; + #}; +}; +totExpZ3xTop #calc "pow($rxOutletcorr, $NxZ3-1.0)"; + +// total number of cells in the x-direction +Nx #calc "static_cast( $NxZ1 + $NxFocus + $NxZ3 )"; + +// * * * * meshing / y-direction + +// y-Zone 1 with grading +NyCorrZ1 #codeStream +{ + code + #{ + scalar tol = 1.0e-10; + scalar residual = 1.0e+10; + scalar expRcorr = $ryBL; + scalar totExpR = $dyFocus/$dyWall; + scalar Nx = Foam::log(totExpR)/Foam::log(expRcorr); + scalar deltaStart = $dyWall; + scalar lEdge = $LyBL; + int iter = 0; + int iterMax = 100; + + while ((residual > tol) && (iter < iterMax)) + { + scalar coeff = pow(totExpR, 1./(Nx-1.)); + scalar coeffN = pow(totExpR, Nx/(Nx-1.)); + + scalar f = (deltaStart*((1.-coeffN) / ((1.-coeff)))) - lEdge; + scalar fPrime = deltaStart * Foam::log(totExpR) * (1./sqr(Nx-1.)) * ((1.-coeff)*coeffN - (1.-coeffN)*coeff)/ sqr(1.-coeff); + Nx = Nx - (f/fPrime); + + residual = mag((deltaStart*((1.-coeffN) / ((1.-coeff)))) - lEdge); + iter++; + } + os << Nx << endl; + #}; +}; +totExpZ1y #calc "$dyFocus/$dyWall"; +NyZ1 #calc "static_cast( $NyCorrZ1 )"; + +// y-Zone 2 with uniform spacing +NyZ2 #calc "static_cast( $LyFocus/$dyFocus )"; + +// y-Zone 3 with grading +NyCorrZ3 #codeStream +{ + code + #{ + scalar tol = 1.0e-10; + scalar residual = 1.0e+10; + scalar expRcorr = $ryMid; + scalar totExpR = $dyMid/$dyFocus; + scalar Nx = Foam::log(totExpR)/Foam::log(expRcorr); + scalar deltaStart = $dyFocus; + scalar lEdge = $LyMid; + int iter = 0; + int iterMax = 100; + + while ((residual > tol) && (iter < iterMax)) + { + scalar coeff = pow(totExpR, 1./(Nx-1.)); + scalar coeffN = pow(totExpR, Nx/(Nx-1.)); + + scalar f = (deltaStart*((1.-coeffN) / ((1.-coeff)))) - lEdge; + scalar fPrime = deltaStart * Foam::log(totExpR) * (1./sqr(Nx-1.)) * ((1.-coeff)*coeffN - (1.-coeffN)*coeff)/ sqr(1.-coeff); + Nx = Nx - (f/fPrime); + + residual = mag((deltaStart*((1.-coeffN) / ((1.-coeff)))) - lEdge); + iter++; + } + os << Nx << endl; + #}; +}; +totExpZ3y #calc "$dyMid/$dyFocus"; +NyZ3 #calc "static_cast( $NyCorrZ3 )"; + +// y-Zone 4 with grading +NyCorrZ4 #codeStream +{ + code + #{ + scalar tol = 1.0e-10; + scalar residual = 1.0e+10; + scalar expRcorr = $ryTop; + scalar totExpR = $dyMid/$dyTop; + scalar Nx = Foam::log(totExpR)/Foam::log(expRcorr); + scalar deltaStart = $dyTop; + scalar lEdge = $yMax - $yMin - $LyMid - $LyFocus - $LyBL; + int iter = 0; + int iterMax = 100; + + while ((residual > tol) && (iter < iterMax)) + { + scalar coeff = pow(totExpR, 1./(Nx-1.)); + scalar coeffN = pow(totExpR, Nx/(Nx-1.)); + + scalar f = (deltaStart*((1.-coeffN) / ((1.-coeff)))) - lEdge; + scalar fPrime = deltaStart * Foam::log(totExpR) * (1./sqr(Nx-1.)) * ((1.-coeff)*coeffN - (1.-coeffN)*coeff)/ sqr(1.-coeff); + Nx = Nx - (f/fPrime); + + residual = mag((deltaStart*((1.-coeffN) / ((1.-coeff)))) - lEdge); + iter++; + } + os << Nx << endl; + #}; +}; +totExpZ4y #calc "$dyTop/$dyMid"; +NyZ4 #calc "static_cast( $NyCorrZ4 )"; + +// total number of cells in the y-direction +Ny #calc "static_cast( $NyZ1 + $NyZ2 + $NyZ3 + $NyZ4 )"; + +// * * * * meshing / z-direction + +// total number of cells in the z-direction +Nz #calc "static_cast( ($zMax-$zMin)/$dz )"; + +// * * * * report additional grid statistics +#codeStream +{ + code + #{ + Info << endl; + Info << "Computed grid parameters:" << endl; + Info << " > x-direction: " << endl; + Info << " - Zone 1 (x): " << endl; + Info << " - first spacing: dxInlet = " << $dxInlet << " x c" << endl; + Info << " - last spacing: dxFocus = " << $dxFocus << " x c" << endl; + Info << " - number of cells: NxZ1 = " << $NxZ1 << endl; + Info << " - cell-to-cell ratio (prescribed): rxInlet = " << $rxInlet << endl; + Info << " - first-to-last ratio (bottom): totExpZ1x = " << $totExpZ1x << endl; + Info << " - first-to-last ratio (top): totExpZ1xTop = " << $totExpZ1xTop << endl; + Info << " - Zone 2 (x): " << endl; + Info << " - first / last spacing: dxFocus = " << $dxFocus << " x c" << endl; + Info << " - number of cells: NxFocus = " << $NxFocus << endl; + Info << " - cell-to-cell ratio: rxFocus = 1" << endl; + Info << " - Zone 3 (x): " << endl; + Info << " - first spacing: dxFocus = " << $dxFocus << " x c" << endl; + Info << " - last spacing: dxOutlet = " << $dxOutlet << " x c" << endl; + Info << " - number of cells: NxZ3 = " << $NxZ3 << endl; + Info << " - cell-to-cell ratio (prescribed): rxOutlet = " << $rxOutlet << endl; + Info << " - cell-to-cell ratio (corrected,top): rxOutletcorr = " << $rxOutletcorr << endl; + Info << " - first-to-last ratio (bottom): totExpZ3x = " << $totExpZ3x << endl; + Info << " - first-to-last ratio (top): totExpZ3xTop = " << $totExpZ3xTop << endl; + Info << " - Total number of cells (x): Nx = " << $Nx << endl; + Info << endl; + Info << " > y-directions: " << endl; + Info << " - Zone 1 (y): " << endl; + Info << " - length of edge: LyBL = " << $LyBL << " x c" << endl; + Info << " - first spacing: dyWall = " << $dyWall << " x c" << endl; + Info << " - last spacing: dyFocus = " << $dyFocus << " x c" << endl; + Info << " - number of cells: NyZ1 = " << $NyZ1 << endl; + Info << " - cell-to-cell ratio (prescribed): ryBL = " << $ryBL << endl; + Info << " - first-to-last ratio: totExpZ1y = " << $totExpZ1y << endl; + Info << " - Zone 2 (y): " << endl; + Info << " - length of edge: LyFocus = " << $LyFocus << " x c" << endl; + Info << " - first / last spacing: dyFocus = " << $dyFocus << " x c" << endl; + Info << " - number of cells: NyZ2 = " << $NyZ2 << endl; + Info << " - cell-to-cell ratio: ryFocus = 1" << endl; + Info << " - Zone 3 (y): " << endl; + Info << " - length of edge: LyMid = " << $LyMid << " x c" << endl; + Info << " - first spacing: dyFocus = " << $dyFocus << " x c" << endl; + Info << " - last spacing: dyMid = " << $dyMid << " x c" << endl; + Info << " - number of cells: NyZ3 = " << $NyZ3 << endl; + Info << " - cell-to-cell ratio (prescribed): ryMid = " << $ryMid << endl; + Info << " - first-to-last ratio: totExpZ3y = " << $totExpZ3y << endl; + Info << " - Zone 4 (y): " << endl; + Info << " - first spacing: dyMid = " << $dyMid << " x c" << endl; + Info << " - last spacing: dyTop = " << $dyTop << " x c" << endl; + Info << " - number of cells: NyZ4 = " << $NyZ4 << endl; + Info << " - cell-to-cell ratio (prescribed): ryTop = " << $ryTop << endl; + Info << " - first-to-last ratio: totExpZ4y = " << $totExpZ4y << endl; + Info << " - Total number of cells (y): Ny = " << $Ny << endl << endl; + #}; +}; + +vertices +( + ( $xInlet $yMin $zMax ) // 0 + ( $xInlet $yMin $zMin ) // 1 + ( $xInlet $yMax $zMax ) // 2 + ( $xInlet $yMax $zMin ) // 3 + ( $x1Bottom $yMin $zMax ) // 4 + ( $x1Bottom $yMin $zMin ) // 5 + ( $x1Top $yMax $zMax ) // 6 + ( $x1Top $yMax $zMin ) // 7 + ( $x2Bottom $yMin $zMax ) // 8 + ( $x2Bottom $yMin $zMin ) // 9 + ( $x2Top $yMax $zMax ) // 10 + ( $x2Top $yMax $zMin ) // 11 + ( $xOutlet $yMin $zMax ) // 12 + ( $xOutlet $yMin $zMin ) // 13 + ( $xOutlet $yMax $zMax ) // 14 + ( $xOutlet $yMax $zMin ) // 15 +); + +zoneX1Bottom +( + (1 1 $totExpZ1x) +); + +zoneX1Top +( + (1 1 $totExpZ1xTop) +); + +zoneX3Bottom +( + (1 1 $totExpZ3x) +); + +zoneX3Top +( + (1 1 $totExpZ3xTop) +); + +zoneY +( + ( $LyBL $NyZ1 $totExpZ1y ) + ( $LyFocus $NyZ2 1 ) + ( $LyMid $NyZ3 $totExpZ3y ) + ( #eval{ $yMax - $yMin - $LyMid - $LyFocus - $LyBL } $NyZ4 $totExpZ4y ) +); + +blocks +( + hex ( 1 5 7 3 0 4 6 2 ) ($NxZ1 $Ny $Nz) edgeGrading + ( + $zoneX1Bottom + $zoneX1Top + $zoneX1Top + $zoneX1Bottom + $zoneY + $zoneY + $zoneY + $zoneY + 1 + 1 + 1 + 1 + ) + + hex ( 5 9 11 7 4 8 10 6 ) ($NxFocus $Ny $Nz) simpleGrading + ( + ( + (1 1 1) + ) + $zoneY + ( + (1 1 1) + ) + ) + + hex ( 9 13 15 11 8 12 14 10 ) ($NxZ3 $Ny $Nz) edgeGrading + ( + $zoneX3Bottom + $zoneX3Top + $zoneX3Top + $zoneX3Bottom + $zoneY + $zoneY + $zoneY + $zoneY + 1 + 1 + 1 + 1 + ) +); + +edges +( + // definition of poly lines for hump contour + polyLine 4 8 + ( + #include "geometry/polyLine_4to8" + ) + polyLine 5 9 + ( + #include "geometry/polyLine_5to9" + ) + + // definition of poly lines for contour of top wall + polyLine 6 10 + ( + #include "geometry/polyLine_6to10" + ) + polyLine 7 11 + ( + #include "geometry/polyLine_7to11" + ) +); + +boundary +( + inlet + { + type patch; + faces + ( + (0 2 3 1) + ); + } + + outlet + { + type patch; + faces + ( + (12 13 15 14) + ); + } + + topWall + { + type wall; + faces + ( + ( 2 6 7 3 ) + ( 6 10 11 7 ) + ( 10 14 15 11 ) + ); + } + + bottomWall + { + type wall; + faces + ( + ( 0 1 5 4 ) + ( 4 5 9 8 ) + ( 8 9 13 12 ) + ); + } + + zPeriodic_half0 + { + type cyclic; + neighbourPatch zPeriodic_half1; + faces + ( + ( 1 3 7 5 ) + ( 5 7 11 9 ) + ( 9 11 15 13 ) + ); + } + + zPeriodic_half1 + { + type cyclic; + neighbourPatch zPeriodic_half0; + faces + ( + ( 0 4 6 2 ) + ( 4 8 10 6 ) + ( 8 12 14 10 ) + ); + } +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/columnAverage b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/columnAverage new file mode 100644 index 0000000000..8f05edc218 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/columnAverage @@ -0,0 +1,33 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +columnAverage +{ + // Mandatory entries + type columnAverage; + libs (fieldFunctionObjects); + + // Note: include processorCyclics! + patches ( zPeriodic_half0 "proc.*throughzPeriodic_half0" ); + fields + ( + UMean + UPrime2Mean + ); + + // Inherited entries + region region0; + enabled true; + log true; + timeStart $tStartAvg; + executeControl writeTime; + writeControl none; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/controlDict b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/controlDict new file mode 100644 index 0000000000..a324269d81 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/controlDict @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application pimpleFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 0.1; // 30.0; + +deltaT 0.001; + +writeControl timeStep; + +writeInterval 50; // 500; + +purgeWrite 3; + +writeFormat binary; + +writePrecision 6; + +writeCompression off; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable true; + +// user-defined variables +tStartAvg 0.05; // 10; + +functions +{ + #include "fieldAverage" + #include "volFields" + #include "wallFields" + #include "columnAverage" + #include "sampleDict" +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/decomposeParDict b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/decomposeParDict new file mode 100644 index 0000000000..fc9f8e8131 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/decomposeParDict @@ -0,0 +1,26 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 16; + +method hierarchical; + +coeffs +{ + n (16 1 1); +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/fieldAverage b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/fieldAverage new file mode 100644 index 0000000000..c21bfb5e90 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/fieldAverage @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +fieldAverage +{ + type fieldAverage; + libs (fieldFunctionObjects); + + enabled true; + writeControl writeTime; + + timeStart $tStartAvg; + + fields + ( + U + { + mean on; + prime2Mean on; + base time; + } + p + { + mean on; + prime2Mean off; + base time; + } + nut + { + mean on; + prime2Mean off; + base time; + } + nuTilda + { + mean on; + prime2Mean off; + base time; + } + k + { + mean on; + prime2Mean off; + base time; + } + omega + { + mean on; + prime2Mean off; + base time; + } + wallShearStress + { + mean on; + prime2Mean off; + base time; + } + ); +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/fvSchemes b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/fvSchemes new file mode 100644 index 0000000000..5e869c9057 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/fvSchemes @@ -0,0 +1,73 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default backward; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default Gauss linear; + + div(phi,U) Gauss DEShybrid + linear // scheme 1 + linearUpwind grad(U) // scheme 2 + delta // LES delta name, e.g. 'delta', 'hmax' + 0.65 // CDES coefficient + 1.0 // Reference velocity scale + 1.0 // Reference length scale + 0.0 // Minimum sigma limit (0-1) + 1.0 // Maximum sigma limit (0-1) + 1.0 // Limiter of B function + 10.0; // nut limiter (if > 1, GAM extension is active) + + turbulence Gauss limitedLinear 1; + div(phi,k) $turbulence; + div(phi,omega) $turbulence; + div(phi,epsilon) $turbulence; + div(phi,nuTilda) $turbulence; + + div((nuEff*dev2(T(grad(U))))) Gauss linear; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +wallDist +{ + method exactDistance; + nRequired yes; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/fvSolution b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/fvSolution new file mode 100644 index 0000000000..54a97d62e0 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/fvSolution @@ -0,0 +1,73 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + p + { + solver GAMG; + smoother DICGaussSeidel; + tolerance 1e-06; + relTol 0.05; + minIter 1; + } + + pFinal + { + $p; + relTol 0.01; + } + + "(U|k|omega|nuTilda)" + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + minIter 1; + } + + "(U|k|omega|nuTilda)Final" + { + $U; + relTol 0; + } +} + +PIMPLE +{ + nOuterCorrectors 5; + nCorrectors 1; + nNonOrthogonalCorrectors 0; + finalOnLastPimpleIterOnly true; +} + +relaxationFactors +{ + fields + { + "(p|pFinal)" 0.4; + } + equations + { + "(U|UFinal)" 0.8; + "(k|kFinal)" 0.8; + "(omega|omegaFinal)" 0.8; + "(nuTilda|nuTildaFinal)" 0.8; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/geometry/polyLine_4to8 b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/geometry/polyLine_4to8 new file mode 100644 index 0000000000..27add30dda --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/geometry/polyLine_4to8 @@ -0,0 +1,876 @@ +(0.000000000e+00 0.000000000e+00 $zMax) +(2.642555636e-04 2.118387155e-05 $zMax) +(1.196187107e-03 1.013596154e-04 $zMax) +(2.391164127e-03 2.169787857e-04 $zMax) +(3.584294872e-03 3.468466981e-04 $zMax) +(4.776214925e-03 4.909525339e-04 $zMax) +(5.966346759e-03 6.492854802e-04 $zMax) +(7.154056604e-03 8.218347242e-04 $zMax) +(8.339978834e-03 1.008585855e-03 $zMax) +(9.530686986e-03 1.210739175e-03 $zMax) +(1.072508708e-02 1.428518166e-03 $zMax) +(1.192427371e-02 1.662160734e-03 $zMax) +(1.311982704e-02 1.910459349e-03 $zMax) +(1.431238147e-02 2.173406815e-03 $zMax) +(1.550193638e-02 2.450992308e-03 $zMax) +(1.668780056e-02 2.743194201e-03 $zMax) +(1.786951258e-02 3.050012494e-03 $zMax) +(1.905843372e-02 3.374449776e-03 $zMax) +(2.025398706e-02 3.716834053e-03 $zMax) +(2.145559567e-02 4.077255437e-03 $zMax) +(2.265299468e-02 4.452304040e-03 $zMax) +(2.384612542e-02 4.841594176e-03 $zMax) +(2.503446964e-02 5.244732940e-03 $zMax) +(2.621791183e-02 5.661338268e-03 $zMax) +(2.739720126e-02 6.091013649e-03 $zMax) +(2.858427673e-02 6.538326034e-03 $zMax) +(2.977988752e-02 7.003300653e-03 $zMax) +(3.098270743e-02 7.485969956e-03 $zMax) +(3.218068275e-02 7.981010033e-03 $zMax) +(3.337323718e-02 8.488049619e-03 $zMax) +(3.456158140e-02 9.006706628e-03 $zMax) +(3.574444666e-02 9.536609797e-03 $zMax) +(3.692246734e-02 1.007737704e-02 $zMax) +(3.810838957e-02 1.063481889e-02 $zMax) +(3.930209724e-02 1.120887045e-02 $zMax) +(4.050434023e-02 1.179944160e-02 $zMax) +(4.170173924e-02 1.239987117e-02 $zMax) +(4.289365929e-02 1.300967974e-02 $zMax) +(4.408136913e-02 1.362840955e-02 $zMax) +(4.526486877e-02 1.425559200e-02 $zMax) +(4.644410015e-02 1.489072966e-02 $zMax) +(4.763002238e-02 1.553935551e-02 $zMax) +(4.882257680e-02 1.620121362e-02 $zMax) +(5.002233974e-02 1.687615980e-02 $zMax) +(5.121795114e-02 1.755788973e-02 $zMax) +(5.240987059e-02 1.824609701e-02 $zMax) +(5.359821480e-02 1.894044282e-02 $zMax) +(5.478286829e-02 1.964062438e-02 $zMax) +(5.596457970e-02 2.034632088e-02 $zMax) +(5.715044388e-02 2.106187580e-02 $zMax) +(5.834178761e-02 2.178704401e-02 $zMax) +(5.953734035e-02 2.252149752e-02 $zMax) +(6.073052915e-02 2.326012148e-02 $zMax) +(6.192123791e-02 2.400246172e-02 $zMax) +(6.311015905e-02 2.474807488e-02 $zMax) +(6.429665760e-02 2.549651399e-02 $zMax) +(6.548257922e-02 2.624732490e-02 $zMax) +(6.666965469e-02 2.700199266e-02 $zMax) +(6.785921021e-02 2.776013519e-02 $zMax) +(6.905055334e-02 2.852149658e-02 $zMax) +(7.024189647e-02 2.928394293e-02 $zMax) +(7.143202830e-02 3.004724716e-02 $zMax) +(7.262210269e-02 3.081119662e-02 $zMax) +(7.381165820e-02 3.157558940e-02 $zMax) +(7.500121372e-02 3.234022734e-02 $zMax) +(7.619007680e-02 3.310437502e-02 $zMax) +(7.737847847e-02 3.386785948e-02 $zMax) +(7.856618832e-02 3.463032023e-02 $zMax) +(7.975447508e-02 3.539180777e-02 $zMax) +(8.094403000e-02 3.615196887e-02 $zMax) +(8.213416243e-02 3.691037816e-02 $zMax) +(8.332602443e-02 3.766672559e-02 $zMax) +(8.451927068e-02 3.842053546e-02 $zMax) +(8.570997944e-02 3.916872226e-02 $zMax) +(8.689826621e-02 3.991091832e-02 $zMax) +(8.808355346e-02 4.064725340e-02 $zMax) +(8.927126330e-02 4.138038046e-02 $zMax) +(9.046081882e-02 4.211048690e-02 $zMax) +(9.165210389e-02 4.283744293e-02 $zMax) +(9.284592707e-02 4.356137840e-02 $zMax) +(9.404090348e-02 4.428222843e-02 $zMax) +(9.523161224e-02 4.499607114e-02 $zMax) +(9.641690010e-02 4.570276973e-02 $zMax) +(9.759861151e-02 4.640148786e-02 $zMax) +(9.878205370e-02 4.709542636e-02 $zMax) +(9.996976355e-02 4.778343900e-02 $zMax) +(1.011604723e-01 4.846462459e-02 $zMax) +(1.023560256e-01 4.913800286e-02 $zMax) +(1.035564236e-01 4.980249228e-02 $zMax) +(1.046353622e-01 5.038915247e-02 $zMax) +(1.055920356e-01 5.090009581e-02 $zMax) +(1.064247127e-01 5.133834998e-02 $zMax) +(1.072593511e-01 5.177243731e-02 $zMax) +(1.080957190e-01 5.220271101e-02 $zMax) +(1.089343947e-01 5.262971906e-02 $zMax) +(1.097737615e-01 5.305387949e-02 $zMax) +(1.106156664e-01 5.347562490e-02 $zMax) +(1.114652993e-01 5.389943205e-02 $zMax) +(1.123246214e-01 5.432558940e-02 $zMax) +(1.131923633e-01 5.475411135e-02 $zMax) +(1.140614895e-01 5.518087429e-02 $zMax) +(1.149310770e-01 5.560582767e-02 $zMax) +(1.158019340e-01 5.602884188e-02 $zMax) +(1.166733666e-01 5.644992406e-02 $zMax) +(1.175459537e-01 5.686895164e-02 $zMax) +(1.184282293e-01 5.729003376e-02 $zMax) +(1.193203090e-01 5.771304797e-02 $zMax) +(1.202225393e-01 5.813787883e-02 $zMax) +(1.211254620e-01 5.856041003e-02 $zMax) +(1.220295380e-01 5.898058384e-02 $zMax) +(1.229347672e-01 5.939846519e-02 $zMax) +(1.238412651e-01 5.981403963e-02 $zMax) +(1.247490318e-01 6.022732156e-02 $zMax) +(1.256670646e-01 6.064271573e-02 $zMax) +(1.265965167e-01 6.106029429e-02 $zMax) +(1.275375030e-01 6.147998508e-02 $zMax) +(1.284784894e-01 6.189731134e-02 $zMax) +(1.294212059e-01 6.231246766e-02 $zMax) +(1.303646142e-01 6.272550449e-02 $zMax) +(1.313092918e-01 6.313642902e-02 $zMax) +(1.322544303e-01 6.354541439e-02 $zMax) +(1.332117961e-01 6.395742751e-02 $zMax) +(1.341811569e-01 6.437246125e-02 $zMax) +(1.351633218e-01 6.479027772e-02 $zMax) +(1.361465246e-01 6.520597468e-02 $zMax) +(1.371305346e-01 6.561937199e-02 $zMax) +(1.381150060e-01 6.603035422e-02 $zMax) +(1.391013232e-01 6.643885651e-02 $zMax) +(1.400883321e-01 6.684464104e-02 $zMax) +(1.410903362e-01 6.725350383e-02 $zMax) +(1.421081422e-01 6.766521416e-02 $zMax) +(1.431410589e-01 6.807994517e-02 $zMax) +(1.441751288e-01 6.849237641e-02 $zMax) +(1.452098905e-01 6.890287562e-02 $zMax) +(1.462445374e-01 6.931180330e-02 $zMax) +(1.472804530e-01 6.971964237e-02 $zMax) +(1.483163685e-01 7.012675334e-02 $zMax) +(1.497647581e-01 7.069521065e-02 $zMax) +(1.516249311e-01 7.142512967e-02 $zMax) +(1.538975780e-01 7.231501084e-02 $zMax) +(1.561719551e-01 7.320113615e-02 $zMax) +(1.584488697e-01 7.408151580e-02 $zMax) +(1.607280914e-01 7.495410240e-02 $zMax) +(1.630110039e-01 7.581688469e-02 $zMax) +(1.652981846e-01 7.666787290e-02 $zMax) +(1.673862790e-01 7.743093924e-02 $zMax) +(1.692736726e-01 7.810842660e-02 $zMax) +(1.709596740e-01 7.870386032e-02 $zMax) +(1.726480975e-01 7.929172444e-02 $zMax) +(1.743390584e-01 7.987245884e-02 $zMax) +(1.760323264e-01 8.044653921e-02 $zMax) +(1.777273246e-01 8.101444862e-02 $zMax) +(1.794248603e-01 8.157661964e-02 $zMax) +(1.811193965e-01 8.213195642e-02 $zMax) +(1.828102425e-01 8.268087713e-02 $zMax) +(1.844980890e-01 8.322345388e-02 $zMax) +(1.861870894e-01 8.376106352e-02 $zMax) +(1.878779348e-01 8.429366287e-02 $zMax) +(1.895706259e-01 8.482111498e-02 $zMax) +(1.912644709e-01 8.534331164e-02 $zMax) +(1.929601609e-01 8.586018084e-02 $zMax) +(1.946541207e-01 8.637046089e-02 $zMax) +(1.963449661e-01 8.687415187e-02 $zMax) +(1.980345434e-01 8.737131140e-02 $zMax) +(1.997248119e-01 8.786320829e-02 $zMax) +(2.014175030e-01 8.834996512e-02 $zMax) +(2.031107710e-01 8.883169728e-02 $zMax) +(2.048064617e-01 8.930853443e-02 $zMax) +(2.065027280e-01 8.978054150e-02 $zMax) +(2.081966884e-01 9.024679574e-02 $zMax) +(2.098881108e-01 9.070742690e-02 $zMax) +(2.115765342e-01 9.116255033e-02 $zMax) +(2.132668027e-01 9.161320412e-02 $zMax) +(2.149576488e-01 9.205938826e-02 $zMax) +(2.166503399e-01 9.250114606e-02 $zMax) +(2.183436079e-01 9.293856400e-02 $zMax) +(2.200381440e-01 9.337155553e-02 $zMax) +(2.217307202e-01 9.379947190e-02 $zMax) +(2.234222581e-01 9.422242842e-02 $zMax) +(2.251112579e-01 9.464048278e-02 $zMax) +(2.268015270e-01 9.505448563e-02 $zMax) +(2.284929493e-01 9.546449464e-02 $zMax) +(2.301850635e-01 9.587063959e-02 $zMax) +(2.318783315e-01 9.627303582e-02 $zMax) +(2.335721765e-01 9.667174101e-02 $zMax) +(2.352648676e-01 9.706633704e-02 $zMax) +(2.369562899e-01 9.745706896e-02 $zMax) +(2.386459821e-01 9.784385034e-02 $zMax) +(2.403368275e-01 9.822725788e-02 $zMax) +(2.420276730e-01 9.860740689e-02 $zMax) +(2.437197877e-01 9.898421089e-02 $zMax) +(2.454130558e-01 9.935782851e-02 $zMax) +(2.471063238e-01 9.972823085e-02 $zMax) +(2.487983224e-01 1.000949998e-01 $zMax) +(2.504898603e-01 1.004583950e-01 $zMax) +(2.521801294e-01 1.008182144e-01 $zMax) +(2.538709748e-01 1.011750781e-01 $zMax) +(2.555623972e-01 1.015288419e-01 $zMax) +(2.572545120e-01 1.018797221e-01 $zMax) +(2.589465106e-01 1.022275600e-01 $zMax) +(2.606397787e-01 1.025724423e-01 $zMax) +(2.623324698e-01 1.029141813e-01 $zMax) +(2.640233158e-01 1.032527195e-01 $zMax) +(2.657141612e-01 1.035881146e-01 $zMax) +(2.674050067e-01 1.039207126e-01 $zMax) +(2.690958527e-01 1.042505999e-01 $zMax) +(2.707879669e-01 1.045777045e-01 $zMax) +(2.724806580e-01 1.049021563e-01 $zMax) +(2.741739260e-01 1.052239406e-01 $zMax) +(2.758659253e-01 1.055428702e-01 $zMax) +(2.775586164e-01 1.058590891e-01 $zMax) +(2.792501542e-01 1.061725253e-01 $zMax) +(2.809421529e-01 1.064834960e-01 $zMax) +(2.826348440e-01 1.067918427e-01 $zMax) +(2.843281120e-01 1.070976661e-01 $zMax) +(2.860213800e-01 1.074010096e-01 $zMax) +(2.877159168e-01 1.077018588e-01 $zMax) +(2.894086079e-01 1.079999974e-01 $zMax) +(2.911000302e-01 1.082953532e-01 $zMax) +(2.927908757e-01 1.085880562e-01 $zMax) +(2.944822980e-01 1.088783224e-01 $zMax) +(2.961738359e-01 1.091662962e-01 $zMax) +(2.978652582e-01 1.094519775e-01 $zMax) +(2.995579493e-01 1.097353663e-01 $zMax) +(3.012506404e-01 1.100165058e-01 $zMax) +(3.029426397e-01 1.102952953e-01 $zMax) +(3.046341776e-01 1.105717778e-01 $zMax) +(3.063250230e-01 1.108459678e-01 $zMax) +(3.080158690e-01 1.111180383e-01 $zMax) +(3.097072914e-01 1.113880615e-01 $zMax) +(3.113994055e-01 1.116560229e-01 $zMax) +(3.130914048e-01 1.119219224e-01 $zMax) +(3.147840959e-01 1.121858900e-01 $zMax) +(3.164762101e-01 1.124477525e-01 $zMax) +(3.181676324e-01 1.127074811e-01 $zMax) +(3.198584785e-01 1.129651623e-01 $zMax) +(3.215493239e-01 1.132208539e-01 $zMax) +(3.232407463e-01 1.134743539e-01 $zMax) +(3.249328610e-01 1.137258064e-01 $zMax) +(3.266249752e-01 1.139750818e-01 $zMax) +(3.283175508e-01 1.142221225e-01 $zMax) +(3.300090887e-01 1.144667986e-01 $zMax) +(3.317005110e-01 1.147090524e-01 $zMax) +(3.333913570e-01 1.149488984e-01 $zMax) +(3.350828943e-01 1.151865671e-01 $zMax) +(3.367743166e-01 1.154219868e-01 $zMax) +(3.384663159e-01 1.156553590e-01 $zMax) +(3.401584307e-01 1.158866118e-01 $zMax) +(3.418505449e-01 1.161158028e-01 $zMax) +(3.435431205e-01 1.163430039e-01 $zMax) +(3.452352352e-01 1.165682155e-01 $zMax) +(3.469273494e-01 1.167913653e-01 $zMax) +(3.486199256e-01 1.170124533e-01 $zMax) +(3.503126167e-01 1.172314938e-01 $zMax) +(3.520058847e-01 1.174484149e-01 $zMax) +(3.536991522e-01 1.176631589e-01 $zMax) +(3.553924202e-01 1.178756681e-01 $zMax) +(3.570851113e-01 1.180858127e-01 $zMax) +(3.587772261e-01 1.182934773e-01 $zMax) +(3.604680715e-01 1.184987918e-01 $zMax) +(3.621594938e-01 1.187019147e-01 $zMax) +(3.638510317e-01 1.189028173e-01 $zMax) +(3.655430310e-01 1.191016580e-01 $zMax) +(3.672351451e-01 1.192984370e-01 $zMax) +(3.689271444e-01 1.194931686e-01 $zMax) +(3.706192586e-01 1.196858960e-01 $zMax) +(3.723106809e-01 1.198765761e-01 $zMax) +(3.740015270e-01 1.200652521e-01 $zMax) +(3.756930642e-01 1.202518806e-01 $zMax) +(3.773844866e-01 1.204363753e-01 $zMax) +(3.790766014e-01 1.206188370e-01 $zMax) +(3.807680237e-01 1.207990495e-01 $zMax) +(3.824607148e-01 1.209769551e-01 $zMax) +(3.841527141e-01 1.211525682e-01 $zMax) +(3.858435595e-01 1.213257735e-01 $zMax) +(3.875350974e-01 1.214966142e-01 $zMax) +(3.892265197e-01 1.216652201e-01 $zMax) +(3.909179421e-01 1.218315767e-01 $zMax) +(3.926100562e-01 1.219958860e-01 $zMax) +(3.943014786e-01 1.221580181e-01 $zMax) +(3.959941703e-01 1.223182182e-01 $zMax) +(3.976855926e-01 1.224763565e-01 $zMax) +(3.993777068e-01 1.226324907e-01 $zMax) +(4.010685522e-01 1.227867073e-01 $zMax) +(4.027599746e-01 1.229388044e-01 $zMax) +(4.044515125e-01 1.230888396e-01 $zMax) +(4.061435117e-01 1.232367555e-01 $zMax) +(4.078350496e-01 1.233823788e-01 $zMax) +(4.095277407e-01 1.235258251e-01 $zMax) +(4.112191630e-01 1.236668490e-01 $zMax) +(4.129105854e-01 1.238055084e-01 $zMax) +(4.146021232e-01 1.239418176e-01 $zMax) +(4.162935456e-01 1.240758343e-01 $zMax) +(4.179849679e-01 1.242077316e-01 $zMax) +(4.196770821e-01 1.243374373e-01 $zMax) +(4.213690814e-01 1.244651101e-01 $zMax) +(4.230611956e-01 1.245907642e-01 $zMax) +(4.247533104e-01 1.247145009e-01 $zMax) +(4.264453090e-01 1.248363487e-01 $zMax) +(4.281380007e-01 1.249562212e-01 $zMax) +(4.298306918e-01 1.250740175e-01 $zMax) +(4.315233829e-01 1.251897088e-01 $zMax) +(4.332166509e-01 1.253030931e-01 $zMax) +(4.349092265e-01 1.254141273e-01 $zMax) +(4.366026095e-01 1.255227393e-01 $zMax) +(4.382951857e-01 1.256287415e-01 $zMax) +(4.399872998e-01 1.257321052e-01 $zMax) +(4.416787222e-01 1.258329025e-01 $zMax) +(4.433702600e-01 1.259313064e-01 $zMax) +(4.450616824e-01 1.260273314e-01 $zMax) +(4.467537972e-01 1.261212512e-01 $zMax) +(4.484452195e-01 1.262129939e-01 $zMax) +(4.501372182e-01 1.263027902e-01 $zMax) +(4.518293330e-01 1.263907265e-01 $zMax) +(4.535207553e-01 1.264767740e-01 $zMax) +(4.552122932e-01 1.265609616e-01 $zMax) +(4.569037155e-01 1.266431451e-01 $zMax) +(4.585951379e-01 1.267231514e-01 $zMax) +(4.602872521e-01 1.268009229e-01 $zMax) +(4.619786744e-01 1.268762722e-01 $zMax) +(4.636707892e-01 1.269490839e-01 $zMax) +(4.653126131e-01 1.270172385e-01 $zMax) +(4.669036847e-01 1.270807937e-01 $zMax) +(4.684451584e-01 1.271401244e-01 $zMax) +(4.699860553e-01 1.271971482e-01 $zMax) +(4.715275290e-01 1.272520525e-01 $zMax) +(4.727346166e-01 1.272935336e-01 $zMax) +(4.733841255e-01 1.273153771e-01 $zMax) +(4.739967241e-01 1.273355769e-01 $zMax) +(4.746093227e-01 1.273554595e-01 $zMax) +(4.752213443e-01 1.273750538e-01 $zMax) +(4.758339429e-01 1.273942876e-01 $zMax) +(4.764465415e-01 1.274132763e-01 $zMax) +(4.770585631e-01 1.274319046e-01 $zMax) +(4.776711617e-01 1.274502301e-01 $zMax) +(4.782837603e-01 1.274682527e-01 $zMax) +(4.790681078e-01 1.274908604e-01 $zMax) +(4.800247811e-01 1.275178367e-01 $zMax) +(4.811532033e-01 1.275486772e-01 $zMax) +(4.822816255e-01 1.275784939e-01 $zMax) +(4.834101633e-01 1.276072870e-01 $zMax) +(4.845385855e-01 1.276350419e-01 $zMax) +(4.856670077e-01 1.276617732e-01 $zMax) +(4.867954300e-01 1.276874086e-01 $zMax) +(4.879245446e-01 1.277120782e-01 $zMax) +(4.890529669e-01 1.277357239e-01 $zMax) +(4.901813891e-01 1.277582883e-01 $zMax) +(4.913105037e-01 1.277797569e-01 $zMax) +(4.924389260e-01 1.278002596e-01 $zMax) +(4.935667719e-01 1.278196664e-01 $zMax) +(4.946946172e-01 1.278379919e-01 $zMax) +(4.958224631e-01 1.278552792e-01 $zMax) +(4.969497315e-01 1.278714852e-01 $zMax) +(4.980774619e-01 1.278866098e-01 $zMax) +(4.992053078e-01 1.279006964e-01 $zMax) +(5.003331531e-01 1.279137016e-01 $zMax) +(5.014609990e-01 1.279255533e-01 $zMax) +(5.025888443e-01 1.279363813e-01 $zMax) +(5.037166903e-01 1.279460559e-01 $zMax) +(5.048445356e-01 1.279546491e-01 $zMax) +(5.059723815e-01 1.279621465e-01 $zMax) +(5.071002268e-01 1.279684906e-01 $zMax) +(5.082280727e-01 1.279737532e-01 $zMax) +(5.093559180e-01 1.279778624e-01 $zMax) +(5.104831870e-01 1.279808325e-01 $zMax) +(5.116110323e-01 1.279825771e-01 $zMax) +(5.127388782e-01 1.279832403e-01 $zMax) +(5.138667235e-01 1.279827068e-01 $zMax) +(5.149945694e-01 1.279810055e-01 $zMax) +(5.161224147e-01 1.279781075e-01 $zMax) +(5.172502606e-01 1.279739983e-01 $zMax) +(5.183781060e-01 1.279686780e-01 $zMax) +(5.195059519e-01 1.279621465e-01 $zMax) +(5.206337972e-01 1.279544040e-01 $zMax) +(5.217616431e-01 1.279453927e-01 $zMax) +(5.228894884e-01 1.279352279e-01 $zMax) +(5.240173343e-01 1.279237943e-01 $zMax) +(5.251451796e-01 1.279112217e-01 $zMax) +(5.262723331e-01 1.278974379e-01 $zMax) +(5.274001790e-01 1.278825584e-01 $zMax) +(5.285280243e-01 1.278664677e-01 $zMax) +(5.296558702e-01 1.278492380e-01 $zMax) +(5.307837155e-01 1.278308549e-01 $zMax) +(5.319115614e-01 1.278113759e-01 $zMax) +(5.330394067e-01 1.277907580e-01 $zMax) +(5.341666757e-01 1.277690442e-01 $zMax) +(5.352950980e-01 1.277461915e-01 $zMax) +(5.364229439e-01 1.277221132e-01 $zMax) +(5.375507892e-01 1.276968958e-01 $zMax) +(5.386786351e-01 1.276704097e-01 $zMax) +(5.398064804e-01 1.276427124e-01 $zMax) +(5.409343263e-01 1.276136309e-01 $zMax) +(5.420621716e-01 1.275833384e-01 $zMax) +(5.431894406e-01 1.275515896e-01 $zMax) +(5.443172865e-01 1.275184423e-01 $zMax) +(5.454444400e-01 1.274838532e-01 $zMax) +(5.465722853e-01 1.274478655e-01 $zMax) +(5.477001312e-01 1.274103783e-01 $zMax) +(5.488285535e-01 1.273713772e-01 $zMax) +(5.499563988e-01 1.273309198e-01 $zMax) +(5.510842447e-01 1.272890639e-01 $zMax) +(5.522120900e-01 1.272457662e-01 $zMax) +(5.533399359e-01 1.272010699e-01 $zMax) +(5.544677812e-01 1.271550616e-01 $zMax) +(5.555956271e-01 1.271076403e-01 $zMax) +(5.567228961e-01 1.270589069e-01 $zMax) +(5.578507414e-01 1.270088904e-01 $zMax) +(5.589785873e-01 1.269576050e-01 $zMax) +(5.601064326e-01 1.269049932e-01 $zMax) +(5.612348549e-01 1.268510549e-01 $zMax) +(5.623639695e-01 1.267959054e-01 $zMax) +(5.634923918e-01 1.267392997e-01 $zMax) +(5.646213909e-01 1.266813676e-01 $zMax) +(5.657498131e-01 1.266220369e-01 $zMax) +(5.668789278e-01 1.265611346e-01 $zMax) +(5.680073500e-01 1.264987328e-01 $zMax) +(5.691357723e-01 1.264348028e-01 $zMax) +(5.702643100e-01 1.263692002e-01 $zMax) +(5.713927322e-01 1.263019395e-01 $zMax) +(5.725205781e-01 1.262329486e-01 $zMax) +(5.736490004e-01 1.261621843e-01 $zMax) +(5.747768457e-01 1.260896178e-01 $zMax) +(5.759052679e-01 1.260151768e-01 $zMax) +(5.770336901e-01 1.259389769e-01 $zMax) +(5.781615360e-01 1.258609747e-01 $zMax) +(5.792900738e-01 1.257810837e-01 $zMax) +(5.804179191e-01 1.256994481e-01 $zMax) +(5.815450726e-01 1.256159815e-01 $zMax) +(5.826729185e-01 1.255307846e-01 $zMax) +(5.838001875e-01 1.254436989e-01 $zMax) +(5.849280328e-01 1.253547966e-01 $zMax) +(5.860553018e-01 1.252641497e-01 $zMax) +(5.871824552e-01 1.251716284e-01 $zMax) +(5.883109930e-01 1.250772904e-01 $zMax) +(5.894394152e-01 1.249810060e-01 $zMax) +(5.905678374e-01 1.248829193e-01 $zMax) +(5.916956834e-01 1.247830159e-01 $zMax) +(5.928241056e-01 1.246811805e-01 $zMax) +(5.939519515e-01 1.245774707e-01 $zMax) +(5.950797968e-01 1.244718722e-01 $zMax) +(5.962070658e-01 1.243642983e-01 $zMax) +(5.973343348e-01 1.242548357e-01 $zMax) +(5.984614883e-01 1.241433834e-01 $zMax) +(5.995887573e-01 1.240299270e-01 $zMax) +(6.007160256e-01 1.239144952e-01 $zMax) +(6.018444485e-01 1.237968719e-01 $zMax) +(6.029728707e-01 1.236771291e-01 $zMax) +(6.041019848e-01 1.235552670e-01 $zMax) +(6.052304076e-01 1.234314150e-01 $zMax) +(6.063582529e-01 1.233053859e-01 $zMax) +(6.074866751e-01 1.231772518e-01 $zMax) +(6.086139441e-01 1.230469261e-01 $zMax) +(6.097417894e-01 1.229144233e-01 $zMax) +(6.108683666e-01 1.227797577e-01 $zMax) +(6.119956356e-01 1.226427853e-01 $zMax) +(6.131223276e-01 1.225036213e-01 $zMax) +(6.142500581e-01 1.223619917e-01 $zMax) +(6.153785958e-01 1.222179544e-01 $zMax) +(6.165081713e-01 1.220712353e-01 $zMax) +(6.176372859e-01 1.219220506e-01 $zMax) +(6.187662845e-01 1.217702563e-01 $zMax) +(6.198953991e-01 1.216156793e-01 $zMax) +(6.210232450e-01 1.214582042e-01 $zMax) +(6.221510903e-01 1.212978311e-01 $zMax) +(6.232782438e-01 1.211344302e-01 $zMax) +(6.244049359e-01 1.209678285e-01 $zMax) +(6.255309361e-01 1.207978961e-01 $zMax) +(6.266569364e-01 1.206246331e-01 $zMax) +(6.277842054e-01 1.204475061e-01 $zMax) +(6.289138963e-01 1.202663276e-01 $zMax) +(6.300447406e-01 1.200812129e-01 $zMax) +(6.311755854e-01 1.198925370e-01 $zMax) +(6.323052764e-01 1.197002853e-01 $zMax) +(6.334349673e-01 1.195044724e-01 $zMax) +(6.345633902e-01 1.193052136e-01 $zMax) +(6.356918124e-01 1.191025087e-01 $zMax) +(6.368196577e-01 1.188964012e-01 $zMax) +(6.379462349e-01 1.186868622e-01 $zMax) +(6.390729269e-01 1.184739926e-01 $zMax) +(6.401995035e-01 1.182578068e-01 $zMax) +(6.413291951e-01 1.180374974e-01 $zMax) +(6.424631537e-01 1.178128338e-01 $zMax) +(6.436005727e-01 1.175828498e-01 $zMax) +(6.447363776e-01 1.173473581e-01 $zMax) +(6.458713746e-01 1.171053494e-01 $zMax) +(6.470040645e-01 1.168555261e-01 $zMax) +(6.481350242e-01 1.165969942e-01 $zMax) +(6.492634470e-01 1.163286147e-01 $zMax) +(6.503894467e-01 1.160492197e-01 $zMax) +(6.515118711e-01 1.157578000e-01 $zMax) +(6.526311811e-01 1.154531877e-01 $zMax) +(6.537463389e-01 1.151343734e-01 $zMax) +(6.541569678e-01 1.150131168e-01 $zMax) +(6.584814913e-01 1.135819998e-01 $zMax) +(6.586550859e-01 1.135183292e-01 $zMax) +(6.588854300e-01 1.134328151e-01 $zMax) +(6.591817519e-01 1.133216656e-01 $zMax) +(6.594769201e-01 1.132091175e-01 $zMax) +(6.597719733e-01 1.130952429e-01 $zMax) +(6.600658732e-01 1.129799265e-01 $zMax) +(6.603597726e-01 1.128632116e-01 $zMax) +(6.606530957e-01 1.127450404e-01 $zMax) +(6.609451500e-01 1.126254274e-01 $zMax) +(6.612373192e-01 1.125044158e-01 $zMax) +(6.615287966e-01 1.123818904e-01 $zMax) +(6.618190052e-01 1.122579808e-01 $zMax) +(6.621093293e-01 1.121325572e-01 $zMax) +(6.623983841e-01 1.120056198e-01 $zMax) +(6.626868626e-01 1.118771829e-01 $zMax) +(6.629747642e-01 1.117472177e-01 $zMax) +(6.632619739e-01 1.116158106e-01 $zMax) +(6.635480298e-01 1.114827599e-01 $zMax) +(6.638333944e-01 1.113482097e-01 $zMax) +(6.641188734e-01 1.112121456e-01 $zMax) +(6.644025073e-01 1.110744379e-01 $zMax) +(6.646861411e-01 1.109351729e-01 $zMax) +(6.649685063e-01 1.107943219e-01 $zMax) +(6.652497182e-01 1.106519138e-01 $zMax) +(6.655309301e-01 1.105078044e-01 $zMax) +(6.657891878e-01 1.103732398e-01 $zMax) +(6.660262222e-01 1.102486093e-01 $zMax) +(6.662408799e-01 1.101341291e-01 $zMax) +(6.664549607e-01 1.100187406e-01 $zMax) +(6.666690409e-01 1.099024006e-01 $zMax) +(6.668825454e-01 1.097851954e-01 $zMax) +(6.670954723e-01 1.096670242e-01 $zMax) +(6.673077074e-01 1.095480168e-01 $zMax) +(6.675193662e-01 1.094281587e-01 $zMax) +(6.677310244e-01 1.093074499e-01 $zMax) +(6.679414145e-01 1.091859626e-01 $zMax) +(6.681524964e-01 1.090636245e-01 $zMax) +(6.683623089e-01 1.089404935e-01 $zMax) +(6.685715451e-01 1.088165839e-01 $zMax) +(6.687807813e-01 1.086919389e-01 $zMax) +(6.689894412e-01 1.085665154e-01 $zMax) +(6.691981005e-01 1.084404287e-01 $zMax) +(6.694054910e-01 1.083136210e-01 $zMax) +(6.696135740e-01 1.081860781e-01 $zMax) +(6.698203882e-01 1.080578719e-01 $zMax) +(6.700266255e-01 1.079290601e-01 $zMax) +(6.702334392e-01 1.077995274e-01 $zMax) +(6.704389846e-01 1.076694468e-01 $zMax) +(6.706446450e-01 1.075387030e-01 $zMax) +(6.708490366e-01 1.074074113e-01 $zMax) +(6.710540052e-01 1.072755140e-01 $zMax) +(6.712615112e-01 1.071409062e-01 $zMax) +(6.714725931e-01 1.070035012e-01 $zMax) +(6.716859815e-01 1.068633278e-01 $zMax) +(6.718994860e-01 1.067225490e-01 $zMax) +(6.721122974e-01 1.065812223e-01 $zMax) +(6.723246480e-01 1.064392900e-01 $zMax) +(6.725368832e-01 1.062968675e-01 $zMax) +(6.727485420e-01 1.061538394e-01 $zMax) +(6.729602002e-01 1.060102778e-01 $zMax) +(6.731712821e-01 1.058662261e-01 $zMax) +(6.733816721e-01 1.057216408e-01 $zMax) +(6.735921771e-01 1.055764933e-01 $zMax) +(6.738019896e-01 1.054308699e-01 $zMax) +(6.740112258e-01 1.052847708e-01 $zMax) +(6.742204620e-01 1.051381237e-01 $zMax) +(6.744296988e-01 1.049909865e-01 $zMax) +(6.746383581e-01 1.048434311e-01 $zMax) +(6.748464411e-01 1.046953855e-01 $zMax) +(6.750544086e-01 1.045468641e-01 $zMax) +(6.752617991e-01 1.043979246e-01 $zMax) +(6.754693052e-01 1.042484805e-01 $zMax) +(6.756761188e-01 1.040986326e-01 $zMax) +(6.758829330e-01 1.039483522e-01 $zMax) +(6.760891703e-01 1.037976536e-01 $zMax) +(6.762947158e-01 1.036465226e-01 $zMax) +(6.765003761e-01 1.034949733e-01 $zMax) +(6.767083436e-01 1.033411317e-01 $zMax) +(6.769188486e-01 1.031849254e-01 $zMax) +(6.771316606e-01 1.030263690e-01 $zMax) +(6.773440112e-01 1.028673800e-01 $zMax) +(6.775556694e-01 1.027079729e-01 $zMax) +(6.777679046e-01 1.025481909e-01 $zMax) +(6.779789865e-01 1.023880629e-01 $zMax) +(6.781899528e-01 1.022275024e-01 $zMax) +(6.784010347e-01 1.020666390e-01 $zMax) +(6.786115397e-01 1.019053575e-01 $zMax) +(6.788219291e-01 1.017437157e-01 $zMax) +(6.790318578e-01 1.015816989e-01 $zMax) +(6.792416709e-01 1.014193937e-01 $zMax) +(6.794514834e-01 1.012567137e-01 $zMax) +(6.796607196e-01 1.010936732e-01 $zMax) +(6.798693795e-01 1.009303877e-01 $zMax) +(6.800786157e-01 1.007667560e-01 $zMax) +(6.802872750e-01 1.006028072e-01 $zMax) +(6.804952425e-01 1.004385556e-01 $zMax) +(6.807033255e-01 1.002740012e-01 $zMax) +(6.809112929e-01 1.001091585e-01 $zMax) +(6.811187990e-01 9.994399851e-02 $zMax) +(6.813261895e-01 9.977866560e-02 $zMax) +(6.815330037e-01 9.961295775e-02 $zMax) +(6.817403943e-01 9.944707688e-02 $zMax) +(6.819472079e-01 9.928090767e-02 $zMax) +(6.821178036e-01 9.914325758e-02 $zMax) +(6.822532190e-01 9.903422752e-02 $zMax) +(6.823524159e-01 9.895391838e-02 $zMax) +(6.824516128e-01 9.887355160e-02 $zMax) +(6.825508097e-01 9.879317037e-02 $zMax) +(6.826500067e-01 9.871268827e-02 $zMax) +(6.827490881e-01 9.863219172e-02 $zMax) +(6.828489774e-01 9.855163748e-02 $zMax) +(6.829480588e-01 9.847102560e-02 $zMax) +(6.830466788e-01 9.839035603e-02 $zMax) +(6.831458757e-01 9.830962877e-02 $zMax) +(6.832450726e-01 9.822882948e-02 $zMax) +(6.833435776e-01 9.814804453e-02 $zMax) +(6.834427746e-01 9.806718755e-02 $zMax) +(6.835413945e-01 9.798627288e-02 $zMax) +(6.836404759e-01 9.790535821e-02 $zMax) +(6.837390965e-01 9.782432815e-02 $zMax) +(6.838382934e-01 9.774328376e-02 $zMax) +(6.839369134e-01 9.766219608e-02 $zMax) +(6.840354179e-01 9.758103624e-02 $zMax) +(6.841340385e-01 9.749987647e-02 $zMax) +(6.842325429e-01 9.741865900e-02 $zMax) +(6.843311635e-01 9.733738391e-02 $zMax) +(6.844296680e-01 9.725610875e-02 $zMax) +(6.844872254e-01 9.720870188e-02 $zMax) +(6.851971753e-01 9.662119100e-02 $zMax) +(6.857995077e-01 9.611991505e-02 $zMax) +(6.864005721e-01 9.561744245e-02 $zMax) +(6.870010595e-01 9.511398937e-02 $zMax) +(6.876294600e-01 9.458611196e-02 $zMax) +(6.882843904e-01 9.403381013e-02 $zMax) +(6.889671184e-01 9.345699754e-02 $zMax) +(6.896486938e-01 9.287940628e-02 $zMax) +(6.903301530e-01 9.230103654e-02 $zMax) +(6.910104590e-01 9.172200347e-02 $zMax) +(6.916901887e-01 9.114229283e-02 $zMax) +(6.923699178e-01 9.056198375e-02 $zMax) +(6.930490705e-01 8.998101151e-02 $zMax) +(6.937282233e-01 8.939943368e-02 $zMax) +(6.944066842e-01 8.881748817e-02 $zMax) +(6.950858370e-01 8.823548502e-02 $zMax) +(6.957649891e-01 8.765372698e-02 $zMax) +(6.964441419e-01 8.707244468e-02 $zMax) +(6.971244485e-01 8.649183287e-02 $zMax) +(6.978053308e-01 8.591207174e-02 $zMax) +(6.986060577e-01 8.523282537e-02 $zMax) +(6.995270894e-01 8.445488669e-02 $zMax) +(7.005702715e-01 8.357909926e-02 $zMax) +(7.016146069e-01 8.270573405e-02 $zMax) +(7.026614804e-01 8.183442340e-02 $zMax) +(7.037095071e-01 8.096479973e-02 $zMax) +(7.047581108e-01 8.009639437e-02 $zMax) +(7.058079826e-01 7.922895503e-02 $zMax) +(7.070264895e-01 7.822338977e-02 $zMax) +(7.084137470e-01 7.707964092e-02 $zMax) +(7.099697539e-01 7.579880432e-02 $zMax) +(7.115281834e-01 7.452086571e-02 $zMax) +(7.130908805e-01 7.324715888e-02 $zMax) +(7.146571529e-01 7.197883003e-02 $zMax) +(7.162282704e-01 7.071721996e-02 $zMax) +(7.178065391e-01 6.946359043e-02 $zMax) +(7.192882638e-01 6.829988687e-02 $zMax) +(7.206736750e-01 6.722526586e-02 $zMax) +(7.219605818e-01 6.623802608e-02 $zMax) +(7.232523331e-01 6.525731775e-02 $zMax) +(7.245488135e-01 6.428301822e-02 $zMax) +(7.258508303e-01 6.331506999e-02 $zMax) +(7.271565385e-01 6.235328546e-02 $zMax) +(7.284675520e-01 6.139755650e-02 $zMax) +(7.297701457e-01 6.045627463e-02 $zMax) +(7.310661647e-01 5.952920902e-02 $zMax) +(7.323536478e-01 5.861641015e-02 $zMax) +(7.336453991e-01 5.770965973e-02 $zMax) +(7.349413026e-01 5.680926048e-02 $zMax) +(7.362421662e-01 5.591539268e-02 $zMax) +(7.375471819e-01 5.502848157e-02 $zMax) +(7.388576191e-01 5.414864262e-02 $zMax) +(7.401602129e-01 5.328471410e-02 $zMax) +(7.414543862e-01 5.243662393e-02 $zMax) +(7.427412929e-01 5.160431442e-02 $zMax) +(7.440330443e-01 5.077945188e-02 $zMax) +(7.453295247e-01 4.996225981e-02 $zMax) +(7.466303876e-01 4.915275981e-02 $zMax) +(7.479365572e-01 4.835105281e-02 $zMax) +(7.492476863e-01 4.755726864e-02 $zMax) +(7.505515487e-01 4.677866675e-02 $zMax) +(7.518474522e-01 4.601517503e-02 $zMax) +(7.531362046e-01 4.526662780e-02 $zMax) +(7.544296861e-01 4.452588076e-02 $zMax) +(7.557275502e-01 4.379311419e-02 $zMax) +(7.570294521e-01 4.306839292e-02 $zMax) +(7.583363135e-01 4.235171700e-02 $zMax) +(7.596474425e-01 4.164320176e-02 $zMax) +(7.609513050e-01 4.094919837e-02 $zMax) +(7.622477854e-01 4.026953382e-02 $zMax) +(7.635365373e-01 3.960395587e-02 $zMax) +(7.648294418e-01 3.894648085e-02 $zMax) +(7.661260377e-01 3.829698635e-02 $zMax) +(7.674274776e-01 3.765565967e-02 $zMax) +(7.687318015e-01 3.702255856e-02 $zMax) +(7.700410855e-01 3.639761812e-02 $zMax) +(7.713436792e-01 3.578567570e-02 $zMax) +(7.726402746e-01 3.518662302e-02 $zMax) +(7.739301802e-01 3.460014304e-02 $zMax) +(7.752243535e-01 3.402165072e-02 $zMax) +(7.765215264e-01 3.345101623e-02 $zMax) +(7.778222744e-01 3.288836226e-02 $zMax) +(7.791261363e-01 3.233357331e-02 $zMax) +(7.804335746e-01 3.178670720e-02 $zMax) +(7.817361684e-01 3.125090701e-02 $zMax) +(7.830346093e-01 3.072599252e-02 $zMax) +(7.843275139e-01 3.021171863e-02 $zMax) +(7.856235329e-01 2.970483044e-02 $zMax) +(7.869224359e-01 2.920513330e-02 $zMax) +(7.882238758e-01 2.871254071e-02 $zMax) +(7.895283152e-01 2.822694092e-02 $zMax) +(7.908351766e-01 2.774821498e-02 $zMax) +(7.921377697e-01 2.727866981e-02 $zMax) +(7.934355189e-01 2.681811074e-02 $zMax) +(7.947291159e-01 2.636640082e-02 $zMax) +(7.960244424e-01 2.592109976e-02 $zMax) +(7.973221916e-01 2.548221840e-02 $zMax) +(7.986223633e-01 2.504972066e-02 $zMax) +(7.999243801e-01 2.462362098e-02 $zMax) +(8.012288189e-01 2.420388692e-02 $zMax) +(8.025295670e-01 2.379211889e-02 $zMax) +(8.038274317e-01 2.338821956e-02 $zMax) +(8.051221819e-01 2.299198709e-02 $zMax) +(8.064186623e-01 2.260165524e-02 $zMax) +(8.077165270e-01 2.221708345e-02 $zMax) +(8.090166981e-01 2.183812032e-02 $zMax) +(8.103181380e-01 2.146461086e-02 $zMax) +(8.116207317e-01 2.109641448e-02 $zMax) +(8.129214798e-01 2.073440710e-02 $zMax) +(8.142199214e-01 2.037844092e-02 $zMax) +(8.155152479e-01 2.002839700e-02 $zMax) +(8.168124202e-01 1.968319758e-02 $zMax) +(8.181107463e-01 1.934281382e-02 $zMax) +(8.194103411e-01 1.900720247e-02 $zMax) +(8.207105122e-01 1.867631668e-02 $zMax) +(8.220125290e-01 1.835013119e-02 $zMax) +(8.233133926e-01 1.802923357e-02 $zMax) +(8.246122950e-01 1.771355172e-02 $zMax) +(8.259094678e-01 1.740297388e-02 $zMax) +(8.272084857e-01 1.709678638e-02 $zMax) +(8.285080799e-01 1.679490630e-02 $zMax) +(8.298089435e-01 1.649723993e-02 $zMax) +(8.311102685e-01 1.620369354e-02 $zMax) +(8.324122853e-01 1.591418423e-02 $zMax) +(8.337131489e-01 1.562919502e-02 $zMax) +(8.350120513e-01 1.534860695e-02 $zMax) +(8.363092235e-01 1.507229025e-02 $zMax) +(8.376070882e-01 1.479956368e-02 $zMax) +(8.389054142e-01 1.453030828e-02 $zMax) +(8.402050085e-01 1.426441590e-02 $zMax) +(8.415046033e-01 1.400177843e-02 $zMax) +(8.428053514e-01 1.374226970e-02 $zMax) +(8.441049462e-01 1.348609517e-02 $zMax) +(8.454033872e-01 1.323314309e-02 $zMax) +(8.467005594e-01 1.298336301e-02 $zMax) +(8.479988855e-01 1.273640527e-02 $zMax) +(8.492973264e-01 1.249224106e-02 $zMax) +(8.505962294e-01 1.225083792e-02 $zMax) +(8.518958237e-01 1.201216703e-02 $zMax) +(8.531959954e-01 1.177618512e-02 $zMax) +(8.544955902e-01 1.154302556e-02 $zMax) +(8.557951844e-01 1.131264871e-02 $zMax) +(8.570942023e-01 1.108500770e-02 $zMax) +(8.583937972e-01 1.085991509e-02 $zMax) +(8.596933920e-01 1.063734207e-02 $zMax) +(8.609935631e-01 1.041725256e-02 $zMax) +(8.622944267e-01 1.019959252e-02 $zMax) +(8.635951748e-01 9.984347521e-03 $zMax) +(8.648953459e-01 9.771690572e-03 $zMax) +(8.661943638e-01 9.561585643e-03 $zMax) +(8.674921130e-01 9.353971450e-03 $zMax) +(8.687905545e-01 9.148559627e-03 $zMax) +(8.700894569e-01 8.945274480e-03 $zMax) +(8.713884748e-01 8.744083575e-03 $zMax) +(8.726874927e-01 8.544911206e-03 $zMax) +(8.739876639e-01 8.347699710e-03 $zMax) +(8.752866818e-01 8.152506755e-03 $zMax) +(8.765850079e-01 7.959274667e-03 $zMax) +(8.778834488e-01 7.767971009e-03 $zMax) +(8.791817749e-01 7.578469618e-03 $zMax) +(8.804807928e-01 7.390741661e-03 $zMax) +(8.817791189e-01 7.204765506e-03 $zMax) +(8.830787131e-01 7.020523137e-03 $zMax) +(8.843783079e-01 6.838007342e-03 $zMax) +(8.856773258e-01 6.657261375e-03 $zMax) +(8.869756519e-01 6.478288843e-03 $zMax) +(8.882740929e-01 6.301118578e-03 $zMax) +(8.895724190e-01 6.125692906e-03 $zMax) +(8.908708599e-01 5.952055092e-03 $zMax) +(8.921697623e-01 5.780255588e-03 $zMax) +(8.934693572e-01 5.610323234e-03 $zMax) +(8.947683751e-01 5.442304892e-03 $zMax) +(8.960679699e-01 5.276276258e-03 $zMax) +(8.973675641e-01 5.112262554e-03 $zMax) +(8.986665820e-01 4.950260190e-03 $zMax) +(8.999667537e-01 4.790225901e-03 $zMax) +(9.012663486e-01 4.632145271e-03 $zMax) +(9.025665197e-01 4.476003882e-03 $zMax) +(9.038666909e-01 4.321794527e-03 $zMax) +(9.051675544e-01 4.169502782e-03 $zMax) +(9.064671493e-01 4.019222375e-03 $zMax) +(9.077660516e-01 3.870971317e-03 $zMax) +(9.090644926e-01 3.724821710e-03 $zMax) +(9.103628187e-01 3.580748313e-03 $zMax) +(9.116618366e-01 3.438870083e-03 $zMax) +(9.129608545e-01 3.299280739e-03 $zMax) +(9.142597569e-01 3.162081199e-03 $zMax) +(9.155587748e-01 3.027368789e-03 $zMax) +(9.168583696e-01 2.895330945e-03 $zMax) +(9.181566957e-01 2.766043366e-03 $zMax) +(9.194545597e-01 2.639592562e-03 $zMax) +(9.207528858e-01 2.515964109e-03 $zMax) +(9.220519037e-01 2.395258932e-03 $zMax) +(9.233508061e-01 2.277520295e-03 $zMax) +(9.246498240e-01 2.162838304e-03 $zMax) +(9.259494188e-01 2.051274244e-03 $zMax) +(9.272490137e-01 1.942936242e-03 $zMax) +(9.285486085e-01 1.837892785e-03 $zMax) +(9.298476264e-01 1.736205158e-03 $zMax) +(9.311472206e-01 1.637927419e-03 $zMax) +(9.324473924e-01 1.543124462e-03 $zMax) +(9.337475635e-01 1.451861157e-03 $zMax) +(9.350477346e-01 1.364216806e-03 $zMax) +(9.363485982e-01 1.280259906e-03 $zMax) +(9.376481930e-01 1.200109392e-03 $zMax) +(9.389477879e-01 1.123819340e-03 $zMax) +(9.402461133e-01 1.051382535e-03 $zMax) +(9.415445549e-01 9.827088716e-04 $zMax) +(9.428428804e-01 9.177947448e-04 $zMax) +(9.441418983e-01 8.566077044e-04 $zMax) +(9.454414931e-01 7.991405539e-04 $zMax) +(9.467403955e-01 7.453680515e-04 $zMax) +(9.480394134e-01 6.952829947e-04 $zMax) +(9.493384313e-01 6.488601415e-04 $zMax) +(9.506367574e-01 6.060166001e-04 $zMax) +(9.519357753e-01 5.666550435e-04 $zMax) +(9.532341014e-01 5.306889635e-04 $zMax) +(9.545331193e-01 4.980390542e-04 $zMax) +(9.558321372e-01 4.686080007e-04 $zMax) +(9.571311551e-01 4.423201016e-04 $zMax) +(9.584300575e-01 4.190852504e-04 $zMax) +(9.597290754e-01 3.987700714e-04 $zMax) +(9.610280933e-01 3.810105104e-04 $zMax) +(9.623264193e-01 3.653776306e-04 $zMax) +(9.636254372e-01 3.514749214e-04 $zMax) +(9.649244551e-01 3.388770622e-04 $zMax) +(9.662233575e-01 3.271695210e-04 $zMax) +(9.675217985e-01 3.159449927e-04 $zMax) +(9.688213933e-01 3.047889453e-04 $zMax) +(9.701209881e-01 2.933481374e-04 $zMax) +(9.714211593e-01 2.816261792e-04 $zMax) +(9.727207541e-01 2.697023706e-04 $zMax) +(9.740209253e-01 2.576415820e-04 $zMax) +(9.753210970e-01 2.455303338e-04 $zMax) +(9.766206912e-01 2.334226899e-04 $zMax) +(9.779208630e-01 2.214015542e-04 $zMax) +(9.792204572e-01 2.095462264e-04 $zMax) +(9.805194751e-01 1.978747339e-04 $zMax) +(9.818184930e-01 1.862212627e-04 $zMax) +(9.831173960e-01 1.743803520e-04 $zMax) +(9.844158370e-01 1.621285256e-04 $zMax) +(9.857147394e-01 1.492675375e-04 $zMax) +(9.870137573e-01 1.355558720e-04 $zMax) +(9.883127752e-01 1.208097061e-04 $zMax) +(9.896111012e-01 1.048019533e-04 $zMax) +(9.909101191e-01 8.750377358e-05 $zMax) +(9.922091370e-01 6.962887034e-05 $zMax) +(9.935074631e-01 5.206034712e-05 $zMax) +(9.948064810e-01 3.569213836e-05 $zMax) +(9.961054989e-01 2.141095791e-05 $zMax) +(9.974038244e-01 1.011073416e-05 $zMax) +(9.987028423e-01 2.678174891e-06 $zMax) +(9.997102679e-01 1.369738752e-07 $zMax) +(1.000000000e+00 0.000000000e+00 $zMax) diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/geometry/polyLine_5to9 b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/geometry/polyLine_5to9 new file mode 100644 index 0000000000..3edfa5680e --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/geometry/polyLine_5to9 @@ -0,0 +1,876 @@ +(0.000000000e+00 0.000000000e+00 $zMin) +(2.642555636e-04 2.118387155e-05 $zMin) +(1.196187107e-03 1.013596154e-04 $zMin) +(2.391164127e-03 2.169787857e-04 $zMin) +(3.584294872e-03 3.468466981e-04 $zMin) +(4.776214925e-03 4.909525339e-04 $zMin) +(5.966346759e-03 6.492854802e-04 $zMin) +(7.154056604e-03 8.218347242e-04 $zMin) +(8.339978834e-03 1.008585855e-03 $zMin) +(9.530686986e-03 1.210739175e-03 $zMin) +(1.072508708e-02 1.428518166e-03 $zMin) +(1.192427371e-02 1.662160734e-03 $zMin) +(1.311982704e-02 1.910459349e-03 $zMin) +(1.431238147e-02 2.173406815e-03 $zMin) +(1.550193638e-02 2.450992308e-03 $zMin) +(1.668780056e-02 2.743194201e-03 $zMin) +(1.786951258e-02 3.050012494e-03 $zMin) +(1.905843372e-02 3.374449776e-03 $zMin) +(2.025398706e-02 3.716834053e-03 $zMin) +(2.145559567e-02 4.077255437e-03 $zMin) +(2.265299468e-02 4.452304040e-03 $zMin) +(2.384612542e-02 4.841594176e-03 $zMin) +(2.503446964e-02 5.244732940e-03 $zMin) +(2.621791183e-02 5.661338268e-03 $zMin) +(2.739720126e-02 6.091013649e-03 $zMin) +(2.858427673e-02 6.538326034e-03 $zMin) +(2.977988752e-02 7.003300653e-03 $zMin) +(3.098270743e-02 7.485969956e-03 $zMin) +(3.218068275e-02 7.981010033e-03 $zMin) +(3.337323718e-02 8.488049619e-03 $zMin) +(3.456158140e-02 9.006706628e-03 $zMin) +(3.574444666e-02 9.536609797e-03 $zMin) +(3.692246734e-02 1.007737704e-02 $zMin) +(3.810838957e-02 1.063481889e-02 $zMin) +(3.930209724e-02 1.120887045e-02 $zMin) +(4.050434023e-02 1.179944160e-02 $zMin) +(4.170173924e-02 1.239987117e-02 $zMin) +(4.289365929e-02 1.300967974e-02 $zMin) +(4.408136913e-02 1.362840955e-02 $zMin) +(4.526486877e-02 1.425559200e-02 $zMin) +(4.644410015e-02 1.489072966e-02 $zMin) +(4.763002238e-02 1.553935551e-02 $zMin) +(4.882257680e-02 1.620121362e-02 $zMin) +(5.002233974e-02 1.687615980e-02 $zMin) +(5.121795114e-02 1.755788973e-02 $zMin) +(5.240987059e-02 1.824609701e-02 $zMin) +(5.359821480e-02 1.894044282e-02 $zMin) +(5.478286829e-02 1.964062438e-02 $zMin) +(5.596457970e-02 2.034632088e-02 $zMin) +(5.715044388e-02 2.106187580e-02 $zMin) +(5.834178761e-02 2.178704401e-02 $zMin) +(5.953734035e-02 2.252149752e-02 $zMin) +(6.073052915e-02 2.326012148e-02 $zMin) +(6.192123791e-02 2.400246172e-02 $zMin) +(6.311015905e-02 2.474807488e-02 $zMin) +(6.429665760e-02 2.549651399e-02 $zMin) +(6.548257922e-02 2.624732490e-02 $zMin) +(6.666965469e-02 2.700199266e-02 $zMin) +(6.785921021e-02 2.776013519e-02 $zMin) +(6.905055334e-02 2.852149658e-02 $zMin) +(7.024189647e-02 2.928394293e-02 $zMin) +(7.143202830e-02 3.004724716e-02 $zMin) +(7.262210269e-02 3.081119662e-02 $zMin) +(7.381165820e-02 3.157558940e-02 $zMin) +(7.500121372e-02 3.234022734e-02 $zMin) +(7.619007680e-02 3.310437502e-02 $zMin) +(7.737847847e-02 3.386785948e-02 $zMin) +(7.856618832e-02 3.463032023e-02 $zMin) +(7.975447508e-02 3.539180777e-02 $zMin) +(8.094403000e-02 3.615196887e-02 $zMin) +(8.213416243e-02 3.691037816e-02 $zMin) +(8.332602443e-02 3.766672559e-02 $zMin) +(8.451927068e-02 3.842053546e-02 $zMin) +(8.570997944e-02 3.916872226e-02 $zMin) +(8.689826621e-02 3.991091832e-02 $zMin) +(8.808355346e-02 4.064725340e-02 $zMin) +(8.927126330e-02 4.138038046e-02 $zMin) +(9.046081882e-02 4.211048690e-02 $zMin) +(9.165210389e-02 4.283744293e-02 $zMin) +(9.284592707e-02 4.356137840e-02 $zMin) +(9.404090348e-02 4.428222843e-02 $zMin) +(9.523161224e-02 4.499607114e-02 $zMin) +(9.641690010e-02 4.570276973e-02 $zMin) +(9.759861151e-02 4.640148786e-02 $zMin) +(9.878205370e-02 4.709542636e-02 $zMin) +(9.996976355e-02 4.778343900e-02 $zMin) +(1.011604723e-01 4.846462459e-02 $zMin) +(1.023560256e-01 4.913800286e-02 $zMin) +(1.035564236e-01 4.980249228e-02 $zMin) +(1.046353622e-01 5.038915247e-02 $zMin) +(1.055920356e-01 5.090009581e-02 $zMin) +(1.064247127e-01 5.133834998e-02 $zMin) +(1.072593511e-01 5.177243731e-02 $zMin) +(1.080957190e-01 5.220271101e-02 $zMin) +(1.089343947e-01 5.262971906e-02 $zMin) +(1.097737615e-01 5.305387949e-02 $zMin) +(1.106156664e-01 5.347562490e-02 $zMin) +(1.114652993e-01 5.389943205e-02 $zMin) +(1.123246214e-01 5.432558940e-02 $zMin) +(1.131923633e-01 5.475411135e-02 $zMin) +(1.140614895e-01 5.518087429e-02 $zMin) +(1.149310770e-01 5.560582767e-02 $zMin) +(1.158019340e-01 5.602884188e-02 $zMin) +(1.166733666e-01 5.644992406e-02 $zMin) +(1.175459537e-01 5.686895164e-02 $zMin) +(1.184282293e-01 5.729003376e-02 $zMin) +(1.193203090e-01 5.771304797e-02 $zMin) +(1.202225393e-01 5.813787883e-02 $zMin) +(1.211254620e-01 5.856041003e-02 $zMin) +(1.220295380e-01 5.898058384e-02 $zMin) +(1.229347672e-01 5.939846519e-02 $zMin) +(1.238412651e-01 5.981403963e-02 $zMin) +(1.247490318e-01 6.022732156e-02 $zMin) +(1.256670646e-01 6.064271573e-02 $zMin) +(1.265965167e-01 6.106029429e-02 $zMin) +(1.275375030e-01 6.147998508e-02 $zMin) +(1.284784894e-01 6.189731134e-02 $zMin) +(1.294212059e-01 6.231246766e-02 $zMin) +(1.303646142e-01 6.272550449e-02 $zMin) +(1.313092918e-01 6.313642902e-02 $zMin) +(1.322544303e-01 6.354541439e-02 $zMin) +(1.332117961e-01 6.395742751e-02 $zMin) +(1.341811569e-01 6.437246125e-02 $zMin) +(1.351633218e-01 6.479027772e-02 $zMin) +(1.361465246e-01 6.520597468e-02 $zMin) +(1.371305346e-01 6.561937199e-02 $zMin) +(1.381150060e-01 6.603035422e-02 $zMin) +(1.391013232e-01 6.643885651e-02 $zMin) +(1.400883321e-01 6.684464104e-02 $zMin) +(1.410903362e-01 6.725350383e-02 $zMin) +(1.421081422e-01 6.766521416e-02 $zMin) +(1.431410589e-01 6.807994517e-02 $zMin) +(1.441751288e-01 6.849237641e-02 $zMin) +(1.452098905e-01 6.890287562e-02 $zMin) +(1.462445374e-01 6.931180330e-02 $zMin) +(1.472804530e-01 6.971964237e-02 $zMin) +(1.483163685e-01 7.012675334e-02 $zMin) +(1.497647581e-01 7.069521065e-02 $zMin) +(1.516249311e-01 7.142512967e-02 $zMin) +(1.538975780e-01 7.231501084e-02 $zMin) +(1.561719551e-01 7.320113615e-02 $zMin) +(1.584488697e-01 7.408151580e-02 $zMin) +(1.607280914e-01 7.495410240e-02 $zMin) +(1.630110039e-01 7.581688469e-02 $zMin) +(1.652981846e-01 7.666787290e-02 $zMin) +(1.673862790e-01 7.743093924e-02 $zMin) +(1.692736726e-01 7.810842660e-02 $zMin) +(1.709596740e-01 7.870386032e-02 $zMin) +(1.726480975e-01 7.929172444e-02 $zMin) +(1.743390584e-01 7.987245884e-02 $zMin) +(1.760323264e-01 8.044653921e-02 $zMin) +(1.777273246e-01 8.101444862e-02 $zMin) +(1.794248603e-01 8.157661964e-02 $zMin) +(1.811193965e-01 8.213195642e-02 $zMin) +(1.828102425e-01 8.268087713e-02 $zMin) +(1.844980890e-01 8.322345388e-02 $zMin) +(1.861870894e-01 8.376106352e-02 $zMin) +(1.878779348e-01 8.429366287e-02 $zMin) +(1.895706259e-01 8.482111498e-02 $zMin) +(1.912644709e-01 8.534331164e-02 $zMin) +(1.929601609e-01 8.586018084e-02 $zMin) +(1.946541207e-01 8.637046089e-02 $zMin) +(1.963449661e-01 8.687415187e-02 $zMin) +(1.980345434e-01 8.737131140e-02 $zMin) +(1.997248119e-01 8.786320829e-02 $zMin) +(2.014175030e-01 8.834996512e-02 $zMin) +(2.031107710e-01 8.883169728e-02 $zMin) +(2.048064617e-01 8.930853443e-02 $zMin) +(2.065027280e-01 8.978054150e-02 $zMin) +(2.081966884e-01 9.024679574e-02 $zMin) +(2.098881108e-01 9.070742690e-02 $zMin) +(2.115765342e-01 9.116255033e-02 $zMin) +(2.132668027e-01 9.161320412e-02 $zMin) +(2.149576488e-01 9.205938826e-02 $zMin) +(2.166503399e-01 9.250114606e-02 $zMin) +(2.183436079e-01 9.293856400e-02 $zMin) +(2.200381440e-01 9.337155553e-02 $zMin) +(2.217307202e-01 9.379947190e-02 $zMin) +(2.234222581e-01 9.422242842e-02 $zMin) +(2.251112579e-01 9.464048278e-02 $zMin) +(2.268015270e-01 9.505448563e-02 $zMin) +(2.284929493e-01 9.546449464e-02 $zMin) +(2.301850635e-01 9.587063959e-02 $zMin) +(2.318783315e-01 9.627303582e-02 $zMin) +(2.335721765e-01 9.667174101e-02 $zMin) +(2.352648676e-01 9.706633704e-02 $zMin) +(2.369562899e-01 9.745706896e-02 $zMin) +(2.386459821e-01 9.784385034e-02 $zMin) +(2.403368275e-01 9.822725788e-02 $zMin) +(2.420276730e-01 9.860740689e-02 $zMin) +(2.437197877e-01 9.898421089e-02 $zMin) +(2.454130558e-01 9.935782851e-02 $zMin) +(2.471063238e-01 9.972823085e-02 $zMin) +(2.487983224e-01 1.000949998e-01 $zMin) +(2.504898603e-01 1.004583950e-01 $zMin) +(2.521801294e-01 1.008182144e-01 $zMin) +(2.538709748e-01 1.011750781e-01 $zMin) +(2.555623972e-01 1.015288419e-01 $zMin) +(2.572545120e-01 1.018797221e-01 $zMin) +(2.589465106e-01 1.022275600e-01 $zMin) +(2.606397787e-01 1.025724423e-01 $zMin) +(2.623324698e-01 1.029141813e-01 $zMin) +(2.640233158e-01 1.032527195e-01 $zMin) +(2.657141612e-01 1.035881146e-01 $zMin) +(2.674050067e-01 1.039207126e-01 $zMin) +(2.690958527e-01 1.042505999e-01 $zMin) +(2.707879669e-01 1.045777045e-01 $zMin) +(2.724806580e-01 1.049021563e-01 $zMin) +(2.741739260e-01 1.052239406e-01 $zMin) +(2.758659253e-01 1.055428702e-01 $zMin) +(2.775586164e-01 1.058590891e-01 $zMin) +(2.792501542e-01 1.061725253e-01 $zMin) +(2.809421529e-01 1.064834960e-01 $zMin) +(2.826348440e-01 1.067918427e-01 $zMin) +(2.843281120e-01 1.070976661e-01 $zMin) +(2.860213800e-01 1.074010096e-01 $zMin) +(2.877159168e-01 1.077018588e-01 $zMin) +(2.894086079e-01 1.079999974e-01 $zMin) +(2.911000302e-01 1.082953532e-01 $zMin) +(2.927908757e-01 1.085880562e-01 $zMin) +(2.944822980e-01 1.088783224e-01 $zMin) +(2.961738359e-01 1.091662962e-01 $zMin) +(2.978652582e-01 1.094519775e-01 $zMin) +(2.995579493e-01 1.097353663e-01 $zMin) +(3.012506404e-01 1.100165058e-01 $zMin) +(3.029426397e-01 1.102952953e-01 $zMin) +(3.046341776e-01 1.105717778e-01 $zMin) +(3.063250230e-01 1.108459678e-01 $zMin) +(3.080158690e-01 1.111180383e-01 $zMin) +(3.097072914e-01 1.113880615e-01 $zMin) +(3.113994055e-01 1.116560229e-01 $zMin) +(3.130914048e-01 1.119219224e-01 $zMin) +(3.147840959e-01 1.121858900e-01 $zMin) +(3.164762101e-01 1.124477525e-01 $zMin) +(3.181676324e-01 1.127074811e-01 $zMin) +(3.198584785e-01 1.129651623e-01 $zMin) +(3.215493239e-01 1.132208539e-01 $zMin) +(3.232407463e-01 1.134743539e-01 $zMin) +(3.249328610e-01 1.137258064e-01 $zMin) +(3.266249752e-01 1.139750818e-01 $zMin) +(3.283175508e-01 1.142221225e-01 $zMin) +(3.300090887e-01 1.144667986e-01 $zMin) +(3.317005110e-01 1.147090524e-01 $zMin) +(3.333913570e-01 1.149488984e-01 $zMin) +(3.350828943e-01 1.151865671e-01 $zMin) +(3.367743166e-01 1.154219868e-01 $zMin) +(3.384663159e-01 1.156553590e-01 $zMin) +(3.401584307e-01 1.158866118e-01 $zMin) +(3.418505449e-01 1.161158028e-01 $zMin) +(3.435431205e-01 1.163430039e-01 $zMin) +(3.452352352e-01 1.165682155e-01 $zMin) +(3.469273494e-01 1.167913653e-01 $zMin) +(3.486199256e-01 1.170124533e-01 $zMin) +(3.503126167e-01 1.172314938e-01 $zMin) +(3.520058847e-01 1.174484149e-01 $zMin) +(3.536991522e-01 1.176631589e-01 $zMin) +(3.553924202e-01 1.178756681e-01 $zMin) +(3.570851113e-01 1.180858127e-01 $zMin) +(3.587772261e-01 1.182934773e-01 $zMin) +(3.604680715e-01 1.184987918e-01 $zMin) +(3.621594938e-01 1.187019147e-01 $zMin) +(3.638510317e-01 1.189028173e-01 $zMin) +(3.655430310e-01 1.191016580e-01 $zMin) +(3.672351451e-01 1.192984370e-01 $zMin) +(3.689271444e-01 1.194931686e-01 $zMin) +(3.706192586e-01 1.196858960e-01 $zMin) +(3.723106809e-01 1.198765761e-01 $zMin) +(3.740015270e-01 1.200652521e-01 $zMin) +(3.756930642e-01 1.202518806e-01 $zMin) +(3.773844866e-01 1.204363753e-01 $zMin) +(3.790766014e-01 1.206188370e-01 $zMin) +(3.807680237e-01 1.207990495e-01 $zMin) +(3.824607148e-01 1.209769551e-01 $zMin) +(3.841527141e-01 1.211525682e-01 $zMin) +(3.858435595e-01 1.213257735e-01 $zMin) +(3.875350974e-01 1.214966142e-01 $zMin) +(3.892265197e-01 1.216652201e-01 $zMin) +(3.909179421e-01 1.218315767e-01 $zMin) +(3.926100562e-01 1.219958860e-01 $zMin) +(3.943014786e-01 1.221580181e-01 $zMin) +(3.959941703e-01 1.223182182e-01 $zMin) +(3.976855926e-01 1.224763565e-01 $zMin) +(3.993777068e-01 1.226324907e-01 $zMin) +(4.010685522e-01 1.227867073e-01 $zMin) +(4.027599746e-01 1.229388044e-01 $zMin) +(4.044515125e-01 1.230888396e-01 $zMin) +(4.061435117e-01 1.232367555e-01 $zMin) +(4.078350496e-01 1.233823788e-01 $zMin) +(4.095277407e-01 1.235258251e-01 $zMin) +(4.112191630e-01 1.236668490e-01 $zMin) +(4.129105854e-01 1.238055084e-01 $zMin) +(4.146021232e-01 1.239418176e-01 $zMin) +(4.162935456e-01 1.240758343e-01 $zMin) +(4.179849679e-01 1.242077316e-01 $zMin) +(4.196770821e-01 1.243374373e-01 $zMin) +(4.213690814e-01 1.244651101e-01 $zMin) +(4.230611956e-01 1.245907642e-01 $zMin) +(4.247533104e-01 1.247145009e-01 $zMin) +(4.264453090e-01 1.248363487e-01 $zMin) +(4.281380007e-01 1.249562212e-01 $zMin) +(4.298306918e-01 1.250740175e-01 $zMin) +(4.315233829e-01 1.251897088e-01 $zMin) +(4.332166509e-01 1.253030931e-01 $zMin) +(4.349092265e-01 1.254141273e-01 $zMin) +(4.366026095e-01 1.255227393e-01 $zMin) +(4.382951857e-01 1.256287415e-01 $zMin) +(4.399872998e-01 1.257321052e-01 $zMin) +(4.416787222e-01 1.258329025e-01 $zMin) +(4.433702600e-01 1.259313064e-01 $zMin) +(4.450616824e-01 1.260273314e-01 $zMin) +(4.467537972e-01 1.261212512e-01 $zMin) +(4.484452195e-01 1.262129939e-01 $zMin) +(4.501372182e-01 1.263027902e-01 $zMin) +(4.518293330e-01 1.263907265e-01 $zMin) +(4.535207553e-01 1.264767740e-01 $zMin) +(4.552122932e-01 1.265609616e-01 $zMin) +(4.569037155e-01 1.266431451e-01 $zMin) +(4.585951379e-01 1.267231514e-01 $zMin) +(4.602872521e-01 1.268009229e-01 $zMin) +(4.619786744e-01 1.268762722e-01 $zMin) +(4.636707892e-01 1.269490839e-01 $zMin) +(4.653126131e-01 1.270172385e-01 $zMin) +(4.669036847e-01 1.270807937e-01 $zMin) +(4.684451584e-01 1.271401244e-01 $zMin) +(4.699860553e-01 1.271971482e-01 $zMin) +(4.715275290e-01 1.272520525e-01 $zMin) +(4.727346166e-01 1.272935336e-01 $zMin) +(4.733841255e-01 1.273153771e-01 $zMin) +(4.739967241e-01 1.273355769e-01 $zMin) +(4.746093227e-01 1.273554595e-01 $zMin) +(4.752213443e-01 1.273750538e-01 $zMin) +(4.758339429e-01 1.273942876e-01 $zMin) +(4.764465415e-01 1.274132763e-01 $zMin) +(4.770585631e-01 1.274319046e-01 $zMin) +(4.776711617e-01 1.274502301e-01 $zMin) +(4.782837603e-01 1.274682527e-01 $zMin) +(4.790681078e-01 1.274908604e-01 $zMin) +(4.800247811e-01 1.275178367e-01 $zMin) +(4.811532033e-01 1.275486772e-01 $zMin) +(4.822816255e-01 1.275784939e-01 $zMin) +(4.834101633e-01 1.276072870e-01 $zMin) +(4.845385855e-01 1.276350419e-01 $zMin) +(4.856670077e-01 1.276617732e-01 $zMin) +(4.867954300e-01 1.276874086e-01 $zMin) +(4.879245446e-01 1.277120782e-01 $zMin) +(4.890529669e-01 1.277357239e-01 $zMin) +(4.901813891e-01 1.277582883e-01 $zMin) +(4.913105037e-01 1.277797569e-01 $zMin) +(4.924389260e-01 1.278002596e-01 $zMin) +(4.935667719e-01 1.278196664e-01 $zMin) +(4.946946172e-01 1.278379919e-01 $zMin) +(4.958224631e-01 1.278552792e-01 $zMin) +(4.969497315e-01 1.278714852e-01 $zMin) +(4.980774619e-01 1.278866098e-01 $zMin) +(4.992053078e-01 1.279006964e-01 $zMin) +(5.003331531e-01 1.279137016e-01 $zMin) +(5.014609990e-01 1.279255533e-01 $zMin) +(5.025888443e-01 1.279363813e-01 $zMin) +(5.037166903e-01 1.279460559e-01 $zMin) +(5.048445356e-01 1.279546491e-01 $zMin) +(5.059723815e-01 1.279621465e-01 $zMin) +(5.071002268e-01 1.279684906e-01 $zMin) +(5.082280727e-01 1.279737532e-01 $zMin) +(5.093559180e-01 1.279778624e-01 $zMin) +(5.104831870e-01 1.279808325e-01 $zMin) +(5.116110323e-01 1.279825771e-01 $zMin) +(5.127388782e-01 1.279832403e-01 $zMin) +(5.138667235e-01 1.279827068e-01 $zMin) +(5.149945694e-01 1.279810055e-01 $zMin) +(5.161224147e-01 1.279781075e-01 $zMin) +(5.172502606e-01 1.279739983e-01 $zMin) +(5.183781060e-01 1.279686780e-01 $zMin) +(5.195059519e-01 1.279621465e-01 $zMin) +(5.206337972e-01 1.279544040e-01 $zMin) +(5.217616431e-01 1.279453927e-01 $zMin) +(5.228894884e-01 1.279352279e-01 $zMin) +(5.240173343e-01 1.279237943e-01 $zMin) +(5.251451796e-01 1.279112217e-01 $zMin) +(5.262723331e-01 1.278974379e-01 $zMin) +(5.274001790e-01 1.278825584e-01 $zMin) +(5.285280243e-01 1.278664677e-01 $zMin) +(5.296558702e-01 1.278492380e-01 $zMin) +(5.307837155e-01 1.278308549e-01 $zMin) +(5.319115614e-01 1.278113759e-01 $zMin) +(5.330394067e-01 1.277907580e-01 $zMin) +(5.341666757e-01 1.277690442e-01 $zMin) +(5.352950980e-01 1.277461915e-01 $zMin) +(5.364229439e-01 1.277221132e-01 $zMin) +(5.375507892e-01 1.276968958e-01 $zMin) +(5.386786351e-01 1.276704097e-01 $zMin) +(5.398064804e-01 1.276427124e-01 $zMin) +(5.409343263e-01 1.276136309e-01 $zMin) +(5.420621716e-01 1.275833384e-01 $zMin) +(5.431894406e-01 1.275515896e-01 $zMin) +(5.443172865e-01 1.275184423e-01 $zMin) +(5.454444400e-01 1.274838532e-01 $zMin) +(5.465722853e-01 1.274478655e-01 $zMin) +(5.477001312e-01 1.274103783e-01 $zMin) +(5.488285535e-01 1.273713772e-01 $zMin) +(5.499563988e-01 1.273309198e-01 $zMin) +(5.510842447e-01 1.272890639e-01 $zMin) +(5.522120900e-01 1.272457662e-01 $zMin) +(5.533399359e-01 1.272010699e-01 $zMin) +(5.544677812e-01 1.271550616e-01 $zMin) +(5.555956271e-01 1.271076403e-01 $zMin) +(5.567228961e-01 1.270589069e-01 $zMin) +(5.578507414e-01 1.270088904e-01 $zMin) +(5.589785873e-01 1.269576050e-01 $zMin) +(5.601064326e-01 1.269049932e-01 $zMin) +(5.612348549e-01 1.268510549e-01 $zMin) +(5.623639695e-01 1.267959054e-01 $zMin) +(5.634923918e-01 1.267392997e-01 $zMin) +(5.646213909e-01 1.266813676e-01 $zMin) +(5.657498131e-01 1.266220369e-01 $zMin) +(5.668789278e-01 1.265611346e-01 $zMin) +(5.680073500e-01 1.264987328e-01 $zMin) +(5.691357723e-01 1.264348028e-01 $zMin) +(5.702643100e-01 1.263692002e-01 $zMin) +(5.713927322e-01 1.263019395e-01 $zMin) +(5.725205781e-01 1.262329486e-01 $zMin) +(5.736490004e-01 1.261621843e-01 $zMin) +(5.747768457e-01 1.260896178e-01 $zMin) +(5.759052679e-01 1.260151768e-01 $zMin) +(5.770336901e-01 1.259389769e-01 $zMin) +(5.781615360e-01 1.258609747e-01 $zMin) +(5.792900738e-01 1.257810837e-01 $zMin) +(5.804179191e-01 1.256994481e-01 $zMin) +(5.815450726e-01 1.256159815e-01 $zMin) +(5.826729185e-01 1.255307846e-01 $zMin) +(5.838001875e-01 1.254436989e-01 $zMin) +(5.849280328e-01 1.253547966e-01 $zMin) +(5.860553018e-01 1.252641497e-01 $zMin) +(5.871824552e-01 1.251716284e-01 $zMin) +(5.883109930e-01 1.250772904e-01 $zMin) +(5.894394152e-01 1.249810060e-01 $zMin) +(5.905678374e-01 1.248829193e-01 $zMin) +(5.916956834e-01 1.247830159e-01 $zMin) +(5.928241056e-01 1.246811805e-01 $zMin) +(5.939519515e-01 1.245774707e-01 $zMin) +(5.950797968e-01 1.244718722e-01 $zMin) +(5.962070658e-01 1.243642983e-01 $zMin) +(5.973343348e-01 1.242548357e-01 $zMin) +(5.984614883e-01 1.241433834e-01 $zMin) +(5.995887573e-01 1.240299270e-01 $zMin) +(6.007160256e-01 1.239144952e-01 $zMin) +(6.018444485e-01 1.237968719e-01 $zMin) +(6.029728707e-01 1.236771291e-01 $zMin) +(6.041019848e-01 1.235552670e-01 $zMin) +(6.052304076e-01 1.234314150e-01 $zMin) +(6.063582529e-01 1.233053859e-01 $zMin) +(6.074866751e-01 1.231772518e-01 $zMin) +(6.086139441e-01 1.230469261e-01 $zMin) +(6.097417894e-01 1.229144233e-01 $zMin) +(6.108683666e-01 1.227797577e-01 $zMin) +(6.119956356e-01 1.226427853e-01 $zMin) +(6.131223276e-01 1.225036213e-01 $zMin) +(6.142500581e-01 1.223619917e-01 $zMin) +(6.153785958e-01 1.222179544e-01 $zMin) +(6.165081713e-01 1.220712353e-01 $zMin) +(6.176372859e-01 1.219220506e-01 $zMin) +(6.187662845e-01 1.217702563e-01 $zMin) +(6.198953991e-01 1.216156793e-01 $zMin) +(6.210232450e-01 1.214582042e-01 $zMin) +(6.221510903e-01 1.212978311e-01 $zMin) +(6.232782438e-01 1.211344302e-01 $zMin) +(6.244049359e-01 1.209678285e-01 $zMin) +(6.255309361e-01 1.207978961e-01 $zMin) +(6.266569364e-01 1.206246331e-01 $zMin) +(6.277842054e-01 1.204475061e-01 $zMin) +(6.289138963e-01 1.202663276e-01 $zMin) +(6.300447406e-01 1.200812129e-01 $zMin) +(6.311755854e-01 1.198925370e-01 $zMin) +(6.323052764e-01 1.197002853e-01 $zMin) +(6.334349673e-01 1.195044724e-01 $zMin) +(6.345633902e-01 1.193052136e-01 $zMin) +(6.356918124e-01 1.191025087e-01 $zMin) +(6.368196577e-01 1.188964012e-01 $zMin) +(6.379462349e-01 1.186868622e-01 $zMin) +(6.390729269e-01 1.184739926e-01 $zMin) +(6.401995035e-01 1.182578068e-01 $zMin) +(6.413291951e-01 1.180374974e-01 $zMin) +(6.424631537e-01 1.178128338e-01 $zMin) +(6.436005727e-01 1.175828498e-01 $zMin) +(6.447363776e-01 1.173473581e-01 $zMin) +(6.458713746e-01 1.171053494e-01 $zMin) +(6.470040645e-01 1.168555261e-01 $zMin) +(6.481350242e-01 1.165969942e-01 $zMin) +(6.492634470e-01 1.163286147e-01 $zMin) +(6.503894467e-01 1.160492197e-01 $zMin) +(6.515118711e-01 1.157578000e-01 $zMin) +(6.526311811e-01 1.154531877e-01 $zMin) +(6.537463389e-01 1.151343734e-01 $zMin) +(6.541569678e-01 1.150131168e-01 $zMin) +(6.584814913e-01 1.135819998e-01 $zMin) +(6.586550859e-01 1.135183292e-01 $zMin) +(6.588854300e-01 1.134328151e-01 $zMin) +(6.591817519e-01 1.133216656e-01 $zMin) +(6.594769201e-01 1.132091175e-01 $zMin) +(6.597719733e-01 1.130952429e-01 $zMin) +(6.600658732e-01 1.129799265e-01 $zMin) +(6.603597726e-01 1.128632116e-01 $zMin) +(6.606530957e-01 1.127450404e-01 $zMin) +(6.609451500e-01 1.126254274e-01 $zMin) +(6.612373192e-01 1.125044158e-01 $zMin) +(6.615287966e-01 1.123818904e-01 $zMin) +(6.618190052e-01 1.122579808e-01 $zMin) +(6.621093293e-01 1.121325572e-01 $zMin) +(6.623983841e-01 1.120056198e-01 $zMin) +(6.626868626e-01 1.118771829e-01 $zMin) +(6.629747642e-01 1.117472177e-01 $zMin) +(6.632619739e-01 1.116158106e-01 $zMin) +(6.635480298e-01 1.114827599e-01 $zMin) +(6.638333944e-01 1.113482097e-01 $zMin) +(6.641188734e-01 1.112121456e-01 $zMin) +(6.644025073e-01 1.110744379e-01 $zMin) +(6.646861411e-01 1.109351729e-01 $zMin) +(6.649685063e-01 1.107943219e-01 $zMin) +(6.652497182e-01 1.106519138e-01 $zMin) +(6.655309301e-01 1.105078044e-01 $zMin) +(6.657891878e-01 1.103732398e-01 $zMin) +(6.660262222e-01 1.102486093e-01 $zMin) +(6.662408799e-01 1.101341291e-01 $zMin) +(6.664549607e-01 1.100187406e-01 $zMin) +(6.666690409e-01 1.099024006e-01 $zMin) +(6.668825454e-01 1.097851954e-01 $zMin) +(6.670954723e-01 1.096670242e-01 $zMin) +(6.673077074e-01 1.095480168e-01 $zMin) +(6.675193662e-01 1.094281587e-01 $zMin) +(6.677310244e-01 1.093074499e-01 $zMin) +(6.679414145e-01 1.091859626e-01 $zMin) +(6.681524964e-01 1.090636245e-01 $zMin) +(6.683623089e-01 1.089404935e-01 $zMin) +(6.685715451e-01 1.088165839e-01 $zMin) +(6.687807813e-01 1.086919389e-01 $zMin) +(6.689894412e-01 1.085665154e-01 $zMin) +(6.691981005e-01 1.084404287e-01 $zMin) +(6.694054910e-01 1.083136210e-01 $zMin) +(6.696135740e-01 1.081860781e-01 $zMin) +(6.698203882e-01 1.080578719e-01 $zMin) +(6.700266255e-01 1.079290601e-01 $zMin) +(6.702334392e-01 1.077995274e-01 $zMin) +(6.704389846e-01 1.076694468e-01 $zMin) +(6.706446450e-01 1.075387030e-01 $zMin) +(6.708490366e-01 1.074074113e-01 $zMin) +(6.710540052e-01 1.072755140e-01 $zMin) +(6.712615112e-01 1.071409062e-01 $zMin) +(6.714725931e-01 1.070035012e-01 $zMin) +(6.716859815e-01 1.068633278e-01 $zMin) +(6.718994860e-01 1.067225490e-01 $zMin) +(6.721122974e-01 1.065812223e-01 $zMin) +(6.723246480e-01 1.064392900e-01 $zMin) +(6.725368832e-01 1.062968675e-01 $zMin) +(6.727485420e-01 1.061538394e-01 $zMin) +(6.729602002e-01 1.060102778e-01 $zMin) +(6.731712821e-01 1.058662261e-01 $zMin) +(6.733816721e-01 1.057216408e-01 $zMin) +(6.735921771e-01 1.055764933e-01 $zMin) +(6.738019896e-01 1.054308699e-01 $zMin) +(6.740112258e-01 1.052847708e-01 $zMin) +(6.742204620e-01 1.051381237e-01 $zMin) +(6.744296988e-01 1.049909865e-01 $zMin) +(6.746383581e-01 1.048434311e-01 $zMin) +(6.748464411e-01 1.046953855e-01 $zMin) +(6.750544086e-01 1.045468641e-01 $zMin) +(6.752617991e-01 1.043979246e-01 $zMin) +(6.754693052e-01 1.042484805e-01 $zMin) +(6.756761188e-01 1.040986326e-01 $zMin) +(6.758829330e-01 1.039483522e-01 $zMin) +(6.760891703e-01 1.037976536e-01 $zMin) +(6.762947158e-01 1.036465226e-01 $zMin) +(6.765003761e-01 1.034949733e-01 $zMin) +(6.767083436e-01 1.033411317e-01 $zMin) +(6.769188486e-01 1.031849254e-01 $zMin) +(6.771316606e-01 1.030263690e-01 $zMin) +(6.773440112e-01 1.028673800e-01 $zMin) +(6.775556694e-01 1.027079729e-01 $zMin) +(6.777679046e-01 1.025481909e-01 $zMin) +(6.779789865e-01 1.023880629e-01 $zMin) +(6.781899528e-01 1.022275024e-01 $zMin) +(6.784010347e-01 1.020666390e-01 $zMin) +(6.786115397e-01 1.019053575e-01 $zMin) +(6.788219291e-01 1.017437157e-01 $zMin) +(6.790318578e-01 1.015816989e-01 $zMin) +(6.792416709e-01 1.014193937e-01 $zMin) +(6.794514834e-01 1.012567137e-01 $zMin) +(6.796607196e-01 1.010936732e-01 $zMin) +(6.798693795e-01 1.009303877e-01 $zMin) +(6.800786157e-01 1.007667560e-01 $zMin) +(6.802872750e-01 1.006028072e-01 $zMin) +(6.804952425e-01 1.004385556e-01 $zMin) +(6.807033255e-01 1.002740012e-01 $zMin) +(6.809112929e-01 1.001091585e-01 $zMin) +(6.811187990e-01 9.994399851e-02 $zMin) +(6.813261895e-01 9.977866560e-02 $zMin) +(6.815330037e-01 9.961295775e-02 $zMin) +(6.817403943e-01 9.944707688e-02 $zMin) +(6.819472079e-01 9.928090767e-02 $zMin) +(6.821178036e-01 9.914325758e-02 $zMin) +(6.822532190e-01 9.903422752e-02 $zMin) +(6.823524159e-01 9.895391838e-02 $zMin) +(6.824516128e-01 9.887355160e-02 $zMin) +(6.825508097e-01 9.879317037e-02 $zMin) +(6.826500067e-01 9.871268827e-02 $zMin) +(6.827490881e-01 9.863219172e-02 $zMin) +(6.828489774e-01 9.855163748e-02 $zMin) +(6.829480588e-01 9.847102560e-02 $zMin) +(6.830466788e-01 9.839035603e-02 $zMin) +(6.831458757e-01 9.830962877e-02 $zMin) +(6.832450726e-01 9.822882948e-02 $zMin) +(6.833435776e-01 9.814804453e-02 $zMin) +(6.834427746e-01 9.806718755e-02 $zMin) +(6.835413945e-01 9.798627288e-02 $zMin) +(6.836404759e-01 9.790535821e-02 $zMin) +(6.837390965e-01 9.782432815e-02 $zMin) +(6.838382934e-01 9.774328376e-02 $zMin) +(6.839369134e-01 9.766219608e-02 $zMin) +(6.840354179e-01 9.758103624e-02 $zMin) +(6.841340385e-01 9.749987647e-02 $zMin) +(6.842325429e-01 9.741865900e-02 $zMin) +(6.843311635e-01 9.733738391e-02 $zMin) +(6.844296680e-01 9.725610875e-02 $zMin) +(6.844872254e-01 9.720870188e-02 $zMin) +(6.851971753e-01 9.662119100e-02 $zMin) +(6.857995077e-01 9.611991505e-02 $zMin) +(6.864005721e-01 9.561744245e-02 $zMin) +(6.870010595e-01 9.511398937e-02 $zMin) +(6.876294600e-01 9.458611196e-02 $zMin) +(6.882843904e-01 9.403381013e-02 $zMin) +(6.889671184e-01 9.345699754e-02 $zMin) +(6.896486938e-01 9.287940628e-02 $zMin) +(6.903301530e-01 9.230103654e-02 $zMin) +(6.910104590e-01 9.172200347e-02 $zMin) +(6.916901887e-01 9.114229283e-02 $zMin) +(6.923699178e-01 9.056198375e-02 $zMin) +(6.930490705e-01 8.998101151e-02 $zMin) +(6.937282233e-01 8.939943368e-02 $zMin) +(6.944066842e-01 8.881748817e-02 $zMin) +(6.950858370e-01 8.823548502e-02 $zMin) +(6.957649891e-01 8.765372698e-02 $zMin) +(6.964441419e-01 8.707244468e-02 $zMin) +(6.971244485e-01 8.649183287e-02 $zMin) +(6.978053308e-01 8.591207174e-02 $zMin) +(6.986060577e-01 8.523282537e-02 $zMin) +(6.995270894e-01 8.445488669e-02 $zMin) +(7.005702715e-01 8.357909926e-02 $zMin) +(7.016146069e-01 8.270573405e-02 $zMin) +(7.026614804e-01 8.183442340e-02 $zMin) +(7.037095071e-01 8.096479973e-02 $zMin) +(7.047581108e-01 8.009639437e-02 $zMin) +(7.058079826e-01 7.922895503e-02 $zMin) +(7.070264895e-01 7.822338977e-02 $zMin) +(7.084137470e-01 7.707964092e-02 $zMin) +(7.099697539e-01 7.579880432e-02 $zMin) +(7.115281834e-01 7.452086571e-02 $zMin) +(7.130908805e-01 7.324715888e-02 $zMin) +(7.146571529e-01 7.197883003e-02 $zMin) +(7.162282704e-01 7.071721996e-02 $zMin) +(7.178065391e-01 6.946359043e-02 $zMin) +(7.192882638e-01 6.829988687e-02 $zMin) +(7.206736750e-01 6.722526586e-02 $zMin) +(7.219605818e-01 6.623802608e-02 $zMin) +(7.232523331e-01 6.525731775e-02 $zMin) +(7.245488135e-01 6.428301822e-02 $zMin) +(7.258508303e-01 6.331506999e-02 $zMin) +(7.271565385e-01 6.235328546e-02 $zMin) +(7.284675520e-01 6.139755650e-02 $zMin) +(7.297701457e-01 6.045627463e-02 $zMin) +(7.310661647e-01 5.952920902e-02 $zMin) +(7.323536478e-01 5.861641015e-02 $zMin) +(7.336453991e-01 5.770965973e-02 $zMin) +(7.349413026e-01 5.680926048e-02 $zMin) +(7.362421662e-01 5.591539268e-02 $zMin) +(7.375471819e-01 5.502848157e-02 $zMin) +(7.388576191e-01 5.414864262e-02 $zMin) +(7.401602129e-01 5.328471410e-02 $zMin) +(7.414543862e-01 5.243662393e-02 $zMin) +(7.427412929e-01 5.160431442e-02 $zMin) +(7.440330443e-01 5.077945188e-02 $zMin) +(7.453295247e-01 4.996225981e-02 $zMin) +(7.466303876e-01 4.915275981e-02 $zMin) +(7.479365572e-01 4.835105281e-02 $zMin) +(7.492476863e-01 4.755726864e-02 $zMin) +(7.505515487e-01 4.677866675e-02 $zMin) +(7.518474522e-01 4.601517503e-02 $zMin) +(7.531362046e-01 4.526662780e-02 $zMin) +(7.544296861e-01 4.452588076e-02 $zMin) +(7.557275502e-01 4.379311419e-02 $zMin) +(7.570294521e-01 4.306839292e-02 $zMin) +(7.583363135e-01 4.235171700e-02 $zMin) +(7.596474425e-01 4.164320176e-02 $zMin) +(7.609513050e-01 4.094919837e-02 $zMin) +(7.622477854e-01 4.026953382e-02 $zMin) +(7.635365373e-01 3.960395587e-02 $zMin) +(7.648294418e-01 3.894648085e-02 $zMin) +(7.661260377e-01 3.829698635e-02 $zMin) +(7.674274776e-01 3.765565967e-02 $zMin) +(7.687318015e-01 3.702255856e-02 $zMin) +(7.700410855e-01 3.639761812e-02 $zMin) +(7.713436792e-01 3.578567570e-02 $zMin) +(7.726402746e-01 3.518662302e-02 $zMin) +(7.739301802e-01 3.460014304e-02 $zMin) +(7.752243535e-01 3.402165072e-02 $zMin) +(7.765215264e-01 3.345101623e-02 $zMin) +(7.778222744e-01 3.288836226e-02 $zMin) +(7.791261363e-01 3.233357331e-02 $zMin) +(7.804335746e-01 3.178670720e-02 $zMin) +(7.817361684e-01 3.125090701e-02 $zMin) +(7.830346093e-01 3.072599252e-02 $zMin) +(7.843275139e-01 3.021171863e-02 $zMin) +(7.856235329e-01 2.970483044e-02 $zMin) +(7.869224359e-01 2.920513330e-02 $zMin) +(7.882238758e-01 2.871254071e-02 $zMin) +(7.895283152e-01 2.822694092e-02 $zMin) +(7.908351766e-01 2.774821498e-02 $zMin) +(7.921377697e-01 2.727866981e-02 $zMin) +(7.934355189e-01 2.681811074e-02 $zMin) +(7.947291159e-01 2.636640082e-02 $zMin) +(7.960244424e-01 2.592109976e-02 $zMin) +(7.973221916e-01 2.548221840e-02 $zMin) +(7.986223633e-01 2.504972066e-02 $zMin) +(7.999243801e-01 2.462362098e-02 $zMin) +(8.012288189e-01 2.420388692e-02 $zMin) +(8.025295670e-01 2.379211889e-02 $zMin) +(8.038274317e-01 2.338821956e-02 $zMin) +(8.051221819e-01 2.299198709e-02 $zMin) +(8.064186623e-01 2.260165524e-02 $zMin) +(8.077165270e-01 2.221708345e-02 $zMin) +(8.090166981e-01 2.183812032e-02 $zMin) +(8.103181380e-01 2.146461086e-02 $zMin) +(8.116207317e-01 2.109641448e-02 $zMin) +(8.129214798e-01 2.073440710e-02 $zMin) +(8.142199214e-01 2.037844092e-02 $zMin) +(8.155152479e-01 2.002839700e-02 $zMin) +(8.168124202e-01 1.968319758e-02 $zMin) +(8.181107463e-01 1.934281382e-02 $zMin) +(8.194103411e-01 1.900720247e-02 $zMin) +(8.207105122e-01 1.867631668e-02 $zMin) +(8.220125290e-01 1.835013119e-02 $zMin) +(8.233133926e-01 1.802923357e-02 $zMin) +(8.246122950e-01 1.771355172e-02 $zMin) +(8.259094678e-01 1.740297388e-02 $zMin) +(8.272084857e-01 1.709678638e-02 $zMin) +(8.285080799e-01 1.679490630e-02 $zMin) +(8.298089435e-01 1.649723993e-02 $zMin) +(8.311102685e-01 1.620369354e-02 $zMin) +(8.324122853e-01 1.591418423e-02 $zMin) +(8.337131489e-01 1.562919502e-02 $zMin) +(8.350120513e-01 1.534860695e-02 $zMin) +(8.363092235e-01 1.507229025e-02 $zMin) +(8.376070882e-01 1.479956368e-02 $zMin) +(8.389054142e-01 1.453030828e-02 $zMin) +(8.402050085e-01 1.426441590e-02 $zMin) +(8.415046033e-01 1.400177843e-02 $zMin) +(8.428053514e-01 1.374226970e-02 $zMin) +(8.441049462e-01 1.348609517e-02 $zMin) +(8.454033872e-01 1.323314309e-02 $zMin) +(8.467005594e-01 1.298336301e-02 $zMin) +(8.479988855e-01 1.273640527e-02 $zMin) +(8.492973264e-01 1.249224106e-02 $zMin) +(8.505962294e-01 1.225083792e-02 $zMin) +(8.518958237e-01 1.201216703e-02 $zMin) +(8.531959954e-01 1.177618512e-02 $zMin) +(8.544955902e-01 1.154302556e-02 $zMin) +(8.557951844e-01 1.131264871e-02 $zMin) +(8.570942023e-01 1.108500770e-02 $zMin) +(8.583937972e-01 1.085991509e-02 $zMin) +(8.596933920e-01 1.063734207e-02 $zMin) +(8.609935631e-01 1.041725256e-02 $zMin) +(8.622944267e-01 1.019959252e-02 $zMin) +(8.635951748e-01 9.984347521e-03 $zMin) +(8.648953459e-01 9.771690572e-03 $zMin) +(8.661943638e-01 9.561585643e-03 $zMin) +(8.674921130e-01 9.353971450e-03 $zMin) +(8.687905545e-01 9.148559627e-03 $zMin) +(8.700894569e-01 8.945274480e-03 $zMin) +(8.713884748e-01 8.744083575e-03 $zMin) +(8.726874927e-01 8.544911206e-03 $zMin) +(8.739876639e-01 8.347699710e-03 $zMin) +(8.752866818e-01 8.152506755e-03 $zMin) +(8.765850079e-01 7.959274667e-03 $zMin) +(8.778834488e-01 7.767971009e-03 $zMin) +(8.791817749e-01 7.578469618e-03 $zMin) +(8.804807928e-01 7.390741661e-03 $zMin) +(8.817791189e-01 7.204765506e-03 $zMin) +(8.830787131e-01 7.020523137e-03 $zMin) +(8.843783079e-01 6.838007342e-03 $zMin) +(8.856773258e-01 6.657261375e-03 $zMin) +(8.869756519e-01 6.478288843e-03 $zMin) +(8.882740929e-01 6.301118578e-03 $zMin) +(8.895724190e-01 6.125692906e-03 $zMin) +(8.908708599e-01 5.952055092e-03 $zMin) +(8.921697623e-01 5.780255588e-03 $zMin) +(8.934693572e-01 5.610323234e-03 $zMin) +(8.947683751e-01 5.442304892e-03 $zMin) +(8.960679699e-01 5.276276258e-03 $zMin) +(8.973675641e-01 5.112262554e-03 $zMin) +(8.986665820e-01 4.950260190e-03 $zMin) +(8.999667537e-01 4.790225901e-03 $zMin) +(9.012663486e-01 4.632145271e-03 $zMin) +(9.025665197e-01 4.476003882e-03 $zMin) +(9.038666909e-01 4.321794527e-03 $zMin) +(9.051675544e-01 4.169502782e-03 $zMin) +(9.064671493e-01 4.019222375e-03 $zMin) +(9.077660516e-01 3.870971317e-03 $zMin) +(9.090644926e-01 3.724821710e-03 $zMin) +(9.103628187e-01 3.580748313e-03 $zMin) +(9.116618366e-01 3.438870083e-03 $zMin) +(9.129608545e-01 3.299280739e-03 $zMin) +(9.142597569e-01 3.162081199e-03 $zMin) +(9.155587748e-01 3.027368789e-03 $zMin) +(9.168583696e-01 2.895330945e-03 $zMin) +(9.181566957e-01 2.766043366e-03 $zMin) +(9.194545597e-01 2.639592562e-03 $zMin) +(9.207528858e-01 2.515964109e-03 $zMin) +(9.220519037e-01 2.395258932e-03 $zMin) +(9.233508061e-01 2.277520295e-03 $zMin) +(9.246498240e-01 2.162838304e-03 $zMin) +(9.259494188e-01 2.051274244e-03 $zMin) +(9.272490137e-01 1.942936242e-03 $zMin) +(9.285486085e-01 1.837892785e-03 $zMin) +(9.298476264e-01 1.736205158e-03 $zMin) +(9.311472206e-01 1.637927419e-03 $zMin) +(9.324473924e-01 1.543124462e-03 $zMin) +(9.337475635e-01 1.451861157e-03 $zMin) +(9.350477346e-01 1.364216806e-03 $zMin) +(9.363485982e-01 1.280259906e-03 $zMin) +(9.376481930e-01 1.200109392e-03 $zMin) +(9.389477879e-01 1.123819340e-03 $zMin) +(9.402461133e-01 1.051382535e-03 $zMin) +(9.415445549e-01 9.827088716e-04 $zMin) +(9.428428804e-01 9.177947448e-04 $zMin) +(9.441418983e-01 8.566077044e-04 $zMin) +(9.454414931e-01 7.991405539e-04 $zMin) +(9.467403955e-01 7.453680515e-04 $zMin) +(9.480394134e-01 6.952829947e-04 $zMin) +(9.493384313e-01 6.488601415e-04 $zMin) +(9.506367574e-01 6.060166001e-04 $zMin) +(9.519357753e-01 5.666550435e-04 $zMin) +(9.532341014e-01 5.306889635e-04 $zMin) +(9.545331193e-01 4.980390542e-04 $zMin) +(9.558321372e-01 4.686080007e-04 $zMin) +(9.571311551e-01 4.423201016e-04 $zMin) +(9.584300575e-01 4.190852504e-04 $zMin) +(9.597290754e-01 3.987700714e-04 $zMin) +(9.610280933e-01 3.810105104e-04 $zMin) +(9.623264193e-01 3.653776306e-04 $zMin) +(9.636254372e-01 3.514749214e-04 $zMin) +(9.649244551e-01 3.388770622e-04 $zMin) +(9.662233575e-01 3.271695210e-04 $zMin) +(9.675217985e-01 3.159449927e-04 $zMin) +(9.688213933e-01 3.047889453e-04 $zMin) +(9.701209881e-01 2.933481374e-04 $zMin) +(9.714211593e-01 2.816261792e-04 $zMin) +(9.727207541e-01 2.697023706e-04 $zMin) +(9.740209253e-01 2.576415820e-04 $zMin) +(9.753210970e-01 2.455303338e-04 $zMin) +(9.766206912e-01 2.334226899e-04 $zMin) +(9.779208630e-01 2.214015542e-04 $zMin) +(9.792204572e-01 2.095462264e-04 $zMin) +(9.805194751e-01 1.978747339e-04 $zMin) +(9.818184930e-01 1.862212627e-04 $zMin) +(9.831173960e-01 1.743803520e-04 $zMin) +(9.844158370e-01 1.621285256e-04 $zMin) +(9.857147394e-01 1.492675375e-04 $zMin) +(9.870137573e-01 1.355558720e-04 $zMin) +(9.883127752e-01 1.208097061e-04 $zMin) +(9.896111012e-01 1.048019533e-04 $zMin) +(9.909101191e-01 8.750377358e-05 $zMin) +(9.922091370e-01 6.962887034e-05 $zMin) +(9.935074631e-01 5.206034712e-05 $zMin) +(9.948064810e-01 3.569213836e-05 $zMin) +(9.961054989e-01 2.141095791e-05 $zMin) +(9.974038244e-01 1.011073416e-05 $zMin) +(9.987028423e-01 2.678174891e-06 $zMin) +(9.997102679e-01 1.369738752e-07 $zMin) +(1.000000000e+00 0.000000000e+00 $zMin) diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/geometry/polyLine_6to10 b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/geometry/polyLine_6to10 new file mode 100644 index 0000000000..aecbc5bcf0 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/geometry/polyLine_6to10 @@ -0,0 +1,337 @@ +(-0.5712197653E+00 0.9090500000E+00 $zMax) +(-0.5612197653E+00 0.9090494865E+00 $zMax) +(-0.5512197653E+00 0.9090442565E+00 $zMax) +(-0.5412197653E+00 0.9090390265E+00 $zMax) +(-0.5312197653E+00 0.9090337965E+00 $zMax) +(-0.5212197653E+00 0.9090285665E+00 $zMax) +(-0.5112197653E+00 0.9087875322E+00 $zMax) +(-0.5012197653E+00 0.9084711464E+00 $zMax) +(-0.4912197653E+00 0.9081547605E+00 $zMax) +(-0.4812197653E+00 0.9078383747E+00 $zMax) +(-0.4712197653E+00 0.9071265719E+00 $zMax) +(-0.4612197653E+00 0.9062214906E+00 $zMax) +(-0.4512197653E+00 0.9053164093E+00 $zMax) +(-0.4412197653E+00 0.9044113280E+00 $zMax) +(-0.4312197653E+00 0.9031820514E+00 $zMax) +(-0.4212197653E+00 0.9018889231E+00 $zMax) +(-0.4112197653E+00 0.9005957947E+00 $zMax) +(-0.4012197653E+00 0.8992986922E+00 $zMax) +(-0.3912197653E+00 0.8979887049E+00 $zMax) +(-0.3812197653E+00 0.8966787176E+00 $zMax) +(-0.3712197653E+00 0.8953687304E+00 $zMax) +(-0.3612197653E+00 0.8943181057E+00 $zMax) +(-0.3512197653E+00 0.8933150515E+00 $zMax) +(-0.3412197653E+00 0.8923119973E+00 $zMax) +(-0.3312197653E+00 0.8915953230E+00 $zMax) +(-0.3212197653E+00 0.8910400150E+00 $zMax) +(-0.3112197653E+00 0.8904847069E+00 $zMax) +(-0.3012197653E+00 0.8901923110E+00 $zMax) +(-0.2912197653E+00 0.8900684354E+00 $zMax) +(-0.2812197653E+00 0.8899445598E+00 $zMax) +(-0.2712197653E+00 0.8898859000E+00 $zMax) +(-0.2612197653E+00 0.8898489704E+00 $zMax) +(-0.2512197653E+00 0.8898119735E+00 $zMax) +(-0.2412197653E+00 0.8897738397E+00 $zMax) +(-0.2312197653E+00 0.8897357059E+00 $zMax) +(-0.2212197653E+00 0.8896982425E+00 $zMax) +(-0.2112197653E+00 0.8896614044E+00 $zMax) +(-0.2012197653E+00 0.8896250243E+00 $zMax) +(-0.1912197653E+00 0.8895918268E+00 $zMax) +(-0.1812197653E+00 0.8895586292E+00 $zMax) +(-0.1712197653E+00 0.8895333538E+00 $zMax) +(-0.1612197653E+00 0.8895092349E+00 $zMax) +(-0.1512197653E+00 0.8894874545E+00 $zMax) +(-0.1412197653E+00 0.8894664545E+00 $zMax) +(-0.1312197653E+00 0.8894567763E+00 $zMax) +(-0.1212197653E+00 0.8894508763E+00 $zMax) +(-0.1112197653E+00 0.8894521742E+00 $zMax) +(-0.1012197653E+00 0.8894558742E+00 $zMax) +(-0.9121976529E-01 0.8894704836E+00 $zMax) +(-0.8121976529E-01 0.8894887336E+00 $zMax) +(-0.7121976529E-01 0.8895179307E+00 $zMax) +(-0.6121976529E-01 0.8895507809E+00 $zMax) +(-0.5121976529E-01 0.8895953282E+00 $zMax) +(-0.4121976529E-01 0.8896437788E+00 $zMax) +(-0.3121976529E-01 0.8897071892E+00 $zMax) +(-0.2121976529E-01 0.8897755908E+00 $zMax) +(-0.1121976529E-01 0.8898613536E+00 $zMax) +(-0.1219765292E-02 0.8899529075E+00 $zMax) +(0.8711473746E-02 0.8900560201E+00 $zMax) +(0.1847335463E-01 0.8901614058E+00 $zMax) +(0.2797842739E-01 0.8902648900E+00 $zMax) +(0.3718592197E-01 0.8903654879E+00 $zMax) +(0.4611245019E-01 0.8904628468E+00 $zMax) +(0.5480208539E-01 0.8905574826E+00 $zMax) +(0.6332384279E-01 0.8906502900E+00 $zMax) +(0.7176178671E-01 0.8907421847E+00 $zMax) +(0.8018151364E-01 0.8908338809E+00 $zMax) +(0.8864045918E-01 0.8909260410E+00 $zMax) +(0.9719677390E-01 0.8910192674E+00 $zMax) +(0.1059200581E+00 0.8911143364E+00 $zMax) +(0.1148475473E+00 0.8912116518E+00 $zMax) +(0.1238863417E+00 0.8913101675E+00 $zMax) +(0.1330344130E+00 0.8914098417E+00 $zMax) +(0.1422669273E+00 0.8915103515E+00 $zMax) +(0.1515572642E+00 0.8916107861E+00 $zMax) +(0.1608913179E+00 0.8917116932E+00 $zMax) +(0.1702736696E+00 0.8918163636E+00 $zMax) +(0.1797432268E+00 0.8919221449E+00 $zMax) +(0.1892653717E+00 0.8920204374E+00 $zMax) +(0.1988441540E+00 0.8921177632E+00 $zMax) +(0.2084668728E+00 0.8921415362E+00 $zMax) +(0.2181332394E+00 0.8921403763E+00 $zMax) +(0.2278354693E+00 0.8921397702E+00 $zMax) +(0.2375681426E+00 0.8921394295E+00 $zMax) +(0.2473287145E+00 0.8921394212E+00 $zMax) +(0.2571108469E+00 0.8921396168E+00 $zMax) +(0.2669137893E+00 0.8921397000E+00 $zMax) +(0.2767354344E+00 0.8921397000E+00 $zMax) +(0.2865733273E+00 0.8921397000E+00 $zMax) +(0.2964256222E+00 0.8921397000E+00 $zMax) +(0.3062913016E+00 0.8921397000E+00 $zMax) +(0.3161130414E+00 0.8921397000E+00 $zMax) +(0.3258026771E+00 0.8921397000E+00 $zMax) +(0.3353614691E+00 0.8921397000E+00 $zMax) +(0.3447908530E+00 0.8921396824E+00 $zMax) +(0.3540918459E+00 0.8921396359E+00 $zMax) +(0.3632657829E+00 0.8921396000E+00 $zMax) +(0.3723136853E+00 0.8921396000E+00 $zMax) +(0.3812369300E+00 0.8921396000E+00 $zMax) +(0.3900366507E+00 0.8921396000E+00 $zMax) +(0.3987141102E+00 0.8921396000E+00 $zMax) +(0.4072707715E+00 0.8921396300E+00 $zMax) +(0.4157076458E+00 0.8921396722E+00 $zMax) +(0.4240263939E+00 0.8921397000E+00 $zMax) +(0.4322277422E+00 0.8921397000E+00 $zMax) +(0.4403136113E+00 0.8921397000E+00 $zMax) +(0.4482852675E+00 0.8921397000E+00 $zMax) +(0.4561435599E+00 0.8921397000E+00 $zMax) +(0.4638899803E+00 0.8921397000E+00 $zMax) +(0.4715260208E+00 0.8921397000E+00 $zMax) +(0.4790530124E+00 0.8921397000E+00 $zMax) +(0.4864720100E+00 0.8921397000E+00 $zMax) +(0.4937842544E+00 0.8921397000E+00 $zMax) +(0.5009910549E+00 0.8921397000E+00 $zMax) +(0.5080936604E+00 0.8921397000E+00 $zMax) +(0.5150933123E+00 0.8921397000E+00 $zMax) +(0.5219912315E+00 0.8921397000E+00 $zMax) +(0.5287886062E+00 0.8921397000E+00 $zMax) +(0.5354866708E+00 0.8921397000E+00 $zMax) +(0.5420866203E+00 0.8921397000E+00 $zMax) +(0.5485894303E+00 0.8921397000E+00 $zMax) +(0.5549962070E+00 0.8921397000E+00 $zMax) +(0.5613081888E+00 0.8921397000E+00 $zMax) +(0.5675265343E+00 0.8921397000E+00 $zMax) +(0.5736520021E+00 0.8921397000E+00 $zMax) +(0.5796853173E+00 0.8921397000E+00 $zMax) +(0.5856273419E+00 0.8921397000E+00 $zMax) +(0.5914791317E+00 0.8921397000E+00 $zMax) +(0.5972415275E+00 0.8921397000E+00 $zMax) +(0.6029152382E+00 0.8921397000E+00 $zMax) +(0.6085017285E+00 0.8921397000E+00 $zMax) +(0.6140007234E+00 0.8921396809E+00 $zMax) +(0.6194120636E+00 0.8921396000E+00 $zMax) +(0.6247361736E+00 0.8921395662E+00 $zMax) +(0.6299733393E+00 0.8921394614E+00 $zMax) +(0.6351234694E+00 0.8921395247E+00 $zMax) +(0.6401851375E+00 0.8921397856E+00 $zMax) +(0.6451549063E+00 0.8921401109E+00 $zMax) +(0.6500260000E+00 0.8921404792E+00 $zMax) +(0.6548479343E+00 0.8921403477E+00 $zMax) +(0.6595729587E+00 0.8921392891E+00 $zMax) +(0.6641624500E+00 0.8921374980E+00 $zMax) +(0.6685634794E+00 0.8921360068E+00 $zMax) +(0.6727783107E+00 0.8921352481E+00 $zMax) +(0.6768515421E+00 0.8921372552E+00 $zMax) +(0.6808142894E+00 0.8921419975E+00 $zMax) +(0.6846972187E+00 0.8921481406E+00 $zMax) +(0.6885310512E+00 0.8921540165E+00 $zMax) +(0.6923403414E+00 0.8921549307E+00 $zMax) +(0.6961349799E+00 0.8921485507E+00 $zMax) +(0.6999525313E+00 0.8921337834E+00 $zMax) +(0.7037920834E+00 0.8921093231E+00 $zMax) +(0.7076434107E+00 0.8920728110E+00 $zMax) +(0.7115067740E+00 0.8920279448E+00 $zMax) +(0.7153919515E+00 0.8919800791E+00 $zMax) +(0.7193124452E+00 0.8919315371E+00 $zMax) +(0.7232767256E+00 0.8918845688E+00 $zMax) +(0.7272887852E+00 0.8918391495E+00 $zMax) +(0.7313447431E+00 0.8917951479E+00 $zMax) +(0.7354427242E+00 0.8917514688E+00 $zMax) +(0.7395850245E+00 0.8917075578E+00 $zMax) +(0.7437773457E+00 0.8916629990E+00 $zMax) +(0.7480231997E+00 0.8916173109E+00 $zMax) +(0.7523186257E+00 0.8915704052E+00 $zMax) +(0.7566652261E+00 0.8915227201E+00 $zMax) +(0.7610625951E+00 0.8914743737E+00 $zMax) +(0.7655095817E+00 0.8914255526E+00 $zMax) +(0.7700045819E+00 0.8913764415E+00 $zMax) +(0.7745458743E+00 0.8913269992E+00 $zMax) +(0.7791332498E+00 0.8912770375E+00 $zMax) +(0.7837602187E+00 0.8912267712E+00 $zMax) +(0.7884229875E+00 0.8911760296E+00 $zMax) +(0.7931233640E+00 0.8911247951E+00 $zMax) +(0.7978517468E+00 0.8910733472E+00 $zMax) +(0.8026107441E+00 0.8910213834E+00 $zMax) +(0.8073928230E+00 0.8909692461E+00 $zMax) +(0.8121993979E+00 0.8909167679E+00 $zMax) +(0.8170257976E+00 0.8908642997E+00 $zMax) +(0.8218688518E+00 0.8908116244E+00 $zMax) +(0.8267283606E+00 0.8907587497E+00 $zMax) +(0.8316028523E+00 0.8907057121E+00 $zMax) +(0.8364892494E+00 0.8906522687E+00 $zMax) +(0.8413859674E+00 0.8905982626E+00 $zMax) +(0.8462917784E+00 0.8905443266E+00 $zMax) +(0.8512056352E+00 0.8904905942E+00 $zMax) +(0.8561271457E+00 0.8904374051E+00 $zMax) +(0.8610549447E+00 0.8903851420E+00 $zMax) +(0.8659884768E+00 0.8903334743E+00 $zMax) +(0.8709272531E+00 0.8902809850E+00 $zMax) +(0.8758706949E+00 0.8902259757E+00 $zMax) +(0.8808181778E+00 0.8901670097E+00 $zMax) +(0.8857692187E+00 0.8901050235E+00 $zMax) +(0.8907238251E+00 0.8900455300E+00 $zMax) +(0.8956820126E+00 0.8899955847E+00 $zMax) +(0.9006434450E+00 0.8899619647E+00 $zMax) +(0.9056084006E+00 0.8899467984E+00 $zMax) +(0.9105765846E+00 0.8899455343E+00 $zMax) +(0.9155487505E+00 0.8899519768E+00 $zMax) +(0.9205248100E+00 0.8899596384E+00 $zMax) +(0.9255047728E+00 0.8899637896E+00 $zMax) +(0.9304886061E+00 0.8899640126E+00 $zMax) +(0.9354761805E+00 0.8899622253E+00 $zMax) +(0.9404672537E+00 0.8899603213E+00 $zMax) +(0.9454611776E+00 0.8899593058E+00 $zMax) +(0.9504578005E+00 0.8899591970E+00 $zMax) +(0.9554560019E+00 0.8899594938E+00 $zMax) +(0.9604551565E+00 0.8899598937E+00 $zMax) +(0.9654548046E+00 0.8899601484E+00 $zMax) +(0.9704545980E+00 0.8899602000E+00 $zMax) +(0.9754544310E+00 0.8899601516E+00 $zMax) +(0.9804542238E+00 0.8899601484E+00 $zMax) +(0.9854539430E+00 0.8899602000E+00 $zMax) +(0.9904536077E+00 0.8899602000E+00 $zMax) +(0.9954532887E+00 0.8899601032E+00 $zMax) +(0.1000453158E+01 0.8899596613E+00 $zMax) +(0.1005453158E+01 0.8899585743E+00 $zMax) +(0.1010453158E+01 0.8899567356E+00 $zMax) +(0.1015453158E+01 0.8899545356E+00 $zMax) +(0.1020453158E+01 0.8899521420E+00 $zMax) +(0.1025453158E+01 0.8899489614E+00 $zMax) +(0.1030453158E+01 0.8899451131E+00 $zMax) +(0.1035453158E+01 0.8899410195E+00 $zMax) +(0.1040453158E+01 0.8899361389E+00 $zMax) +(0.1045453158E+01 0.8899303486E+00 $zMax) +(0.1050453158E+01 0.8899242486E+00 $zMax) +(0.1055453158E+01 0.8899181002E+00 $zMax) +(0.1060453158E+01 0.8899119002E+00 $zMax) +(0.1065453158E+01 0.8899057486E+00 $zMax) +(0.1070453158E+01 0.8898990680E+00 $zMax) +(0.1075453158E+01 0.8898912358E+00 $zMax) +(0.1080453158E+01 0.8898827390E+00 $zMax) +(0.1085453158E+01 0.8898742358E+00 $zMax) +(0.1090453158E+01 0.8898657390E+00 $zMax) +(0.1095453158E+01 0.8898571874E+00 $zMax) +(0.1100453158E+01 0.8898486390E+00 $zMax) +(0.1105453158E+01 0.8898398455E+00 $zMax) +(0.1110453158E+01 0.8898302649E+00 $zMax) +(0.1115453158E+01 0.8898201133E+00 $zMax) +(0.1120453158E+01 0.8898099165E+00 $zMax) +(0.1125453158E+01 0.8897996649E+00 $zMax) +(0.1130453158E+01 0.8897894649E+00 $zMax) +(0.1135453158E+01 0.8897790714E+00 $zMax) +(0.1140453158E+01 0.8897682779E+00 $zMax) +(0.1145453158E+01 0.8897572768E+00 $zMax) +(0.1150453158E+01 0.8897462757E+00 $zMax) +(0.1155453158E+01 0.8897352757E+00 $zMax) +(0.1160453158E+01 0.8897243241E+00 $zMax) +(0.1165453158E+01 0.8897133757E+00 $zMax) +(0.1170453158E+01 0.8897023272E+00 $zMax) +(0.1175453158E+01 0.8896912757E+00 $zMax) +(0.1180453158E+01 0.8896802272E+00 $zMax) +(0.1185453158E+01 0.8896691757E+00 $zMax) +(0.1190453158E+01 0.8896580788E+00 $zMax) +(0.1195453158E+01 0.8896469757E+00 $zMax) +(0.1200453158E+01 0.8896358788E+00 $zMax) +(0.1205453158E+01 0.8896247757E+00 $zMax) +(0.1210453158E+01 0.8896137272E+00 $zMax) +(0.1215453158E+01 0.8896028693E+00 $zMax) +(0.1220453158E+01 0.8895922693E+00 $zMax) +(0.1225453158E+01 0.8895817661E+00 $zMax) +(0.1230453158E+01 0.8895713177E+00 $zMax) +(0.1235453158E+01 0.8895608661E+00 $zMax) +(0.1240453158E+01 0.8895507081E+00 $zMax) +(0.1245453158E+01 0.8895411469E+00 $zMax) +(0.1250453158E+01 0.8895320437E+00 $zMax) +(0.1255453158E+01 0.8895230437E+00 $zMax) +(0.1260453158E+01 0.8895140437E+00 $zMax) +(0.1265453158E+01 0.8895050921E+00 $zMax) +(0.1270453158E+01 0.8894961437E+00 $zMax) +(0.1275453158E+01 0.8894874825E+00 $zMax) +(0.1280453158E+01 0.8894797634E+00 $zMax) +(0.1285453158E+01 0.8894728086E+00 $zMax) +(0.1290453158E+01 0.8894660086E+00 $zMax) +(0.1295453158E+01 0.8894591602E+00 $zMax) +(0.1300453158E+01 0.8894523086E+00 $zMax) +(0.1305453158E+01 0.8894456054E+00 $zMax) +(0.1310453158E+01 0.8894399735E+00 $zMax) +(0.1315453158E+01 0.8894357607E+00 $zMax) +(0.1320453158E+01 0.8894319607E+00 $zMax) +(0.1325453158E+01 0.8894281123E+00 $zMax) +(0.1330453158E+01 0.8894242123E+00 $zMax) +(0.1335453158E+01 0.8894203607E+00 $zMax) +(0.1340453158E+01 0.8894168027E+00 $zMax) +(0.1345453158E+01 0.8894145676E+00 $zMax) +(0.1350453158E+01 0.8894138548E+00 $zMax) +(0.1355453158E+01 0.8894137000E+00 $zMax) +(0.1360453158E+01 0.8894136032E+00 $zMax) +(0.1365453158E+01 0.8894134516E+00 $zMax) +(0.1370453158E+01 0.8894134000E+00 $zMax) +(0.1375453158E+01 0.8894143197E+00 $zMax) +(0.1380453158E+01 0.8894187850E+00 $zMax) +(0.1385453158E+01 0.8894260818E+00 $zMax) +(0.1390453158E+01 0.8894333850E+00 $zMax) +(0.1395453158E+01 0.8894405850E+00 $zMax) +(0.1400453158E+01 0.8894478334E+00 $zMax) +(0.1405453158E+01 0.8894550850E+00 $zMax) +(0.1410453158E+01 0.8894623334E+00 $zMax) +(0.1415453158E+01 0.8894695850E+00 $zMax) +(0.1420453158E+01 0.8894768334E+00 $zMax) +(0.1425453158E+01 0.8894841334E+00 $zMax) +(0.1430453158E+01 0.8894913850E+00 $zMax) +(0.1435453158E+01 0.8894985850E+00 $zMax) +(0.1440453158E+01 0.8895058334E+00 $zMax) +(0.1445453158E+01 0.8895156020E+00 $zMax) +(0.1450453158E+01 0.8895301801E+00 $zMax) +(0.1455453158E+01 0.8895481450E+00 $zMax) +(0.1460453158E+01 0.8895672934E+00 $zMax) +(0.1465453158E+01 0.8895864934E+00 $zMax) +(0.1470453158E+01 0.8896057418E+00 $zMax) +(0.1475453158E+01 0.8896250418E+00 $zMax) +(0.1480555897E+01 0.8896446879E+00 $zMax) +(0.1485763485E+01 0.8896646851E+00 $zMax) +(0.1491078077E+01 0.8896851540E+00 $zMax) +(0.1496501872E+01 0.8897060205E+00 $zMax) +(0.1502037113E+01 0.8897273559E+00 $zMax) +(0.1507686091E+01 0.8897502777E+00 $zMax) +(0.1513451143E+01 0.8897757576E+00 $zMax) +(0.1519334653E+01 0.8898066647E+00 $zMax) +(0.1525339056E+01 0.8898408655E+00 $zMax) +(0.1531466835E+01 0.8898772403E+00 $zMax) +(0.1537720527E+01 0.8899166066E+00 $zMax) +(0.1544102717E+01 0.8899886619E+00 $zMax) +(0.1550616047E+01 0.8902268704E+00 $zMax) +(0.1557263211E+01 0.8908383524E+00 $zMax) +(0.1564046958E+01 0.8917704020E+00 $zMax) +(0.1570970097E+01 0.8931584098E+00 $zMax) +(0.1578035490E+01 0.8948750103E+00 $zMax) +(0.1585246060E+01 0.8968226565E+00 $zMax) +(0.1592604792E+01 0.8989699475E+00 $zMax) +(0.1600114728E+01 0.9011971167E+00 $zMax) +(0.1607778977E+01 0.9033412005E+00 $zMax) +(0.1615600708E+01 0.9053141619E+00 $zMax) +(0.1623583158E+01 0.9070569878E+00 $zMax) +(0.1631729629E+01 0.9081531916E+00 $zMax) +(0.1640043491E+01 0.9088144103E+00 $zMax) +(0.1648528184E+01 0.9090365266E+00 $zMax) +(0.1657187218E+01 0.9090500000E+00 $zMax) diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/geometry/polyLine_7to11 b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/geometry/polyLine_7to11 new file mode 100644 index 0000000000..8995272471 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/geometry/polyLine_7to11 @@ -0,0 +1,337 @@ +(-0.5712197653E+00 0.9090500000E+00 $zMin) +(-0.5612197653E+00 0.9090494865E+00 $zMin) +(-0.5512197653E+00 0.9090442565E+00 $zMin) +(-0.5412197653E+00 0.9090390265E+00 $zMin) +(-0.5312197653E+00 0.9090337965E+00 $zMin) +(-0.5212197653E+00 0.9090285665E+00 $zMin) +(-0.5112197653E+00 0.9087875322E+00 $zMin) +(-0.5012197653E+00 0.9084711464E+00 $zMin) +(-0.4912197653E+00 0.9081547605E+00 $zMin) +(-0.4812197653E+00 0.9078383747E+00 $zMin) +(-0.4712197653E+00 0.9071265719E+00 $zMin) +(-0.4612197653E+00 0.9062214906E+00 $zMin) +(-0.4512197653E+00 0.9053164093E+00 $zMin) +(-0.4412197653E+00 0.9044113280E+00 $zMin) +(-0.4312197653E+00 0.9031820514E+00 $zMin) +(-0.4212197653E+00 0.9018889231E+00 $zMin) +(-0.4112197653E+00 0.9005957947E+00 $zMin) +(-0.4012197653E+00 0.8992986922E+00 $zMin) +(-0.3912197653E+00 0.8979887049E+00 $zMin) +(-0.3812197653E+00 0.8966787176E+00 $zMin) +(-0.3712197653E+00 0.8953687304E+00 $zMin) +(-0.3612197653E+00 0.8943181057E+00 $zMin) +(-0.3512197653E+00 0.8933150515E+00 $zMin) +(-0.3412197653E+00 0.8923119973E+00 $zMin) +(-0.3312197653E+00 0.8915953230E+00 $zMin) +(-0.3212197653E+00 0.8910400150E+00 $zMin) +(-0.3112197653E+00 0.8904847069E+00 $zMin) +(-0.3012197653E+00 0.8901923110E+00 $zMin) +(-0.2912197653E+00 0.8900684354E+00 $zMin) +(-0.2812197653E+00 0.8899445598E+00 $zMin) +(-0.2712197653E+00 0.8898859000E+00 $zMin) +(-0.2612197653E+00 0.8898489704E+00 $zMin) +(-0.2512197653E+00 0.8898119735E+00 $zMin) +(-0.2412197653E+00 0.8897738397E+00 $zMin) +(-0.2312197653E+00 0.8897357059E+00 $zMin) +(-0.2212197653E+00 0.8896982425E+00 $zMin) +(-0.2112197653E+00 0.8896614044E+00 $zMin) +(-0.2012197653E+00 0.8896250243E+00 $zMin) +(-0.1912197653E+00 0.8895918268E+00 $zMin) +(-0.1812197653E+00 0.8895586292E+00 $zMin) +(-0.1712197653E+00 0.8895333538E+00 $zMin) +(-0.1612197653E+00 0.8895092349E+00 $zMin) +(-0.1512197653E+00 0.8894874545E+00 $zMin) +(-0.1412197653E+00 0.8894664545E+00 $zMin) +(-0.1312197653E+00 0.8894567763E+00 $zMin) +(-0.1212197653E+00 0.8894508763E+00 $zMin) +(-0.1112197653E+00 0.8894521742E+00 $zMin) +(-0.1012197653E+00 0.8894558742E+00 $zMin) +(-0.9121976529E-01 0.8894704836E+00 $zMin) +(-0.8121976529E-01 0.8894887336E+00 $zMin) +(-0.7121976529E-01 0.8895179307E+00 $zMin) +(-0.6121976529E-01 0.8895507809E+00 $zMin) +(-0.5121976529E-01 0.8895953282E+00 $zMin) +(-0.4121976529E-01 0.8896437788E+00 $zMin) +(-0.3121976529E-01 0.8897071892E+00 $zMin) +(-0.2121976529E-01 0.8897755908E+00 $zMin) +(-0.1121976529E-01 0.8898613536E+00 $zMin) +(-0.1219765292E-02 0.8899529075E+00 $zMin) +(0.8711473746E-02 0.8900560201E+00 $zMin) +(0.1847335463E-01 0.8901614058E+00 $zMin) +(0.2797842739E-01 0.8902648900E+00 $zMin) +(0.3718592197E-01 0.8903654879E+00 $zMin) +(0.4611245019E-01 0.8904628468E+00 $zMin) +(0.5480208539E-01 0.8905574826E+00 $zMin) +(0.6332384279E-01 0.8906502900E+00 $zMin) +(0.7176178671E-01 0.8907421847E+00 $zMin) +(0.8018151364E-01 0.8908338809E+00 $zMin) +(0.8864045918E-01 0.8909260410E+00 $zMin) +(0.9719677390E-01 0.8910192674E+00 $zMin) +(0.1059200581E+00 0.8911143364E+00 $zMin) +(0.1148475473E+00 0.8912116518E+00 $zMin) +(0.1238863417E+00 0.8913101675E+00 $zMin) +(0.1330344130E+00 0.8914098417E+00 $zMin) +(0.1422669273E+00 0.8915103515E+00 $zMin) +(0.1515572642E+00 0.8916107861E+00 $zMin) +(0.1608913179E+00 0.8917116932E+00 $zMin) +(0.1702736696E+00 0.8918163636E+00 $zMin) +(0.1797432268E+00 0.8919221449E+00 $zMin) +(0.1892653717E+00 0.8920204374E+00 $zMin) +(0.1988441540E+00 0.8921177632E+00 $zMin) +(0.2084668728E+00 0.8921415362E+00 $zMin) +(0.2181332394E+00 0.8921403763E+00 $zMin) +(0.2278354693E+00 0.8921397702E+00 $zMin) +(0.2375681426E+00 0.8921394295E+00 $zMin) +(0.2473287145E+00 0.8921394212E+00 $zMin) +(0.2571108469E+00 0.8921396168E+00 $zMin) +(0.2669137893E+00 0.8921397000E+00 $zMin) +(0.2767354344E+00 0.8921397000E+00 $zMin) +(0.2865733273E+00 0.8921397000E+00 $zMin) +(0.2964256222E+00 0.8921397000E+00 $zMin) +(0.3062913016E+00 0.8921397000E+00 $zMin) +(0.3161130414E+00 0.8921397000E+00 $zMin) +(0.3258026771E+00 0.8921397000E+00 $zMin) +(0.3353614691E+00 0.8921397000E+00 $zMin) +(0.3447908530E+00 0.8921396824E+00 $zMin) +(0.3540918459E+00 0.8921396359E+00 $zMin) +(0.3632657829E+00 0.8921396000E+00 $zMin) +(0.3723136853E+00 0.8921396000E+00 $zMin) +(0.3812369300E+00 0.8921396000E+00 $zMin) +(0.3900366507E+00 0.8921396000E+00 $zMin) +(0.3987141102E+00 0.8921396000E+00 $zMin) +(0.4072707715E+00 0.8921396300E+00 $zMin) +(0.4157076458E+00 0.8921396722E+00 $zMin) +(0.4240263939E+00 0.8921397000E+00 $zMin) +(0.4322277422E+00 0.8921397000E+00 $zMin) +(0.4403136113E+00 0.8921397000E+00 $zMin) +(0.4482852675E+00 0.8921397000E+00 $zMin) +(0.4561435599E+00 0.8921397000E+00 $zMin) +(0.4638899803E+00 0.8921397000E+00 $zMin) +(0.4715260208E+00 0.8921397000E+00 $zMin) +(0.4790530124E+00 0.8921397000E+00 $zMin) +(0.4864720100E+00 0.8921397000E+00 $zMin) +(0.4937842544E+00 0.8921397000E+00 $zMin) +(0.5009910549E+00 0.8921397000E+00 $zMin) +(0.5080936604E+00 0.8921397000E+00 $zMin) +(0.5150933123E+00 0.8921397000E+00 $zMin) +(0.5219912315E+00 0.8921397000E+00 $zMin) +(0.5287886062E+00 0.8921397000E+00 $zMin) +(0.5354866708E+00 0.8921397000E+00 $zMin) +(0.5420866203E+00 0.8921397000E+00 $zMin) +(0.5485894303E+00 0.8921397000E+00 $zMin) +(0.5549962070E+00 0.8921397000E+00 $zMin) +(0.5613081888E+00 0.8921397000E+00 $zMin) +(0.5675265343E+00 0.8921397000E+00 $zMin) +(0.5736520021E+00 0.8921397000E+00 $zMin) +(0.5796853173E+00 0.8921397000E+00 $zMin) +(0.5856273419E+00 0.8921397000E+00 $zMin) +(0.5914791317E+00 0.8921397000E+00 $zMin) +(0.5972415275E+00 0.8921397000E+00 $zMin) +(0.6029152382E+00 0.8921397000E+00 $zMin) +(0.6085017285E+00 0.8921397000E+00 $zMin) +(0.6140007234E+00 0.8921396809E+00 $zMin) +(0.6194120636E+00 0.8921396000E+00 $zMin) +(0.6247361736E+00 0.8921395662E+00 $zMin) +(0.6299733393E+00 0.8921394614E+00 $zMin) +(0.6351234694E+00 0.8921395247E+00 $zMin) +(0.6401851375E+00 0.8921397856E+00 $zMin) +(0.6451549063E+00 0.8921401109E+00 $zMin) +(0.6500260000E+00 0.8921404792E+00 $zMin) +(0.6548479343E+00 0.8921403477E+00 $zMin) +(0.6595729587E+00 0.8921392891E+00 $zMin) +(0.6641624500E+00 0.8921374980E+00 $zMin) +(0.6685634794E+00 0.8921360068E+00 $zMin) +(0.6727783107E+00 0.8921352481E+00 $zMin) +(0.6768515421E+00 0.8921372552E+00 $zMin) +(0.6808142894E+00 0.8921419975E+00 $zMin) +(0.6846972187E+00 0.8921481406E+00 $zMin) +(0.6885310512E+00 0.8921540165E+00 $zMin) +(0.6923403414E+00 0.8921549307E+00 $zMin) +(0.6961349799E+00 0.8921485507E+00 $zMin) +(0.6999525313E+00 0.8921337834E+00 $zMin) +(0.7037920834E+00 0.8921093231E+00 $zMin) +(0.7076434107E+00 0.8920728110E+00 $zMin) +(0.7115067740E+00 0.8920279448E+00 $zMin) +(0.7153919515E+00 0.8919800791E+00 $zMin) +(0.7193124452E+00 0.8919315371E+00 $zMin) +(0.7232767256E+00 0.8918845688E+00 $zMin) +(0.7272887852E+00 0.8918391495E+00 $zMin) +(0.7313447431E+00 0.8917951479E+00 $zMin) +(0.7354427242E+00 0.8917514688E+00 $zMin) +(0.7395850245E+00 0.8917075578E+00 $zMin) +(0.7437773457E+00 0.8916629990E+00 $zMin) +(0.7480231997E+00 0.8916173109E+00 $zMin) +(0.7523186257E+00 0.8915704052E+00 $zMin) +(0.7566652261E+00 0.8915227201E+00 $zMin) +(0.7610625951E+00 0.8914743737E+00 $zMin) +(0.7655095817E+00 0.8914255526E+00 $zMin) +(0.7700045819E+00 0.8913764415E+00 $zMin) +(0.7745458743E+00 0.8913269992E+00 $zMin) +(0.7791332498E+00 0.8912770375E+00 $zMin) +(0.7837602187E+00 0.8912267712E+00 $zMin) +(0.7884229875E+00 0.8911760296E+00 $zMin) +(0.7931233640E+00 0.8911247951E+00 $zMin) +(0.7978517468E+00 0.8910733472E+00 $zMin) +(0.8026107441E+00 0.8910213834E+00 $zMin) +(0.8073928230E+00 0.8909692461E+00 $zMin) +(0.8121993979E+00 0.8909167679E+00 $zMin) +(0.8170257976E+00 0.8908642997E+00 $zMin) +(0.8218688518E+00 0.8908116244E+00 $zMin) +(0.8267283606E+00 0.8907587497E+00 $zMin) +(0.8316028523E+00 0.8907057121E+00 $zMin) +(0.8364892494E+00 0.8906522687E+00 $zMin) +(0.8413859674E+00 0.8905982626E+00 $zMin) +(0.8462917784E+00 0.8905443266E+00 $zMin) +(0.8512056352E+00 0.8904905942E+00 $zMin) +(0.8561271457E+00 0.8904374051E+00 $zMin) +(0.8610549447E+00 0.8903851420E+00 $zMin) +(0.8659884768E+00 0.8903334743E+00 $zMin) +(0.8709272531E+00 0.8902809850E+00 $zMin) +(0.8758706949E+00 0.8902259757E+00 $zMin) +(0.8808181778E+00 0.8901670097E+00 $zMin) +(0.8857692187E+00 0.8901050235E+00 $zMin) +(0.8907238251E+00 0.8900455300E+00 $zMin) +(0.8956820126E+00 0.8899955847E+00 $zMin) +(0.9006434450E+00 0.8899619647E+00 $zMin) +(0.9056084006E+00 0.8899467984E+00 $zMin) +(0.9105765846E+00 0.8899455343E+00 $zMin) +(0.9155487505E+00 0.8899519768E+00 $zMin) +(0.9205248100E+00 0.8899596384E+00 $zMin) +(0.9255047728E+00 0.8899637896E+00 $zMin) +(0.9304886061E+00 0.8899640126E+00 $zMin) +(0.9354761805E+00 0.8899622253E+00 $zMin) +(0.9404672537E+00 0.8899603213E+00 $zMin) +(0.9454611776E+00 0.8899593058E+00 $zMin) +(0.9504578005E+00 0.8899591970E+00 $zMin) +(0.9554560019E+00 0.8899594938E+00 $zMin) +(0.9604551565E+00 0.8899598937E+00 $zMin) +(0.9654548046E+00 0.8899601484E+00 $zMin) +(0.9704545980E+00 0.8899602000E+00 $zMin) +(0.9754544310E+00 0.8899601516E+00 $zMin) +(0.9804542238E+00 0.8899601484E+00 $zMin) +(0.9854539430E+00 0.8899602000E+00 $zMin) +(0.9904536077E+00 0.8899602000E+00 $zMin) +(0.9954532887E+00 0.8899601032E+00 $zMin) +(0.1000453158E+01 0.8899596613E+00 $zMin) +(0.1005453158E+01 0.8899585743E+00 $zMin) +(0.1010453158E+01 0.8899567356E+00 $zMin) +(0.1015453158E+01 0.8899545356E+00 $zMin) +(0.1020453158E+01 0.8899521420E+00 $zMin) +(0.1025453158E+01 0.8899489614E+00 $zMin) +(0.1030453158E+01 0.8899451131E+00 $zMin) +(0.1035453158E+01 0.8899410195E+00 $zMin) +(0.1040453158E+01 0.8899361389E+00 $zMin) +(0.1045453158E+01 0.8899303486E+00 $zMin) +(0.1050453158E+01 0.8899242486E+00 $zMin) +(0.1055453158E+01 0.8899181002E+00 $zMin) +(0.1060453158E+01 0.8899119002E+00 $zMin) +(0.1065453158E+01 0.8899057486E+00 $zMin) +(0.1070453158E+01 0.8898990680E+00 $zMin) +(0.1075453158E+01 0.8898912358E+00 $zMin) +(0.1080453158E+01 0.8898827390E+00 $zMin) +(0.1085453158E+01 0.8898742358E+00 $zMin) +(0.1090453158E+01 0.8898657390E+00 $zMin) +(0.1095453158E+01 0.8898571874E+00 $zMin) +(0.1100453158E+01 0.8898486390E+00 $zMin) +(0.1105453158E+01 0.8898398455E+00 $zMin) +(0.1110453158E+01 0.8898302649E+00 $zMin) +(0.1115453158E+01 0.8898201133E+00 $zMin) +(0.1120453158E+01 0.8898099165E+00 $zMin) +(0.1125453158E+01 0.8897996649E+00 $zMin) +(0.1130453158E+01 0.8897894649E+00 $zMin) +(0.1135453158E+01 0.8897790714E+00 $zMin) +(0.1140453158E+01 0.8897682779E+00 $zMin) +(0.1145453158E+01 0.8897572768E+00 $zMin) +(0.1150453158E+01 0.8897462757E+00 $zMin) +(0.1155453158E+01 0.8897352757E+00 $zMin) +(0.1160453158E+01 0.8897243241E+00 $zMin) +(0.1165453158E+01 0.8897133757E+00 $zMin) +(0.1170453158E+01 0.8897023272E+00 $zMin) +(0.1175453158E+01 0.8896912757E+00 $zMin) +(0.1180453158E+01 0.8896802272E+00 $zMin) +(0.1185453158E+01 0.8896691757E+00 $zMin) +(0.1190453158E+01 0.8896580788E+00 $zMin) +(0.1195453158E+01 0.8896469757E+00 $zMin) +(0.1200453158E+01 0.8896358788E+00 $zMin) +(0.1205453158E+01 0.8896247757E+00 $zMin) +(0.1210453158E+01 0.8896137272E+00 $zMin) +(0.1215453158E+01 0.8896028693E+00 $zMin) +(0.1220453158E+01 0.8895922693E+00 $zMin) +(0.1225453158E+01 0.8895817661E+00 $zMin) +(0.1230453158E+01 0.8895713177E+00 $zMin) +(0.1235453158E+01 0.8895608661E+00 $zMin) +(0.1240453158E+01 0.8895507081E+00 $zMin) +(0.1245453158E+01 0.8895411469E+00 $zMin) +(0.1250453158E+01 0.8895320437E+00 $zMin) +(0.1255453158E+01 0.8895230437E+00 $zMin) +(0.1260453158E+01 0.8895140437E+00 $zMin) +(0.1265453158E+01 0.8895050921E+00 $zMin) +(0.1270453158E+01 0.8894961437E+00 $zMin) +(0.1275453158E+01 0.8894874825E+00 $zMin) +(0.1280453158E+01 0.8894797634E+00 $zMin) +(0.1285453158E+01 0.8894728086E+00 $zMin) +(0.1290453158E+01 0.8894660086E+00 $zMin) +(0.1295453158E+01 0.8894591602E+00 $zMin) +(0.1300453158E+01 0.8894523086E+00 $zMin) +(0.1305453158E+01 0.8894456054E+00 $zMin) +(0.1310453158E+01 0.8894399735E+00 $zMin) +(0.1315453158E+01 0.8894357607E+00 $zMin) +(0.1320453158E+01 0.8894319607E+00 $zMin) +(0.1325453158E+01 0.8894281123E+00 $zMin) +(0.1330453158E+01 0.8894242123E+00 $zMin) +(0.1335453158E+01 0.8894203607E+00 $zMin) +(0.1340453158E+01 0.8894168027E+00 $zMin) +(0.1345453158E+01 0.8894145676E+00 $zMin) +(0.1350453158E+01 0.8894138548E+00 $zMin) +(0.1355453158E+01 0.8894137000E+00 $zMin) +(0.1360453158E+01 0.8894136032E+00 $zMin) +(0.1365453158E+01 0.8894134516E+00 $zMin) +(0.1370453158E+01 0.8894134000E+00 $zMin) +(0.1375453158E+01 0.8894143197E+00 $zMin) +(0.1380453158E+01 0.8894187850E+00 $zMin) +(0.1385453158E+01 0.8894260818E+00 $zMin) +(0.1390453158E+01 0.8894333850E+00 $zMin) +(0.1395453158E+01 0.8894405850E+00 $zMin) +(0.1400453158E+01 0.8894478334E+00 $zMin) +(0.1405453158E+01 0.8894550850E+00 $zMin) +(0.1410453158E+01 0.8894623334E+00 $zMin) +(0.1415453158E+01 0.8894695850E+00 $zMin) +(0.1420453158E+01 0.8894768334E+00 $zMin) +(0.1425453158E+01 0.8894841334E+00 $zMin) +(0.1430453158E+01 0.8894913850E+00 $zMin) +(0.1435453158E+01 0.8894985850E+00 $zMin) +(0.1440453158E+01 0.8895058334E+00 $zMin) +(0.1445453158E+01 0.8895156020E+00 $zMin) +(0.1450453158E+01 0.8895301801E+00 $zMin) +(0.1455453158E+01 0.8895481450E+00 $zMin) +(0.1460453158E+01 0.8895672934E+00 $zMin) +(0.1465453158E+01 0.8895864934E+00 $zMin) +(0.1470453158E+01 0.8896057418E+00 $zMin) +(0.1475453158E+01 0.8896250418E+00 $zMin) +(0.1480555897E+01 0.8896446879E+00 $zMin) +(0.1485763485E+01 0.8896646851E+00 $zMin) +(0.1491078077E+01 0.8896851540E+00 $zMin) +(0.1496501872E+01 0.8897060205E+00 $zMin) +(0.1502037113E+01 0.8897273559E+00 $zMin) +(0.1507686091E+01 0.8897502777E+00 $zMin) +(0.1513451143E+01 0.8897757576E+00 $zMin) +(0.1519334653E+01 0.8898066647E+00 $zMin) +(0.1525339056E+01 0.8898408655E+00 $zMin) +(0.1531466835E+01 0.8898772403E+00 $zMin) +(0.1537720527E+01 0.8899166066E+00 $zMin) +(0.1544102717E+01 0.8899886619E+00 $zMin) +(0.1550616047E+01 0.8902268704E+00 $zMin) +(0.1557263211E+01 0.8908383524E+00 $zMin) +(0.1564046958E+01 0.8917704020E+00 $zMin) +(0.1570970097E+01 0.8931584098E+00 $zMin) +(0.1578035490E+01 0.8948750103E+00 $zMin) +(0.1585246060E+01 0.8968226565E+00 $zMin) +(0.1592604792E+01 0.8989699475E+00 $zMin) +(0.1600114728E+01 0.9011971167E+00 $zMin) +(0.1607778977E+01 0.9033412005E+00 $zMin) +(0.1615600708E+01 0.9053141619E+00 $zMin) +(0.1623583158E+01 0.9070569878E+00 $zMin) +(0.1631729629E+01 0.9081531916E+00 $zMin) +(0.1640043491E+01 0.9088144103E+00 $zMin) +(0.1648528184E+01 0.9090365266E+00 $zMin) +(0.1657187218E+01 0.9090500000E+00 $zMin) diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/sampleDict b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/sampleDict new file mode 100644 index 0000000000..04858ea6e9 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/sampleDict @@ -0,0 +1,113 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +sample.lines +{ + type sets; + libs (sampling); + writeControl writeTime; + timeStart $tStartAvg; + + interpolationScheme cellPoint; + setFormat raw; + + sets + ( + xbyc0.65 + { + type face; + axis y; + start (0.65 0 0.0001); + end (0.65 1 0.0001); + } + xbyc0.66 + { + type face; + axis y; + start (0.66 0 0.0001); + end (0.66 1 0.0001); + } + xbyc0.80 + { + type face; + axis y; + start (0.80 0 0.0001); + end (0.80 1 0.0001); + } + xbyc0.90 + { + type face; + axis y; + start (0.90 0 0.0001); + end (0.90 1 0.0001); + } + xbyc1.00 + { + type face; + axis y; + start (1.00 0 0.0001); + end (1.00 1 0.0001); + } + xbyc1.10 + { + type face; + axis y; + start (1.10 0 0.0001); + end (1.10 1 0.0001); + } + xbyc1.20 + { + type face; + axis y; + start (1.20 0 0.0001); + end (1.20 1 0.0001); + } + xbyc1.30 + { + type face; + axis y; + start (1.30 0 0.0001); + end (1.30 1 0.0001); + } + ); + + fields + ( + columnAverage(UMean) + columnAverage(UPrime2Mean) + ); +} + +sample.bottomWall +{ + type surfaces; + libs (sampling); + writeControl writeTime; + timeStart $tStartAvg; + + interpolationScheme cell; + surfaceFormat raw; + + fields + ( + pMean + wallShearStressMean + ); + + surfaces + ( + bottomWall + { + type patch; + patches ( "bottomWall" ); + } + ); +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/volFields b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/volFields new file mode 100644 index 0000000000..a37f388abc --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/volFields @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +vorticity +{ + type vorticity; + libs (fieldFunctionObjects); + + enabled true; + writeControl writeTime; +} + +Q +{ + type Q; + libs (fieldFunctionObjects); + + enabled true; + writeControl writeTime; +} + +DESModelRegions +{ + type DESModelRegions; + libs (fieldFunctionObjects); + + enabled true; + writeControl writeTime; + + result DESField; +} + +blendingFactor +{ + type blendingFactor; + libs (fieldFunctionObjects); + + field U; + + enabled true; + writeControl writeTime; + log false; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/wallFields b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/wallFields new file mode 100644 index 0000000000..54a8a93395 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/common/system/wallFields @@ -0,0 +1,32 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +wallShearStress +{ + type wallShearStress; + libs (fieldFunctionObjects); + + enabled true; + writeControl writeTime; + + patches ( bottomWall ); +} + +yPlus +{ + type yPlus; + libs (fieldFunctionObjects); + + enabled true; + writeControl writeTime; + + patches ( bottomWall ); +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/kOmegaSSTDDES-DeltaOmegaTilde-useSigmaTrue/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/kOmegaSSTDDES-DeltaOmegaTilde-useSigmaTrue/constant/turbulenceProperties new file mode 100644 index 0000000000..3b930b5036 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/wallMountedHump/setups.orig/kOmegaSSTDDES-DeltaOmegaTilde-useSigmaTrue/constant/turbulenceProperties @@ -0,0 +1,33 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2206 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType LES; + +LES +{ + LESModel kOmegaSSTDDES; + kOmegaSSTDDESCoeffs + { + useSigma true; + } + + delta DeltaOmegaTilde; + DeltaOmegaTildeCoeffs + { + } +} + +// ************************************************************************* //