/*---------------------------------------------------------------------------*\ ========= | \\ / 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) 2019-2021 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::DeardorffDiffStress Group grpLESTurbulence Description Differential SGS Stress Equation Model for incompressible and compressible flows Reference: \verbatim Deardorff, J. W. (1973). The use of subgrid transport equations in a three-dimensional model of atmospheric turbulence. Journal of Fluids Engineering, 95(3), 429-438. \endverbatim This SGS model uses a full balance equation for the SGS stress tensor to simulate the behaviour of B. This implementation is as described in the above paper except that the triple correlation model of Donaldson is replaced with the generalized gradient diffusion model of Daly and Harlow: \verbatim Daly, B. J., & Harlow, F. H. (1970). Transport equations in turbulence. Physics of Fluids (1958-1988), 13(11), 2634-2649. \endverbatim with the default value for the coefficient Cs of 0.25 from \verbatim Launder, B. E., Reece, G. J., & Rodi, W. (1975). Progress in the development of a Reynolds-stress turbulence closure. Journal of fluid mechanics, 68(03), 537-566. \endverbatim SourceFiles DeardorffDiffStress.C \*---------------------------------------------------------------------------*/ #ifndef DeardorffDiffStress_H #define DeardorffDiffStress_H #include "LESModel.H" #include "ReynoldsStress.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { namespace LESModels { /*---------------------------------------------------------------------------*\ Class DeardorffDiffStress Declaration \*---------------------------------------------------------------------------*/ template class DeardorffDiffStress : public ReynoldsStress> { // Private Member Functions //- No copy construct DeardorffDiffStress(const DeardorffDiffStress&) = delete; //- No copy assignment void operator=(const DeardorffDiffStress&) = delete; protected: // Protected data // Model constants dimensionedScalar Ck_; dimensionedScalar Cm_; dimensionedScalar Ce_; dimensionedScalar Cs_; // Protected Member Functions //- Update the 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("DeardorffDiffStress"); // Constructors //- Constructor from components DeardorffDiffStress ( 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 ~DeardorffDiffStress() = default; // Member Functions //- Read model coefficients if they have changed virtual bool read(); //- Correct sub-grid stress, eddy-Viscosity and related properties virtual void correct(); }; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace LESModels } // End namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #ifdef NoRepository #include "DeardorffDiffStress.C" #endif // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #endif // ************************************************************************* //