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 DimensionedScalarField_H
00036 #define DimensionedScalarField_H
00037
00038 #include <OpenFOAM/DimensionedField.H>
00039 #include <OpenFOAM/scalar.H>
00040
00041 #define TEMPLATE template<class GeoMesh>
00042 #include <OpenFOAM/DimensionedFieldFunctionsM.H>
00043
00044
00045
00046 namespace Foam
00047 {
00048
00049
00050
00051 template<class GeoMesh>
00052 tmp<DimensionedField<scalar, GeoMesh> > stabilise
00053 (
00054 const DimensionedField<scalar, GeoMesh>&,
00055 const dimensioned<scalar>&
00056 );
00057
00058 template<class GeoMesh>
00059 tmp<DimensionedField<scalar, GeoMesh> > stabilise
00060 (
00061 const tmp<DimensionedField<scalar, GeoMesh> >&,
00062 const dimensioned<scalar>&
00063 );
00064
00065
00066
00067
00068 BINARY_TYPE_OPERATOR(scalar, scalar, scalar, +, '+', add)
00069 BINARY_TYPE_OPERATOR(scalar, scalar, scalar, -, '-', subtract)
00070
00071 BINARY_OPERATOR(scalar, scalar, scalar, *, '*', multiply)
00072 BINARY_OPERATOR(scalar, scalar, scalar, /, '|', divide)
00073
00074 BINARY_TYPE_OPERATOR_SF(scalar, scalar, scalar, /, '|', divide)
00075
00076 BINARY_FUNCTION(scalar, scalar, scalar, pow)
00077 BINARY_TYPE_FUNCTION(scalar, scalar, scalar, pow)
00078
00079
00080
00081
00082 UNARY_FUNCTION(scalar, scalar, pow3, pow3)
00083 UNARY_FUNCTION(scalar, scalar, pow4, pow4)
00084 UNARY_FUNCTION(scalar, scalar, pow5, pow5)
00085 UNARY_FUNCTION(scalar, scalar, pow6, pow6)
00086 UNARY_FUNCTION(scalar, scalar, sqrt, sqrt)
00087 UNARY_FUNCTION(scalar, scalar, sign, sign)
00088 UNARY_FUNCTION(scalar, scalar, pos, pos)
00089 UNARY_FUNCTION(scalar, scalar, neg, neg)
00090
00091 UNARY_FUNCTION(scalar, scalar, exp, trans)
00092 UNARY_FUNCTION(scalar, scalar, log, trans)
00093 UNARY_FUNCTION(scalar, scalar, log10, trans)
00094 UNARY_FUNCTION(scalar, scalar, sin, trans)
00095 UNARY_FUNCTION(scalar, scalar, cos, trans)
00096 UNARY_FUNCTION(scalar, scalar, tan, trans)
00097 UNARY_FUNCTION(scalar, scalar, asin, trans)
00098 UNARY_FUNCTION(scalar, scalar, acos, trans)
00099 UNARY_FUNCTION(scalar, scalar, atan, trans)
00100 UNARY_FUNCTION(scalar, scalar, sinh, trans)
00101 UNARY_FUNCTION(scalar, scalar, cosh, trans)
00102 UNARY_FUNCTION(scalar, scalar, tanh, trans)
00103 UNARY_FUNCTION(scalar, scalar, asinh, trans)
00104 UNARY_FUNCTION(scalar, scalar, acosh, trans)
00105 UNARY_FUNCTION(scalar, scalar, atanh, trans)
00106 UNARY_FUNCTION(scalar, scalar, erf, trans)
00107 UNARY_FUNCTION(scalar, scalar, erfc, trans)
00108 UNARY_FUNCTION(scalar, scalar, lgamma, trans)
00109 UNARY_FUNCTION(scalar, scalar, j0, trans)
00110 UNARY_FUNCTION(scalar, scalar, j1, trans)
00111 UNARY_FUNCTION(scalar, scalar, y0, trans)
00112 UNARY_FUNCTION(scalar, scalar, y1, trans)
00113
00114
00115
00116
00117 #define BesselFunc(func) \
00118 \
00119 template<class GeoMesh> \
00120 tmp<DimensionedField<scalar, GeoMesh> > func \
00121 ( \
00122 const int n, \
00123 const DimensionedField<scalar, GeoMesh>& \
00124 ); \
00125 \
00126 template<class GeoMesh> \
00127 tmp<DimensionedField<scalar, GeoMesh> > func \
00128 ( \
00129 const int n, \
00130 const tmp<DimensionedField<scalar, GeoMesh> >& \
00131 );
00132
00133 BesselFunc(jn)
00134 BesselFunc(yn)
00135
00136 #undef BesselFunc
00137
00138
00139
00140
00141 }
00142
00143
00144
00145 #include <OpenFOAM/undefFieldFunctionsM.H>
00146
00147 #ifdef NoRepository
00148 # include <OpenFOAM/DimensionedScalarField.C>
00149 #endif
00150
00151
00152
00153 #endif
00154
00155