Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "kqRWallFunctionFvPatchField.H"
00027 #include <finiteVolume/fvPatchFieldMapper.H>
00028 #include <OpenFOAM/addToRunTimeSelectionTable.H>
00029 #include <finiteVolume/wallFvPatch.H>
00030
00031
00032
00033 namespace Foam
00034 {
00035 namespace incompressible
00036 {
00037 namespace RASModels
00038 {
00039
00040
00041
00042 template<class Type>
00043 void kqRWallFunctionFvPatchField<Type>::checkType()
00044 {
00045 if (!isA<wallFvPatch>(this->patch()))
00046 {
00047 FatalErrorIn("kqRWallFunctionFvPatchField::checkType()")
00048 << "Invalid wall function specification" << nl
00049 << " Patch type for patch " << this->patch().name()
00050 << " must be wall" << nl
00051 << " Current patch type is " << this->patch().type() << nl << endl
00052 << abort(FatalError);
00053 }
00054 }
00055
00056
00057
00058
00059 template<class Type>
00060 kqRWallFunctionFvPatchField<Type>::kqRWallFunctionFvPatchField
00061 (
00062 const fvPatch& p,
00063 const DimensionedField<Type, volMesh>& iF
00064 )
00065 :
00066 zeroGradientFvPatchField<Type>(p, iF)
00067 {
00068 checkType();
00069 }
00070
00071
00072 template<class Type>
00073 kqRWallFunctionFvPatchField<Type>::kqRWallFunctionFvPatchField
00074 (
00075 const kqRWallFunctionFvPatchField& ptf,
00076 const fvPatch& p,
00077 const DimensionedField<Type, volMesh>& iF,
00078 const fvPatchFieldMapper& mapper
00079 )
00080 :
00081 zeroGradientFvPatchField<Type>(ptf, p, iF, mapper)
00082 {
00083 checkType();
00084 }
00085
00086
00087 template<class Type>
00088 kqRWallFunctionFvPatchField<Type>::kqRWallFunctionFvPatchField
00089 (
00090 const fvPatch& p,
00091 const DimensionedField<Type, volMesh>& iF,
00092 const dictionary& dict
00093 )
00094 :
00095 zeroGradientFvPatchField<Type>(p, iF, dict)
00096 {
00097 checkType();
00098 }
00099
00100
00101 template<class Type>
00102 kqRWallFunctionFvPatchField<Type>::kqRWallFunctionFvPatchField
00103 (
00104 const kqRWallFunctionFvPatchField& tkqrwfpf
00105 )
00106 :
00107 zeroGradientFvPatchField<Type>(tkqrwfpf)
00108 {
00109 checkType();
00110 }
00111
00112
00113 template<class Type>
00114 kqRWallFunctionFvPatchField<Type>::kqRWallFunctionFvPatchField
00115 (
00116 const kqRWallFunctionFvPatchField& tkqrwfpf,
00117 const DimensionedField<Type, volMesh>& iF
00118 )
00119 :
00120 zeroGradientFvPatchField<Type>(tkqrwfpf, iF)
00121 {
00122 checkType();
00123 }
00124
00125
00126
00127
00128 template<class Type>
00129 void kqRWallFunctionFvPatchField<Type>::evaluate
00130 (
00131 const Pstream::commsTypes commsType
00132 )
00133 {
00134 zeroGradientFvPatchField<Type>::evaluate(commsType);
00135 }
00136
00137
00138 template<class Type>
00139 void kqRWallFunctionFvPatchField<Type>::write(Ostream& os) const
00140 {
00141 zeroGradientFvPatchField<Type>::write(os);
00142 this->writeEntry("value", os);
00143 }
00144
00145
00146
00147
00148 }
00149 }
00150 }
00151
00152