diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutRoughWallFunction/mutRoughWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutRoughWallFunction/mutRoughWallFunctionFvPatchScalarField.C deleted file mode 100644 index fe81d6ec2..000000000 --- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutRoughWallFunction/mutRoughWallFunctionFvPatchScalarField.C +++ /dev/null @@ -1,234 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | foam-extend: Open Source CFD - \\ / O peration | Version: 4.1 - \\ / A nd | Web: http://www.foam-extend.org - \\/ M anipulation | For copyright notice see file Copyright -------------------------------------------------------------------------------- -License - This file is part of foam-extend. - - foam-extend 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. - - foam-extend 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 foam-extend. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "mutRoughWallFunctionFvPatchScalarField.H" -#include "RASModel.H" -#include "fvPatchFieldMapper.H" -#include "volFields.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace compressible -{ -namespace RASModels -{ - - -// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // - -scalar mutRoughWallFunctionFvPatchScalarField::fnRough -( - const scalar KsPlus, - const scalar Cs -) const -{ - // Return fn based on non-dimensional roughness height - - if (KsPlus < 90.0) - { - return pow - ( - (KsPlus - 2.25)/87.75 + Cs*KsPlus, - sin(0.4258*(log(KsPlus) - 0.811)) - ); - } - else - { - return (1.0 + Cs*KsPlus); - } -} - - -tmp mutRoughWallFunctionFvPatchScalarField::calcMut() const -{ - const label patchI = patch().index(); - - const RASModel& rasModel = db().lookupObject("RASProperties"); - const scalarField& y = rasModel.y()[patchI]; - const scalarField& rhow = rasModel.rho().boundaryField()[patchI]; - const tmp tk = rasModel.k(); - const volScalarField& k = tk(); - const scalarField& muw = rasModel.mu().boundaryField()[patchI]; - - const scalar Cmu25 = pow(Cmu_, 0.25); - - tmp tmutw(new scalarField(*this)); - scalarField& mutw = tmutw(); - - forAll(mutw, faceI) - { - label faceCellI = patch().faceCells()[faceI]; - - scalar uStar = Cmu25*sqrt(k[faceCellI]); - - scalar yPlus = uStar*y[faceI]/(muw[faceI]/rhow[faceI]); - - scalar KsPlus = uStar*Ks_[faceI]/(muw[faceI]/rhow[faceI]); - - scalar Edash = E_; - scalar yPlusLamNew = yPlusLam_; - if (KsPlus > 2.25) - { - Edash /= fnRough(KsPlus, Cs_[faceI]); - yPlusLamNew = rasModel.yPlusLam(kappa_, Edash); - } - - if (debug) - { - Info<< "yPlus = " << yPlus - << ", KsPlus = " << KsPlus - << ", Edash = " << Edash - << ", yPlusLam = " << yPlusLam_ - << endl; - } - - if (yPlus > yPlusLamNew) - { - mutw[faceI] = - muw[faceI]*(yPlus*kappa_/log(max(Edash*yPlus, 1+1e-4)) - 1); - } - } - - return tmutw; -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -mutRoughWallFunctionFvPatchScalarField::mutRoughWallFunctionFvPatchScalarField -( - const fvPatch& p, - const DimensionedField& iF -) -: - mutWallFunctionFvPatchScalarField(p, iF), - Ks_(p.size(), 0.0), - Cs_(p.size(), 0.0) -{} - - -mutRoughWallFunctionFvPatchScalarField::mutRoughWallFunctionFvPatchScalarField -( - const mutRoughWallFunctionFvPatchScalarField& ptf, - const fvPatch& p, - const DimensionedField& iF, - const fvPatchFieldMapper& mapper -) -: - mutWallFunctionFvPatchScalarField(ptf, p, iF, mapper), - Ks_(ptf.Ks_, mapper), - Cs_(ptf.Cs_, mapper) -{} - - -mutRoughWallFunctionFvPatchScalarField::mutRoughWallFunctionFvPatchScalarField -( - const fvPatch& p, - const DimensionedField& iF, - const dictionary& dict -) -: - mutWallFunctionFvPatchScalarField(p, iF, dict), - Ks_("Ks", dict, p.size()), - Cs_("Cs", dict, p.size()) -{} - - -mutRoughWallFunctionFvPatchScalarField::mutRoughWallFunctionFvPatchScalarField -( - const mutRoughWallFunctionFvPatchScalarField& rwfpsf -) -: - mutWallFunctionFvPatchScalarField(rwfpsf), - Ks_(rwfpsf.Ks_), - Cs_(rwfpsf.Cs_) -{} - - -mutRoughWallFunctionFvPatchScalarField::mutRoughWallFunctionFvPatchScalarField -( - const mutRoughWallFunctionFvPatchScalarField& rwfpsf, - const DimensionedField& iF -) -: - mutWallFunctionFvPatchScalarField(rwfpsf, iF), - Ks_(rwfpsf.Ks_), - Cs_(rwfpsf.Cs_) -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -void mutRoughWallFunctionFvPatchScalarField::autoMap -( - const fvPatchFieldMapper& m -) -{ - mutWallFunctionFvPatchScalarField::autoMap(m); - Ks_.autoMap(m); - Cs_.autoMap(m); -} - - -void mutRoughWallFunctionFvPatchScalarField::rmap -( - const fvPatchScalarField& ptf, - const labelList& addr -) -{ - mutWallFunctionFvPatchScalarField::rmap(ptf, addr); - - const mutRoughWallFunctionFvPatchScalarField& nrwfpsf = - refCast(ptf); - - Cs_.rmap(nrwfpsf.Cs_, addr); - Ks_.rmap(nrwfpsf.Ks_, addr); -} - - -void mutRoughWallFunctionFvPatchScalarField::write(Ostream& os) const -{ - fvPatchField::write(os); - writeLocalEntries(os); - Cs_.writeEntry("Cs", os); - Ks_.writeEntry("Ks", os); - writeEntry("value", os); -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -makePatchTypeField(fvPatchScalarField, mutRoughWallFunctionFvPatchScalarField); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace RASModels -} // End namespace compressible -} // End namespace Foam - -// ************************************************************************* // diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutRoughWallFunction/mutRoughWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutRoughWallFunction/mutRoughWallFunctionFvPatchScalarField.H deleted file mode 100644 index 26d3ce1bb..000000000 --- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutRoughWallFunction/mutRoughWallFunctionFvPatchScalarField.H +++ /dev/null @@ -1,188 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | foam-extend: Open Source CFD - \\ / O peration | Version: 4.1 - \\ / A nd | Web: http://www.foam-extend.org - \\/ M anipulation | For copyright notice see file Copyright -------------------------------------------------------------------------------- -License - This file is part of foam-extend. - - foam-extend 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. - - foam-extend 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 foam-extend. If not, see . - -Class - Foam::compressible::RASModels::mutRoughWallFunctionFvPatchScalarField - -Description - Boundary condition for turbulent (kinematic) viscosity when using wall - functions for rough walls. - - Manipulates the E parameter to account for roughness effects, based on - KsPlus. - - - roughness height = sand-grain roughness (0 for smooth walls) - - roughness constant = 0.5-1.0 (0.5 default) - -SourceFiles - mutRoughWallFunctionFvPatchScalarField.C - -\*---------------------------------------------------------------------------*/ - -#ifndef compressibleMutRoughWallFunctionFvPatchScalarField_H -#define compressibleMutRoughWallFunctionFvPatchScalarField_H - -#include "mutWallFunctionFvPatchScalarField.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace compressible -{ -namespace RASModels -{ - -/*---------------------------------------------------------------------------*\ - Class mutRoughWallFunctionFvPatchScalarField Declaration -\*---------------------------------------------------------------------------*/ - -class mutRoughWallFunctionFvPatchScalarField -: - public mutWallFunctionFvPatchScalarField -{ -protected: - - // Protected data - - //- Roughness height - scalarField Ks_; - - //- Roughness constant - scalarField Cs_; - - - // Private member functions - - //- Compute the roughness function - virtual scalar fnRough(const scalar KsPlus, const scalar Cs) const; - - //- Calculate the turbulence viscosity - virtual tmp calcMut() const; - - -public: - - //- Runtime type information - TypeName("mutRoughWallFunction"); - - - // Constructors - - //- Construct from patch and internal field - mutRoughWallFunctionFvPatchScalarField - ( - const fvPatch&, - const DimensionedField& - ); - - //- Construct from patch, internal field and dictionary - mutRoughWallFunctionFvPatchScalarField - ( - const fvPatch&, - const DimensionedField&, - const dictionary& - ); - - //- Construct by mapping given - // mutRoughWallFunctionFvPatchScalarField - // onto a new patch - mutRoughWallFunctionFvPatchScalarField - ( - const mutRoughWallFunctionFvPatchScalarField&, - const fvPatch&, - const DimensionedField&, - const fvPatchFieldMapper& - ); - - //- Construct as copy - mutRoughWallFunctionFvPatchScalarField - ( - const mutRoughWallFunctionFvPatchScalarField& - ); - - //- Construct and return a clone - virtual tmp clone() const - { - return tmp - ( - new mutRoughWallFunctionFvPatchScalarField(*this) - ); - } - - //- Construct as copy setting internal field reference - mutRoughWallFunctionFvPatchScalarField - ( - const mutRoughWallFunctionFvPatchScalarField&, - const DimensionedField& - ); - - //- Construct and return a clone setting internal field reference - virtual tmp clone - ( - const DimensionedField& iF - ) const - { - return tmp - ( - new mutRoughWallFunctionFvPatchScalarField(*this, iF) - ); - } - - - // Member functions - - // Mapping functions - - //- Map (and resize as needed) from self given a mapping object - virtual void autoMap - ( - const fvPatchFieldMapper& - ); - - //- Reverse map the given fvPatchField onto this fvPatchField - virtual void rmap - ( - const fvPatchScalarField&, - const labelList& - ); - - - // I-O - - //- Write - virtual void write(Ostream&) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace RASModels -} // End namespace compressible -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* //