![]() |
|
00001 /*---------------------------------------------------------------------------*\ 00002 ========= | 00003 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox 00004 \\ / O peration | 00005 \\ / A nd | Copyright (C) 1991-2005 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 the 00013 Free Software Foundation; either version 2 of the License, or (at your 00014 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, write to the Free Software Foundation, 00023 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00024 00025 Class 00026 emptyFvPatchField 00027 00028 Description 00029 00030 SourceFiles 00031 emptyFvPatchField.C 00032 00033 \*---------------------------------------------------------------------------*/ 00034 00035 #ifndef emptyFvPatchField_H 00036 #define emptyFvPatchField_H 00037 00038 #include "fvPatchField.H" 00039 #include "emptyFvPatch.H" 00040 00041 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00042 00043 namespace Foam 00044 { 00045 00046 /*---------------------------------------------------------------------------*\ 00047 Class emptyFvPatch Declaration 00048 \*---------------------------------------------------------------------------*/ 00049 00050 template<class Type> 00051 class emptyFvPatchField 00052 : 00053 public fvPatchField<Type> 00054 { 00055 00056 public: 00057 00058 //- Runtime type information 00059 TypeName(emptyFvPatch::typeName_()); 00060 00061 00062 // Constructors 00063 00064 //- Construct from patch and internal field 00065 emptyFvPatchField 00066 ( 00067 const fvPatch&, 00068 const Field<Type>& 00069 ); 00070 00071 //- Construct from patch, internal field and dictionary 00072 emptyFvPatchField 00073 ( 00074 const fvPatch&, 00075 const Field<Type>&, 00076 const dictionary& 00077 ); 00078 00079 //- Construct by mapping given emptyFvPatchField onto a new patch 00080 emptyFvPatchField 00081 ( 00082 const emptyFvPatchField<Type>&, 00083 const fvPatch&, 00084 const Field<Type>&, 00085 const fvPatchFieldMapper& 00086 ); 00087 00088 //- Construct and return a clone 00089 virtual tmp<fvPatchField<Type> > clone() const 00090 { 00091 return tmp<fvPatchField<Type> > 00092 ( 00093 new emptyFvPatchField<Type>(*this) 00094 ); 00095 } 00096 00097 //- Construct as copy setting internal field reference 00098 emptyFvPatchField 00099 ( 00100 const emptyFvPatchField<Type>&, 00101 const Field<Type>& 00102 ); 00103 00104 //- Construct and return a clone setting internal field reference 00105 virtual tmp<fvPatchField<Type> > clone(const Field<Type>& iF) const 00106 { 00107 return tmp<fvPatchField<Type> > 00108 ( 00109 new emptyFvPatchField<Type>(*this, iF) 00110 ); 00111 } 00112 00113 00114 // Member functions 00115 00116 // Mapping functions 00117 00118 //- Map (and resize as needed) from self given a mapping object 00119 virtual void autoMap 00120 ( 00121 const fvPatchFieldMapper& 00122 ) 00123 {} 00124 00125 //- Reverse map the given fvPatchField onto this fvPatchField 00126 virtual void rmap 00127 ( 00128 const fvPatchField<Type>&, 00129 const labelList& 00130 ) 00131 {} 00132 00133 00134 // Evaluation functions 00135 00136 //- Update the coefficients associated with the patch field 00137 // This only checks to see the case is actually 1D or 2D 00138 // for which this boundary condition is valid 00139 void updateCoeffs(); 00140 00141 00142 //- Return the matrix diagonal coefficients corresponding to the 00143 // evaluation of the value of this patchField with given weights 00144 virtual tmp<Field<Type> > valueInternalCoeffs 00145 ( 00146 const tmp<scalarField>& 00147 ) const 00148 { 00149 return tmp<Field<Type> >(new Field<Type>(0)); 00150 } 00151 00152 //- Return the matrix source coefficients corresponding to the 00153 // evaluation of the value of this patchField with given weights 00154 virtual tmp<Field<Type> > valueBoundaryCoeffs 00155 ( 00156 const tmp<scalarField>& 00157 ) const 00158 { 00159 return tmp<Field<Type> >(new Field<Type>(0)); 00160 } 00161 00162 //- Return the matrix diagonal coefficients corresponding to the 00163 // evaluation of the gradient of this patchField 00164 tmp<Field<Type> > gradientInternalCoeffs() const 00165 { 00166 return tmp<Field<Type> >(new Field<Type>(0)); 00167 } 00168 00169 //- Return the matrix source coefficients corresponding to the 00170 // evaluation of the gradient of this patchField 00171 tmp<Field<Type> > gradientBoundaryCoeffs() const 00172 { 00173 return tmp<Field<Type> >(new Field<Type>(0)); 00174 } 00175 }; 00176 00177 00178 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00179 00180 } // End namespace Foam 00181 00182 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00183 00184 #ifdef NoRepository 00185 # include "emptyFvPatchField.C" 00186 #endif 00187 00188 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00189 00190 #endif 00191 00192 // ************************************************************************* //