00001 /*---------------------------------------------------------------------------*\ 00002 ========= | 00003 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox 00004 \\ / O peration | 00005 \\ / A nd | Copyright (C) 2010-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 Class 00025 Foam::incompressible::RASModels::nutLowReWallFunctionFvPatchScalarField 00026 00027 Description 00028 Boundary condition for turbulent (kinematic) viscosity when for use with 00029 low Reynolds number models. 00030 00031 Sets nut to zero, and provides an access function to calculate y+. 00032 00033 SourceFiles 00034 nutLowReWallFunctionFvPatchScalarField.C 00035 00036 \*---------------------------------------------------------------------------*/ 00037 00038 #ifndef nutLowReWallFunctionFvPatchScalarField_H 00039 #define nutLowReWallFunctionFvPatchScalarField_H 00040 00041 #include <incompressibleRASModels/nutWallFunctionFvPatchScalarField.H> 00042 00043 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00044 00045 namespace Foam 00046 { 00047 namespace incompressible 00048 { 00049 namespace RASModels 00050 { 00051 00052 /*---------------------------------------------------------------------------*\ 00053 Class nutLowReWallFunctionFvPatchScalarField Declaration 00054 \*---------------------------------------------------------------------------*/ 00055 00056 class nutLowReWallFunctionFvPatchScalarField 00057 : 00058 public nutWallFunctionFvPatchScalarField 00059 { 00060 protected: 00061 00062 // Protected member functions 00063 00064 //- Calculate the turbulence viscosity 00065 virtual tmp<scalarField> calcNut() const; 00066 00067 00068 public: 00069 00070 //- Runtime type information 00071 TypeName("nutLowReWallFunction"); 00072 00073 00074 // Constructors 00075 00076 //- Construct from patch and internal field 00077 nutLowReWallFunctionFvPatchScalarField 00078 ( 00079 const fvPatch&, 00080 const DimensionedField<scalar, volMesh>& 00081 ); 00082 00083 //- Construct from patch, internal field and dictionary 00084 nutLowReWallFunctionFvPatchScalarField 00085 ( 00086 const fvPatch&, 00087 const DimensionedField<scalar, volMesh>&, 00088 const dictionary& 00089 ); 00090 00091 //- Construct by mapping given 00092 // nutLowReWallFunctionFvPatchScalarField 00093 // onto a new patch 00094 nutLowReWallFunctionFvPatchScalarField 00095 ( 00096 const nutLowReWallFunctionFvPatchScalarField&, 00097 const fvPatch&, 00098 const DimensionedField<scalar, volMesh>&, 00099 const fvPatchFieldMapper& 00100 ); 00101 00102 //- Construct as copy 00103 nutLowReWallFunctionFvPatchScalarField 00104 ( 00105 const nutLowReWallFunctionFvPatchScalarField& 00106 ); 00107 00108 //- Construct and return a clone 00109 virtual tmp<fvPatchScalarField> clone() const 00110 { 00111 return tmp<fvPatchScalarField> 00112 ( 00113 new nutLowReWallFunctionFvPatchScalarField(*this) 00114 ); 00115 } 00116 00117 //- Construct as copy setting internal field reference 00118 nutLowReWallFunctionFvPatchScalarField 00119 ( 00120 const nutLowReWallFunctionFvPatchScalarField&, 00121 const DimensionedField<scalar, volMesh>& 00122 ); 00123 00124 //- Construct and return a clone setting internal field reference 00125 virtual tmp<fvPatchScalarField> clone 00126 ( 00127 const DimensionedField<scalar, volMesh>& iF 00128 ) const 00129 { 00130 return tmp<fvPatchScalarField> 00131 ( 00132 new nutLowReWallFunctionFvPatchScalarField(*this, iF) 00133 ); 00134 } 00135 }; 00136 00137 00138 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00139 00140 } // End namespace RASModels 00141 } // End namespace incompressible 00142 } // End namespace Foam 00143 00144 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00145 00146 #endif 00147 00148 // ************************ vim: set sw=4 sts=4 et: ************************ //