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 tensorFieldField_H
00037 #define tensorFieldField_H
00038
00039 #include "FieldField.H"
00040 #include "tensor.H"
00041
00042
00043
00044 namespace Foam
00045 {
00046
00047
00048
00049 template<template<class> class Field>
00050 void hdual
00051 (
00052 FieldField<Field, vector>&,
00053 const FieldField<Field, tensor>&
00054 );
00055
00056 template<template<class> class Field>
00057 tmp<FieldField<Field, vector> > operator*
00058 (
00059 const tmp<FieldField<Field, tensor> >&
00060 );
00061
00062 template<template<class> class Field>
00063 void hdual
00064 (
00065 FieldField<Field, tensor>&,
00066 const FieldField<Field, vector>&
00067 );
00068
00069 template<template<class> class Field>
00070 tmp<FieldField<Field, tensor> > operator*
00071 (
00072 const tmp<FieldField<Field, vector> >&
00073 );
00074
00075 template<template<class> class Field>
00076 void tr(FieldField<Field, scalar>&, const FieldField<Field, tensor>&);
00077
00078 template<template<class> class Field>
00079 tmp<FieldField<Field, scalar> > tr(const tmp<FieldField<Field, tensor> >&);
00080
00081 template<template<class> class Field>
00082 void dev(FieldField<Field, tensor>&, const FieldField<Field, tensor>&);
00083
00084 template<template<class> class Field>
00085 tmp<FieldField<Field, tensor> > dev(const FieldField<Field, tensor>&);
00086
00087 template<template<class> class Field>
00088 tmp<FieldField<Field, tensor> > dev(const tmp<FieldField<Field, tensor> >&);
00089
00090 template<template<class> class Field>
00091 void dev2(FieldField<Field, tensor>&, const FieldField<Field, tensor>&);
00092
00093 template<template<class> class Field>
00094 tmp<FieldField<Field, tensor> > dev2(const FieldField<Field, tensor>&);
00095
00096 template<template<class> class Field>
00097 tmp<FieldField<Field, tensor> > dev2(const tmp<FieldField<Field, tensor> >&);
00098
00099 template<template<class> class Field>
00100 void det(FieldField<Field, scalar>&, const FieldField<Field, tensor>&);
00101
00102 template<template<class> class Field>
00103 tmp<FieldField<Field, scalar> > det(const tmp<FieldField<Field, tensor> >&);
00104
00105 template<template<class> class Field>
00106 void inv(FieldField<Field, tensor>&, const FieldField<Field, tensor>&);
00107
00108 template<template<class> class Field>
00109 tmp<FieldField<Field, tensor> > inv(const FieldField<Field, tensor>&);
00110
00111 template<template<class> class Field>
00112 tmp<FieldField<Field, tensor> > inv(const tmp<FieldField<Field, tensor> >&);
00113
00114 template<template<class> class Field>
00115 void hinv(FieldField<Field, tensor>&, const FieldField<Field, tensor>&);
00116
00117 template<template<class> class Field>
00118 tmp<FieldField<Field, tensor> > hinv(const FieldField<Field, tensor>&);
00119
00120 template<template<class> class Field>
00121 tmp<FieldField<Field, tensor> > hinv(const tmp<FieldField<Field, tensor> >&);
00122
00123 template<template<class> class Field>
00124 void symm(FieldField<Field, tensor>&, const FieldField<Field, tensor>&);
00125
00126 template<template<class> class Field>
00127 tmp<FieldField<Field, tensor> > symm(const FieldField<Field, tensor>&);
00128
00129 template<template<class> class Field>
00130 tmp<FieldField<Field, tensor> > symm(const tmp<FieldField<Field, tensor> >&);
00131
00132 template<template<class> class Field>
00133 void skew(FieldField<Field, tensor>&, const FieldField<Field, tensor>&);
00134
00135 template<template<class> class Field>
00136 tmp<FieldField<Field, tensor> > skew(const FieldField<Field, tensor>&);
00137
00138 template<template<class> class Field>
00139 tmp<FieldField<Field, tensor> > skew(const tmp<FieldField<Field, tensor> >&);
00140
00141 template<template<class> class Field>
00142 void eigenValues(FieldField<Field, vector>&, const FieldField<Field, tensor>&);
00143
00144 template<template<class> class Field>
00145 tmp<FieldField<Field, vector> > eigenValues
00146 (
00147 const tmp<FieldField<Field, tensor> >&
00148 );
00149
00150 template<template<class> class Field>
00151 void eigenVectors
00152 (
00153 FieldField<Field, tensor>&,
00154 const FieldField<Field, tensor>&
00155 );
00156
00157 template<template<class> class Field>
00158 tmp<FieldField<Field, tensor> > eigenVectors
00159 (
00160 const FieldField<Field, tensor>&
00161 );
00162
00163 template<template<class> class Field>
00164 tmp<FieldField<Field, tensor> > eigenVectors
00165 (
00166 const tmp<FieldField<Field, tensor> >&
00167 );
00168
00169
00170
00171
00172 }
00173
00174
00175
00176 #ifdef NoRepository
00177 # include "tensorFieldField.C"
00178 #endif
00179
00180
00181
00182 #endif
00183
00184