28 #define TEMPLATE template<class GeoMesh> 38 template<
class GeoMesh>
39 tmp<DimensionedField<scalar, GeoMesh>>
stabilise 51 "stabilise(" + dsf.
name() +
',' + ds.
name() +
')',
66 template<
class GeoMesh>
78 "stabilise(" + dsf.
name() +
',' + ds.
name() +
')',
102 template<
class GeoMesh>
112 <<
"Base field is not dimensionless: " << dsf1.
dimensions()
119 <<
"Exponent field is not dimensionless: " << dsf2.
dimensions()
129 "pow(" + dsf1.
name() +
',' + dsf2.
name() +
')',
144 template<
class GeoMesh>
156 <<
"Base field is not dimensionless: " << dsf1.
dimensions()
163 <<
"Exponent field is not dimensionless: " << dsf2.
dimensions()
170 "pow(" + dsf1.
name() +
',' + dsf2.
name() +
')',
182 template<
class GeoMesh>
194 <<
"Base field is not dimensionless: " << dsf1.
dimensions()
201 <<
"Exponent field is not dimensionless: " << dsf2.
dimensions()
208 "pow(" + dsf1.
name() +
',' + dsf2.
name() +
')',
220 template<
class GeoMesh>
233 <<
"Base field is not dimensionless: " << dsf1.
dimensions()
240 <<
"Exponent field is not dimensionless: " << dsf2.
dimensions()
250 "pow(" + dsf1.
name() +
',' + dsf2.
name() +
')',
263 template<
class GeoMesh>
273 <<
"Exponent is not dimensionless: " << ds.
dimensions()
283 "pow(" + dsf.
name() +
',' + ds.
name() +
')',
298 template<
class GeoMesh>
308 <<
"Exponent is not dimensionless: " << ds.
dimensions()
317 "pow(" + dsf.
name() +
',' + ds.
name() +
')',
329 template<
class GeoMesh>
340 template<
class GeoMesh>
351 template<
class GeoMesh>
361 <<
"Base scalar is not dimensionless: " << ds.
dimensions()
368 <<
"Exponent field is not dimensionless: " << dsf.
dimensions()
378 "pow(" + ds.
name() +
',' + dsf.
name() +
')',
393 template<
class GeoMesh>
405 <<
"Base scalar is not dimensionless: " << ds.
dimensions()
412 <<
"Exponent field is not dimensionless: " << dsf.
dimensions()
419 "pow(" + ds.
name() +
',' + dsf.
name() +
')',
430 template<
class GeoMesh>
440 template<
class GeoMesh>
453 template<
class GeoMesh>
466 "atan2(" + dsf1.
name() +
',' + dsf2.
name() +
')',
481 template<
class GeoMesh>
493 "atan2(" + dsf1.
name() +
',' + dsf2.
name() +
')',
505 template<
class GeoMesh>
517 "atan2(" + dsf1.
name() +
',' + dsf2.
name() +
')',
528 template<
class GeoMesh>
544 "atan2(" + dsf1.
name() +
',' + dsf2.
name() +
')',
557 template<
class GeoMesh>
570 "atan2(" + dsf.
name() +
',' + ds.
name() +
')',
584 template<
class GeoMesh>
596 "atan2(" + dsf.
name() +
',' + ds.
name() +
')',
607 template<
class GeoMesh>
617 template<
class GeoMesh>
628 template<
class GeoMesh>
641 "atan2(" + ds.
name() +
',' + dsf.
name() +
')',
656 template<
class GeoMesh>
668 "atan2(" + ds.
name() +
',' + dsf.
name() +
')',
679 template<
class GeoMesh>
689 template<
class GeoMesh>
741 #define BesselFunc(func) \ 743 template<class GeoMesh> \ 744 tmp<DimensionedField<scalar, GeoMesh>> func \ 747 const DimensionedField<scalar, GeoMesh>& dsf \ 750 if (!dsf.dimensions().dimensionless()) \ 752 FatalErrorInFunction \ 753 << "dsf not dimensionless" \ 754 << abort(FatalError); \ 757 tmp<DimensionedField<scalar, GeoMesh>> tFunc \ 759 new DimensionedField<scalar, GeoMesh> \ 763 #func "(" + name(n) + ',' + dsf.name() + ')', \ 772 func(tFunc.ref().field(), n, dsf.field()); \ 777 template<class GeoMesh> \ 778 tmp<DimensionedField<scalar, GeoMesh>> func \ 781 const tmp<DimensionedField<scalar, GeoMesh>>& tdsf \ 784 const DimensionedField<scalar, GeoMesh>& dsf = tdsf(); \ 786 if (!dsf.dimensions().dimensionless()) \ 788 FatalErrorInFunction \ 789 << " : dsf not dimensionless" \ 790 << abort(FatalError); \ 793 tmp<DimensionedField<scalar, GeoMesh>> tFunc \ 798 #func "(" + name(n) + ',' + dsf.name() + ')', \ 803 func(tFunc.ref().field(), n, dsf.field()); \ void divide(FieldField< Field, Type > &f, const FieldField< Field, Type > &f1, const FieldField< Field, scalar > &f2)
dimensionedScalar sign(const dimensionedScalar &ds)
dimensionedScalar tanh(const dimensionedScalar &ds)
dimensionSet trans(const dimensionSet &)
dimensionedScalar acos(const dimensionedScalar &ds)
#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc)
static tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< Type1, GeoMesh >> &tdf1, const tmp< DimensionedField< Type2, GeoMesh >> &tdf2, const word &name, const dimensionSet &dimensions)
void multiply(FieldField< Field, Type > &f, const FieldField< Field, Type > &f1, const FieldField< Field, scalar > &f2)
dimensionedScalar log(const dimensionedScalar &ds)
const objectRegistry & db() const
Return the local objectRegistry.
errorManipArg< error, int > exit(error &err, const int errNo=1)
const dimensionSet & dimensions() const
Return const reference to dimensions.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
#define UNARY_FUNCTION(ReturnType, Type1, Func, Dfunc)
dimensionedScalar yn(const int n, const dimensionedScalar &ds)
#define BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpName, OpFunc)
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensionedScalar pow025(const dimensionedScalar &ds)
dimensionedScalar y0(const dimensionedScalar &ds)
const Type & value() const
Return const reference to value.
void subtract(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
dimensionedScalar posPart(const dimensionedScalar &ds)
dimensionedScalar neg(const dimensionedScalar &ds)
dimensionedScalar asin(const dimensionedScalar &ds)
dimensionedScalar pow5(const dimensionedScalar &ds)
dimensionedScalar j1(const dimensionedScalar &ds)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
const word & name() const
Return const reference to name.
dimensionedScalar pos(const dimensionedScalar &ds)
dimensionedScalar acosh(const dimensionedScalar &ds)
dimensionedScalar cos(const dimensionedScalar &ds)
dimensionedScalar exp(const dimensionedScalar &ds)
dimensionedScalar asinh(const dimensionedScalar &ds)
dimensionedScalar jn(const int n, const dimensionedScalar &ds)
dimensionedScalar cbrt(const dimensionedScalar &ds)
dimensionedScalar atanh(const dimensionedScalar &ds)
dimensionedScalar y1(const dimensionedScalar &ds)
const dimensionSet & dimensions() const
Return dimensions.
const Field< Type > & field() const
dimensionedScalar sin(const dimensionedScalar &ds)
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
dimensionedScalar erf(const dimensionedScalar &ds)
dimensionedScalar atan2(const dimensionedScalar &x, const dimensionedScalar &y)
dimensionedScalar lgamma(const dimensionedScalar &ds)
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
dimensionedScalar pow3(const dimensionedScalar &ds)
tmp< DimensionedField< scalar, GeoMesh > > stabilise(const DimensionedField< scalar, GeoMesh > &dsf, const dimensioned< scalar > &ds)
dimensionedScalar erfc(const dimensionedScalar &ds)
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
dimensionedScalar sinh(const dimensionedScalar &ds)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
bool dimensionless() const
Return true if it is dimensionless.
const Mesh & mesh() const
Return mesh.
dimensionedScalar atan(const dimensionedScalar &ds)
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
dimensionedScalar pow4(const dimensionedScalar &ds)
dimensionedScalar pow6(const dimensionedScalar &ds)
Scalar specific part of the implementation of DimensionedField.
dimensionedScalar cosh(const dimensionedScalar &ds)
A class for managing temporary objects.
dimensionedScalar tan(const dimensionedScalar &ds)
T & ref() const
Return non-const reference or generate a fatal error.
dimensionedScalar j0(const dimensionedScalar &ds)
#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc)
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const fileName & instance() const
dimensionedScalar log10(const dimensionedScalar &ds)
const word & name() const
Return name.
dimensionedScalar negPart(const dimensionedScalar &ds)