00001 /*---------------------------------------------------------------------------*\ 00002 ========= | 00003 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox 00004 \\ / O peration | 00005 \\ / A nd | Copyright (C) 2008-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::compressible::RASModels::alphatWallFunctionFvPatchScalarField 00026 00027 Description 00028 Boundary condition for turbulent thermal diffusivity when using wall 00029 functions 00030 - replicates OpenFOAM v1.5 (and earlier) behaviour 00031 - Turbulent Prandtl number defaults to 0.85 if unspecified 00032 00033 SourceFiles 00034 alphatWallFunctionFvPatchScalarField.C 00035 00036 \*---------------------------------------------------------------------------*/ 00037 00038 #ifndef compressibleAlphatWallFunctionFvPatchScalarField_H 00039 #define compressibleAlphatWallFunctionFvPatchScalarField_H 00040 00041 #include <finiteVolume/fixedValueFvPatchFields.H> 00042 00043 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00044 00045 namespace Foam 00046 { 00047 namespace compressible 00048 { 00049 namespace RASModels 00050 { 00051 00052 /*---------------------------------------------------------------------------*\ 00053 Class alphatWallFunctionFvPatchScalarField Declaration 00054 \*---------------------------------------------------------------------------*/ 00055 00056 class alphatWallFunctionFvPatchScalarField 00057 : 00058 public fixedValueFvPatchScalarField 00059 { 00060 // Private data 00061 00062 //- Name of turbulent viscosity field 00063 word mutName_; 00064 00065 //- Turbulent Prandtl number 00066 scalar Prt_; 00067 00068 00069 public: 00070 00071 //- Runtime type information 00072 TypeName("alphatWallFunction"); 00073 00074 00075 // Constructors 00076 00077 //- Construct from patch and internal field 00078 alphatWallFunctionFvPatchScalarField 00079 ( 00080 const fvPatch&, 00081 const DimensionedField<scalar, volMesh>& 00082 ); 00083 00084 //- Construct from patch, internal field and dictionary 00085 alphatWallFunctionFvPatchScalarField 00086 ( 00087 const fvPatch&, 00088 const DimensionedField<scalar, volMesh>&, 00089 const dictionary& 00090 ); 00091 00092 //- Construct by mapping given 00093 // alphatWallFunctionFvPatchScalarField 00094 // onto a new patch 00095 alphatWallFunctionFvPatchScalarField 00096 ( 00097 const alphatWallFunctionFvPatchScalarField&, 00098 const fvPatch&, 00099 const DimensionedField<scalar, volMesh>&, 00100 const fvPatchFieldMapper& 00101 ); 00102 00103 //- Construct as copy 00104 alphatWallFunctionFvPatchScalarField 00105 ( 00106 const alphatWallFunctionFvPatchScalarField& 00107 ); 00108 00109 //- Construct and return a clone 00110 virtual tmp<fvPatchScalarField> clone() const 00111 { 00112 return tmp<fvPatchScalarField> 00113 ( 00114 new alphatWallFunctionFvPatchScalarField(*this) 00115 ); 00116 } 00117 00118 //- Construct as copy setting internal field reference 00119 alphatWallFunctionFvPatchScalarField 00120 ( 00121 const alphatWallFunctionFvPatchScalarField&, 00122 const DimensionedField<scalar, volMesh>& 00123 ); 00124 00125 //- Construct and return a clone setting internal field reference 00126 virtual tmp<fvPatchScalarField> clone 00127 ( 00128 const DimensionedField<scalar, volMesh>& iF 00129 ) const 00130 { 00131 return tmp<fvPatchScalarField> 00132 ( 00133 new alphatWallFunctionFvPatchScalarField(*this, iF) 00134 ); 00135 } 00136 00137 00138 // Member functions 00139 00140 // Evaluation functions 00141 00142 //- Update the coefficients associated with the patch field 00143 virtual void updateCoeffs(); 00144 00145 00146 // I-O 00147 00148 //- Write 00149 void write(Ostream&) const; 00150 }; 00151 00152 00153 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00154 00155 } // End namespace RASModels 00156 } // End namespace compressible 00157 } // End namespace Foam 00158 00159 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00160 00161 #endif 00162 00163 // ************************ vim: set sw=4 sts=4 et: ************************ //