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
00037 #ifndef GeometricTensorField_H
00038 #define GeometricTensorField_H
00039
00040 #include "GeometricField.H"
00041 #include "tensor.H"
00042
00043
00044
00045 namespace Foam
00046 {
00047
00048
00049
00050 template<template<class> class PatchField, class GeoMesh>
00051 void hdual
00052 (
00053 GeometricField<vector, PatchField, GeoMesh>&,
00054 const GeometricField<tensor, PatchField, GeoMesh>&
00055 );
00056
00057 template<template<class> class PatchField, class GeoMesh>
00058 tmp<GeometricField<vector, PatchField, GeoMesh> > operator*
00059 (
00060 const GeometricField<tensor, PatchField, GeoMesh>&
00061 );
00062
00063 template<template<class> class PatchField, class GeoMesh>
00064 tmp<GeometricField<vector, PatchField, GeoMesh> > operator*
00065 (
00066 const tmp<GeometricField<tensor, PatchField, GeoMesh> >&
00067 );
00068
00069
00070 template<template<class> class PatchField, class GeoMesh>
00071 void hdual
00072 (
00073 GeometricField<tensor, PatchField, GeoMesh>&,
00074 const GeometricField<vector, PatchField, GeoMesh>&
00075 );
00076
00077 template<template<class> class PatchField, class GeoMesh>
00078 tmp<GeometricField<tensor, PatchField, GeoMesh> > operator*
00079 (
00080 const GeometricField<vector, PatchField, GeoMesh>&
00081 );
00082
00083 template<template<class> class PatchField, class GeoMesh>
00084 tmp<GeometricField<tensor, PatchField, GeoMesh> > operator*
00085 (
00086 const tmp<GeometricField<vector, PatchField, GeoMesh> >&
00087 );
00088
00089
00090
00091
00092 template<template<class> class PatchField, class GeoMesh>
00093 void tr
00094 (
00095 GeometricField<scalar, PatchField, GeoMesh>&,
00096 const GeometricField<tensor, PatchField, GeoMesh>&
00097 );
00098
00099 template<template<class> class PatchField, class GeoMesh>
00100 tmp<GeometricField<scalar, PatchField, GeoMesh> > tr
00101 (
00102 const GeometricField<tensor, PatchField, GeoMesh>&
00103 );
00104
00105 template<template<class> class PatchField, class GeoMesh>
00106 tmp<GeometricField<scalar, PatchField, GeoMesh> > tr
00107 (
00108 const tmp<GeometricField<tensor, PatchField, GeoMesh> >&
00109 );
00110
00111
00112 template<template<class> class PatchField, class GeoMesh>
00113 void dev
00114 (
00115 GeometricField<tensor, PatchField, GeoMesh>&,
00116 const GeometricField<tensor, PatchField, GeoMesh>&
00117 );
00118
00119 template<template<class> class PatchField, class GeoMesh>
00120 tmp<GeometricField<tensor, PatchField, GeoMesh> > dev
00121 (
00122 const GeometricField<tensor, PatchField, GeoMesh>&
00123 );
00124
00125 template<template<class> class PatchField, class GeoMesh>
00126 tmp<GeometricField<tensor, PatchField, GeoMesh> > dev
00127 (
00128 const tmp<GeometricField<tensor, PatchField, GeoMesh> >&
00129 );
00130
00131
00132 template<template<class> class PatchField, class GeoMesh>
00133 void dev2
00134 (
00135 GeometricField<tensor, PatchField, GeoMesh>&,
00136 const GeometricField<tensor, PatchField, GeoMesh>&
00137 );
00138
00139 template<template<class> class PatchField, class GeoMesh>
00140 tmp<GeometricField<tensor, PatchField, GeoMesh> > dev2
00141 (
00142 const GeometricField<tensor, PatchField, GeoMesh>&
00143 );
00144
00145 template<template<class> class PatchField, class GeoMesh>
00146 tmp<GeometricField<tensor, PatchField, GeoMesh> > dev2
00147 (
00148 const tmp<GeometricField<tensor, PatchField, GeoMesh> >&
00149 );
00150
00151
00152 template<template<class> class PatchField, class GeoMesh>
00153 void det
00154 (
00155 GeometricField<scalar, PatchField, GeoMesh>&,
00156 const GeometricField<tensor, PatchField, GeoMesh>&
00157 );
00158
00159 template<template<class> class PatchField, class GeoMesh>
00160 tmp<GeometricField<scalar, PatchField, GeoMesh> > det
00161 (
00162 const GeometricField<tensor, PatchField, GeoMesh>&
00163 );
00164
00165 template<template<class> class PatchField, class GeoMesh>
00166 tmp<GeometricField<scalar, PatchField, GeoMesh> > det
00167 (
00168 const tmp<GeometricField<tensor, PatchField, GeoMesh> >&
00169 );
00170
00171
00172 template<template<class> class PatchField, class GeoMesh>
00173 void inv
00174 (
00175 GeometricField<tensor, PatchField, GeoMesh>&,
00176 const GeometricField<tensor, PatchField, GeoMesh>&
00177 );
00178
00179 template<template<class> class PatchField, class GeoMesh>
00180 tmp<GeometricField<tensor, PatchField, GeoMesh> > inv
00181 (
00182 const GeometricField<tensor, PatchField, GeoMesh>&
00183 );
00184
00185 template<template<class> class PatchField, class GeoMesh>
00186 tmp<GeometricField<tensor, PatchField, GeoMesh> > inv
00187 (
00188 const tmp<GeometricField<tensor, PatchField, GeoMesh> >&
00189 );
00190
00191
00192 template<template<class> class PatchField, class GeoMesh>
00193 void hinv
00194 (
00195 GeometricField<tensor, PatchField, GeoMesh>&,
00196 const GeometricField<tensor, PatchField, GeoMesh>&
00197 );
00198
00199 template<template<class> class PatchField, class GeoMesh>
00200 tmp<GeometricField<tensor, PatchField, GeoMesh> > hinv
00201 (
00202 const GeometricField<tensor, PatchField, GeoMesh>&
00203 );
00204
00205 template<template<class> class PatchField, class GeoMesh>
00206 tmp<GeometricField<tensor, PatchField, GeoMesh> > hinv
00207 (
00208 const tmp<GeometricField<tensor, PatchField, GeoMesh> >&
00209 );
00210
00211
00212 template<template<class> class PatchField, class GeoMesh>
00213 void symm
00214 (
00215 GeometricField<tensor, PatchField, GeoMesh>&,
00216 const GeometricField<tensor, PatchField, GeoMesh>&
00217 );
00218
00219 template<template<class> class PatchField, class GeoMesh>
00220 tmp<GeometricField<tensor, PatchField, GeoMesh> > symm
00221 (
00222 const GeometricField<tensor, PatchField, GeoMesh>&
00223 );
00224
00225 template<template<class> class PatchField, class GeoMesh>
00226 tmp<GeometricField<tensor, PatchField, GeoMesh> > symm
00227 (
00228 const tmp<GeometricField<tensor, PatchField, GeoMesh> >&
00229 );
00230
00231
00232 template<template<class> class PatchField, class GeoMesh>
00233 void skew
00234 (
00235 GeometricField<tensor, PatchField, GeoMesh>&,
00236 const GeometricField<tensor, PatchField, GeoMesh>&
00237 );
00238
00239 template<template<class> class PatchField, class GeoMesh>
00240 tmp<GeometricField<tensor, PatchField, GeoMesh> > skew
00241 (
00242 const GeometricField<tensor, PatchField, GeoMesh>&
00243 );
00244
00245 template<template<class> class PatchField, class GeoMesh>
00246 tmp<GeometricField<tensor, PatchField, GeoMesh> > skew
00247 (
00248 const tmp<GeometricField<tensor, PatchField, GeoMesh> >&
00249 );
00250
00251
00252 template<template<class> class PatchField, class GeoMesh>
00253 void eigenValues
00254 (
00255 GeometricField<vector, PatchField, GeoMesh>&,
00256 const GeometricField<tensor, PatchField, GeoMesh>&
00257 );
00258
00259 template<template<class> class PatchField, class GeoMesh>
00260 tmp<GeometricField<vector, PatchField, GeoMesh> > eigenValues
00261 (
00262 const GeometricField<tensor, PatchField, GeoMesh>&
00263 );
00264
00265 template<template<class> class PatchField, class GeoMesh>
00266 tmp<GeometricField<vector, PatchField, GeoMesh> > eigenValues
00267 (
00268 const tmp<GeometricField<tensor, PatchField, GeoMesh> >&
00269 );
00270
00271
00272 template<template<class> class PatchField, class GeoMesh>
00273 void eigenVectors
00274 (
00275 GeometricField<tensor, PatchField, GeoMesh>&,
00276 const GeometricField<tensor, PatchField, GeoMesh>&
00277 );
00278
00279 template<template<class> class PatchField, class GeoMesh>
00280 tmp<GeometricField<tensor, PatchField, GeoMesh> > eigenVectors
00281 (
00282 const GeometricField<tensor, PatchField, GeoMesh>&
00283 );
00284
00285 template<template<class> class PatchField, class GeoMesh>
00286 tmp<GeometricField<tensor, PatchField, GeoMesh> > eigenVectors
00287 (
00288 const tmp<GeometricField<tensor, PatchField, GeoMesh> >&
00289 );
00290
00291
00292
00293
00294 }
00295
00296
00297
00298 #ifdef NoRepository
00299 # include "GeometricTensorField.C"
00300 #endif
00301
00302
00303
00304 #endif
00305
00306