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 #include <OpenFOAM/dimensionedSymmTensor.H>
00028
00029
00030
00031 namespace Foam
00032 {
00033
00034
00035
00036 template<>
00037 dimensionedSymmTensor dimensionedSymmTensor::T() const
00038 {
00039 return dimensionedSymmTensor
00040 (
00041 name()+".T()",
00042 dimensions(),
00043 value().T()
00044 );
00045 }
00046
00047
00048
00049
00050 dimensionedSymmTensor sqr(const dimensionedVector& dv)
00051 {
00052 return dimensionedSymmTensor
00053 (
00054 "sqr("+dv.name()+')',
00055 sqr(dv.dimensions()),
00056 sqr(dv.value())
00057 );
00058 }
00059
00060
00061 dimensionedScalar tr(const dimensionedSymmTensor& dt)
00062 {
00063 return dimensionedScalar
00064 (
00065 "tr("+dt.name()+')',
00066 dt.dimensions(),
00067 tr(dt.value())
00068 );
00069 }
00070
00071
00072 dimensionedSymmTensor symm(const dimensionedSymmTensor& dt)
00073 {
00074 return dimensionedSymmTensor
00075 (
00076 "symm("+dt.name()+')',
00077 dt.dimensions(),
00078 symm(dt.value())
00079 );
00080 }
00081
00082
00083 dimensionedSymmTensor twoSymm(const dimensionedSymmTensor& dt)
00084 {
00085 return dimensionedSymmTensor
00086 (
00087 "twoSymm("+dt.name()+')',
00088 dt.dimensions(),
00089 twoSymm(dt.value())
00090 );
00091 }
00092
00093
00094 dimensionedSymmTensor dev(const dimensionedSymmTensor& dt)
00095 {
00096 return dimensionedSymmTensor
00097 (
00098 "dev("+dt.name()+')',
00099 dt.dimensions(),
00100 dev(dt.value())
00101 );
00102 }
00103
00104
00105 dimensionedSymmTensor dev2(const dimensionedSymmTensor& dt)
00106 {
00107 return dimensionedSymmTensor
00108 (
00109 "dev2("+dt.name()+')',
00110 dt.dimensions(),
00111 dev2(dt.value())
00112 );
00113 }
00114
00115
00116 dimensionedScalar det(const dimensionedSymmTensor& dt)
00117 {
00118 return dimensionedScalar
00119 (
00120 "det("+dt.name()+')',
00121 pow(dt.dimensions(), symmTensor::dim),
00122 det(dt.value())
00123 );
00124 }
00125
00126
00127 dimensionedSymmTensor cof(const dimensionedSymmTensor& dt)
00128 {
00129 return dimensionedSymmTensor
00130 (
00131 "cof("+dt.name()+')',
00132 dt.dimensions(),
00133 cof(dt.value())
00134 );
00135 }
00136
00137
00138 dimensionedSymmTensor inv(const dimensionedSymmTensor& dt)
00139 {
00140 return dimensionedSymmTensor
00141 (
00142 "inv("+dt.name()+')',
00143 dimless/dt.dimensions(),
00144 inv(dt.value())
00145 );
00146 }
00147
00148
00149
00150
00151 dimensionedVector operator*(const dimensionedSymmTensor& dt)
00152 {
00153 return dimensionedVector
00154 (
00155 "*"+dt.name(),
00156 dt.dimensions(),
00157 *dt.value()
00158 );
00159 }
00160
00161
00162
00163
00164 }
00165
00166