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
00036 #ifndef volPointInterpolation_H
00037 #define volPointInterpolation_H
00038
00039 #include <OpenFOAM/MeshObject.H>
00040 #include <finiteVolume/pointPatchInterpolation.H>
00041
00042
00043
00044 namespace Foam
00045 {
00046
00047 class fvMesh;
00048 class pointMesh;
00049
00050
00051
00052
00053
00054 class volPointInterpolation
00055 :
00056 public MeshObject<fvMesh, volPointInterpolation>
00057 {
00058
00059
00060
00061 pointPatchInterpolation boundaryInterpolator_;
00062
00063
00064 scalarListList pointWeights_;
00065
00066
00067
00068
00069
00070 void makeWeights();
00071
00072
00073 volPointInterpolation(const volPointInterpolation&);
00074
00075
00076 void operator=(const volPointInterpolation&);
00077
00078
00079 public:
00080
00081
00082 ClassName("volPointInterpolation");
00083
00084
00085
00086
00087
00088 explicit volPointInterpolation(const fvMesh&);
00089
00090
00091
00092
00093 ~volPointInterpolation();
00094
00095
00096
00097
00098
00099
00100 const fvMesh& mesh() const
00101 {
00102 return boundaryInterpolator_.mesh();
00103 }
00104
00105
00106
00107
00108
00109 void updateMesh();
00110
00111
00112 bool movePoints();
00113
00114
00115
00116
00117
00118
00119 template<class Type>
00120 void interpolateInternalField
00121 (
00122 const GeometricField<Type, fvPatchField, volMesh>&,
00123 GeometricField<Type, pointPatchField, pointMesh>&
00124 ) const;
00125
00126
00127
00128 template<class Type>
00129 void interpolate
00130 (
00131 const GeometricField<Type, fvPatchField, volMesh>&,
00132 GeometricField<Type, pointPatchField, pointMesh>&
00133 ) const;
00134
00135
00136
00137 template<class Type>
00138 tmp<GeometricField<Type, pointPatchField, pointMesh> > interpolate
00139 (
00140 const GeometricField<Type, fvPatchField, volMesh>&,
00141 const wordList& patchFieldTypes
00142 ) const;
00143
00144
00145
00146 template<class Type>
00147 tmp<GeometricField<Type, pointPatchField, pointMesh> > interpolate
00148 (
00149 const tmp<GeometricField<Type, fvPatchField, volMesh> >&,
00150 const wordList& patchFieldTypes
00151 ) const;
00152
00153
00154
00155 template<class Type>
00156 tmp<GeometricField<Type, pointPatchField, pointMesh> > interpolate
00157 (
00158 const GeometricField<Type, fvPatchField, volMesh>&
00159 ) const;
00160
00161
00162
00163 template<class Type>
00164 tmp<GeometricField<Type, pointPatchField, pointMesh> > interpolate
00165 (
00166 const tmp<GeometricField<Type, fvPatchField, volMesh> >&
00167 ) const;
00168 };
00169
00170
00171
00172
00173 }
00174
00175
00176
00177 #ifdef NoRepository
00178 # include "volPointInterpolate.C"
00179 #endif
00180
00181
00182
00183 #endif
00184
00185