00001 /*---------------------------------------------------------------------------*\ 00002 ========= | 00003 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox 00004 \\ / O peration | 00005 \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. 00006 \\/ M anipulation | 00007 ------------------------------------------------------------------------------- 00008 License 00009 This file is part of OpenFOAM. 00010 00011 OpenFOAM is free software: you can redistribute it and/or modify it 00012 under the terms of the GNU General Public License as published by 00013 the Free Software Foundation, either version 3 of the License, or 00014 (at your option) any later version. 00015 00016 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT 00017 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00018 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00019 for more details. 00020 00021 You should have received a copy of the GNU General Public License 00022 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. 00023 00024 Global 00025 wallNonlinearViscosity 00026 00027 Description 00028 Calculate wall viscosity for non-linear models 00029 00030 \*---------------------------------------------------------------------------*/ 00031 00032 { 00033 const fvPatchList& patches = mesh_.boundary(); 00034 00035 const scalar yPlusLam = this->yPlusLam(kappa_.value(), E_.value()); 00036 00037 forAll(patches, patchi) 00038 { 00039 const fvPatch& curPatch = patches[patchi]; 00040 00041 if (isA<wallFvPatch>(curPatch)) 00042 { 00043 const scalarField& nuw = nu().boundaryField()[patchi]; 00044 scalarField& nutw = nut_.boundaryField()[patchi]; 00045 00046 forAll(curPatch, facei) 00047 { 00048 label faceCelli = curPatch.faceCells()[facei]; 00049 00050 //- Using local Cmu 00051 scalar Cmu25 = pow(Cmu_[faceCelli], 0.25); 00052 00053 scalar yPlus = 00054 Cmu25*y_[patchi][facei]*sqrt(k_[faceCelli])/nuw[facei]; 00055 00056 if (yPlus > yPlusLam) 00057 { 00058 nutw[facei] = 00059 nuw[facei] 00060 *(yPlus*kappa_.value()/log(E_.value()*yPlus) - 1); 00061 } 00062 else 00063 { 00064 nutw[facei] = 0.0; 00065 } 00066 } 00067 } 00068 } 00069 } 00070 00071 00072 // ************************ vim: set sw=4 sts=4 et: ************************ //