![]() |
|
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 totalPressureFvPatchScalarField 00027 00028 Description 00029 00030 SourceFiles 00031 totalPressureFvPatchScalarField.C 00032 00033 \*---------------------------------------------------------------------------*/ 00034 00035 #ifndef totalPressureFvPatchScalarField_H 00036 #define totalPressureFvPatchScalarField_H 00037 00038 #include "fixedValueFvPatchFields.H" 00039 00040 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00041 00042 namespace Foam 00043 { 00044 00045 /*---------------------------------------------------------------------------*\ 00046 Class totalPressureFvPatch Declaration 00047 \*---------------------------------------------------------------------------*/ 00048 00049 class totalPressureFvPatchScalarField 00050 : 00051 public fixedValueFvPatchScalarField 00052 { 00053 // Private data 00054 00055 //- Total pressure 00056 scalarField p0_; 00057 00058 00059 public: 00060 00061 //- Runtime type information 00062 TypeName("totalPressure"); 00063 00064 00065 // Constructors 00066 00067 //- Construct from patch and internal field 00068 totalPressureFvPatchScalarField 00069 ( 00070 const fvPatch&, 00071 const scalarField& 00072 ); 00073 00074 //- Construct from patch, internal field and dictionary 00075 totalPressureFvPatchScalarField 00076 ( 00077 const fvPatch&, 00078 const scalarField&, 00079 const dictionary& 00080 ); 00081 00082 //- Construct by mapping given totalPressureFvPatchScalarField onto a new patch 00083 totalPressureFvPatchScalarField 00084 ( 00085 const totalPressureFvPatchScalarField&, 00086 const fvPatch&, 00087 const scalarField&, 00088 const fvPatchFieldMapper& 00089 ); 00090 00091 //- Construct and return a clone 00092 virtual tmp<fvPatchScalarField> clone() const 00093 { 00094 return tmp<fvPatchScalarField> 00095 ( 00096 new totalPressureFvPatchScalarField(*this) 00097 ); 00098 } 00099 00100 //- Construct as copy setting internal field reference 00101 totalPressureFvPatchScalarField 00102 ( 00103 const totalPressureFvPatchScalarField&, 00104 const scalarField& 00105 ); 00106 00107 //- Construct and return a clone setting internal field reference 00108 virtual tmp<fvPatchScalarField> clone(const scalarField& iF) const 00109 { 00110 return tmp<fvPatchScalarField> 00111 ( 00112 new totalPressureFvPatchScalarField(*this, iF) 00113 ); 00114 } 00115 00116 00117 // Member functions 00118 00119 // Access 00120 00121 //- Return the total pressure 00122 const scalarField& p0() const 00123 { 00124 return p0_; 00125 } 00126 00127 //- Return reference to the total pressure to allow adjustment 00128 scalarField& p0() 00129 { 00130 return p0_; 00131 } 00132 00133 00134 // Mapping functions 00135 00136 //- Map (and resize as needed) from self given a mapping object 00137 virtual void autoMap 00138 ( 00139 const fvPatchFieldMapper& 00140 ); 00141 00142 //- Reverse map the given fvPatchField onto this fvPatchField 00143 virtual void rmap 00144 ( 00145 const fvPatchScalarField&, 00146 const labelList& 00147 ); 00148 00149 00150 // Evaluation functions 00151 00152 //- Update the coefficients associated with the patch field 00153 virtual void updateCoeffs(); 00154 00155 00156 //- Write 00157 virtual void write(Ostream&) const; 00158 }; 00159 00160 00161 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00162 00163 } // End namespace Foam 00164 00165 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00166 00167 #endif 00168 00169 // ************************************************************************* //