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 genericPointPatchField_H
00036 #define genericPointPatchField_H
00037
00038 #include <OpenFOAM/calculatedPointPatchField.H>
00039 #include <OpenFOAM/HashPtrTable.H>
00040
00041
00042
00043 namespace Foam
00044 {
00045
00046
00047
00048
00049
00050 template<class Type>
00051 class genericPointPatchField
00052 :
00053 public calculatedPointPatchField<Type>
00054 {
00055
00056
00057 word actualTypeName_;
00058 dictionary dict_;
00059
00060 HashPtrTable<scalarField> scalarFields_;
00061 HashPtrTable<vectorField> vectorFields_;
00062 HashPtrTable<sphericalTensorField> sphericalTensorFields_;
00063 HashPtrTable<symmTensorField> symmTensorFields_;
00064 HashPtrTable<tensorField> tensorFields_;
00065
00066
00067 public:
00068
00069
00070 TypeName("generic");
00071
00072
00073
00074
00075
00076 genericPointPatchField
00077 (
00078 const pointPatch&,
00079 const DimensionedField<Type, pointMesh>&
00080 );
00081
00082
00083 genericPointPatchField
00084 (
00085 const pointPatch&,
00086 const DimensionedField<Type, pointMesh>&,
00087 const dictionary&
00088 );
00089
00090
00091 genericPointPatchField
00092 (
00093 const genericPointPatchField<Type>&,
00094 const pointPatch&,
00095 const DimensionedField<Type, pointMesh>&,
00096 const pointPatchFieldMapper&
00097 );
00098
00099
00100 virtual autoPtr<pointPatchField<Type> > clone() const
00101 {
00102 return autoPtr<pointPatchField<Type> >
00103 (
00104 new genericPointPatchField<Type>
00105 (
00106 *this
00107 )
00108 );
00109 }
00110
00111
00112 genericPointPatchField
00113 (
00114 const genericPointPatchField<Type>&,
00115 const DimensionedField<Type, pointMesh>&
00116 );
00117
00118
00119 virtual autoPtr<pointPatchField<Type> > clone
00120 (
00121 const DimensionedField<Type, pointMesh>& iF
00122 ) const
00123 {
00124 return autoPtr<pointPatchField<Type> >
00125 (
00126 new genericPointPatchField<Type>
00127 (
00128 *this,
00129 iF
00130 )
00131 );
00132 }
00133
00134
00135
00136
00137
00138
00139
00140 virtual void autoMap
00141 (
00142 const pointPatchFieldMapper&
00143 );
00144
00145
00146 virtual void rmap
00147 (
00148 const pointPatchField<Type>&,
00149 const labelList&
00150 );
00151
00152
00153
00154 virtual void write(Ostream&) const;
00155 };
00156
00157
00158
00159
00160 }
00161
00162
00163
00164 #ifdef NoRepository
00165 # include "genericPointPatchField.C"
00166 #endif
00167
00168
00169
00170 #endif
00171
00172