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
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef mixedFvPatchField_H
00036 #define mixedFvPatchField_H
00037
00038 #include <finiteVolume/fvPatchField.H>
00039
00040
00041
00042 namespace Foam
00043 {
00044
00045
00046
00047
00048
00049 template<class Type>
00050 class mixedFvPatchField
00051 :
00052 public fvPatchField<Type>
00053 {
00054
00055
00056
00057 Field<Type> refValue_;
00058
00059
00060 Field<Type> refGrad_;
00061
00062
00063 scalarField valueFraction_;
00064
00065
00066 public:
00067
00068
00069 TypeName("mixed");
00070
00071
00072
00073
00074
00075 mixedFvPatchField
00076 (
00077 const fvPatch&,
00078 const DimensionedField<Type, volMesh>&
00079 );
00080
00081
00082 mixedFvPatchField
00083 (
00084 const fvPatch&,
00085 const DimensionedField<Type, volMesh>&,
00086 const dictionary&
00087 );
00088
00089
00090 mixedFvPatchField
00091 (
00092 const mixedFvPatchField<Type>&,
00093 const fvPatch&,
00094 const DimensionedField<Type, volMesh>&,
00095 const fvPatchFieldMapper&
00096 );
00097
00098
00099 mixedFvPatchField
00100 (
00101 const mixedFvPatchField<Type>&
00102 );
00103
00104
00105 virtual tmp<fvPatchField<Type> > clone() const
00106 {
00107 return tmp<fvPatchField<Type> >
00108 (
00109 new mixedFvPatchField<Type>(*this)
00110 );
00111 }
00112
00113
00114 mixedFvPatchField
00115 (
00116 const mixedFvPatchField<Type>&,
00117 const DimensionedField<Type, volMesh>&
00118 );
00119
00120
00121 virtual tmp<fvPatchField<Type> > clone
00122 (
00123 const DimensionedField<Type, volMesh>& iF
00124 ) const
00125 {
00126 return tmp<fvPatchField<Type> >
00127 (
00128 new mixedFvPatchField<Type>(*this, iF)
00129 );
00130 }
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140 virtual bool fixesValue() const
00141 {
00142 return true;
00143 }
00144
00145
00146
00147
00148 virtual Field<Type>& refValue()
00149 {
00150 return refValue_;
00151 }
00152
00153 virtual const Field<Type>& refValue() const
00154 {
00155 return refValue_;
00156 }
00157
00158 virtual Field<Type>& refGrad()
00159 {
00160 return refGrad_;
00161 }
00162
00163 virtual const Field<Type>& refGrad() const
00164 {
00165 return refGrad_;
00166 }
00167
00168 virtual scalarField& valueFraction()
00169 {
00170 return valueFraction_;
00171 }
00172
00173 virtual const scalarField& valueFraction() const
00174 {
00175 return valueFraction_;
00176 }
00177
00178
00179
00180
00181
00182 virtual void autoMap
00183 (
00184 const fvPatchFieldMapper&
00185 );
00186
00187
00188 virtual void rmap
00189 (
00190 const fvPatchField<Type>&,
00191 const labelList&
00192 );
00193
00194
00195
00196
00197
00198 virtual tmp<Field<Type> > snGrad() const;
00199
00200
00201 virtual void evaluate
00202 (
00203 const Pstream::commsTypes commsType=Pstream::blocking
00204 );
00205
00206
00207
00208 virtual tmp<Field<Type> > valueInternalCoeffs
00209 (
00210 const tmp<scalarField>&
00211 ) const;
00212
00213
00214
00215 virtual tmp<Field<Type> > valueBoundaryCoeffs
00216 (
00217 const tmp<scalarField>&
00218 ) const;
00219
00220
00221
00222 virtual tmp<Field<Type> > gradientInternalCoeffs() const;
00223
00224
00225
00226 virtual tmp<Field<Type> > gradientBoundaryCoeffs() const;
00227
00228
00229
00230 virtual void write(Ostream&) const;
00231
00232
00233
00234
00235 virtual void operator=(const UList<Type>&) {}
00236
00237 virtual void operator=(const fvPatchField<Type>&) {}
00238 virtual void operator+=(const fvPatchField<Type>&) {}
00239 virtual void operator-=(const fvPatchField<Type>&) {}
00240 virtual void operator*=(const fvPatchField<scalar>&) {}
00241 virtual void operator/=(const fvPatchField<scalar>&) {}
00242
00243 virtual void operator+=(const Field<Type>&) {}
00244 virtual void operator-=(const Field<Type>&) {}
00245
00246 virtual void operator*=(const Field<scalar>&) {}
00247 virtual void operator/=(const Field<scalar>&) {}
00248
00249 virtual void operator=(const Type&) {}
00250 virtual void operator+=(const Type&) {}
00251 virtual void operator-=(const Type&) {}
00252 virtual void operator*=(const scalar) {}
00253 virtual void operator/=(const scalar) {}
00254 };
00255
00256
00257
00258
00259 }
00260
00261
00262
00263 #ifdef NoRepository
00264 # include <finiteVolume/mixedFvPatchField.C>
00265 #endif
00266
00267
00268
00269 #endif
00270
00271