GeometricScalarField.C
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2011-2024 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 \*---------------------------------------------------------------------------*/
25 
26 #include "GeometricScalarField.H"
27 
28 #define TEMPLATE \
29  template \
30  < \
31  class GeoMesh, \
32  template<class> class PrimitiveField \
33  >
34 #define TEMPLATE2 \
35  template \
36  < \
37  class GeoMesh, \
38  template<class> class PrimitiveField1, \
39  template<class> class PrimitiveField2 \
40  >
41 #define TEMPLATE3 \
42  template \
43  < \
44  class GeoMesh, \
45  template<class> class PrimitiveField1, \
46  template<class> class PrimitiveField2, \
47  template<class> class PrimitiveField3 \
48  >
50 
51 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
52 
53 namespace Foam
54 {
55 
56 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
57 
60 (
63  const dimensioned<scalar>& ds
64 )
65 {
66  stabilise(result.primitiveFieldRef(), gsf.primitiveField(), ds.value());
67  stabilise(result.boundaryFieldRef(), gsf.boundaryField(), ds.value());
68 }
69 
70 
73 (
75  const dimensioned<scalar>& ds
76 )
77 {
79  (
81  (
82  "stabilise(" + gsf.name() + ',' + ds.name() + ')',
83  gsf.mesh(),
84  ds.dimensions() + gsf.dimensions()
85  )
86  );
87 
88  stabilise(tRes.ref(), gsf, ds);
89 
90  return tRes;
91 }
92 
93 
96 (
98  const dimensioned<scalar>& ds
99 )
100 {
102 
104  (
105  New
106  (
107  tgsf,
108  "stabilise(" + gsf.name() + ',' + ds.name() + ')',
109  ds.dimensions() + gsf.dimensions()
110  )
111  );
112 
113  stabilise(tRes.ref(), gsf, ds);
114 
115  tgsf.clear();
116 
117  return tRes;
118 }
119 
120 
121 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
122 
123 BINARY_TYPE_OPERATOR(scalar, scalar, scalar, +, '+', add)
124 BINARY_TYPE_OPERATOR(scalar, scalar, scalar, -, '-', subtract)
125 
126 BINARY_OPERATOR(scalar, scalar, scalar, *, '*', multiply)
127 BINARY_OPERATOR(scalar, scalar, scalar, /, '|', divide)
128 
129 BINARY_TYPE_OPERATOR_SF(scalar, scalar, scalar, /, '|', divide)
130 
131 
132 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
133 
134 TEMPLATE3
135 void pow
136 (
140 )
141 {
142  pow(Pow.primitiveFieldRef(), gsf1.primitiveField(), gsf2.primitiveField());
143  pow(Pow.boundaryFieldRef(), gsf1.boundaryField(), gsf2.boundaryField());
144 }
145 
146 
147 TEMPLATE2
149 (
152 )
153 {
154  if (!gsf1.dimensions().dimensionless())
155  {
157  << "Base field is not dimensionless: " << gsf1.dimensions()
158  << exit(FatalError);
159  }
160 
161  if (!gsf2.dimensions().dimensionless())
162  {
164  << "Exponent field is not dimensionless: " << gsf2.dimensions()
165  << exit(FatalError);
166  }
167 
169  (
171  (
172  "pow(" + gsf1.name() + ',' + gsf2.name() + ')',
173  gsf1.mesh(),
174  dimless
175  )
176  );
177 
178  pow(tPow.ref(), gsf1, gsf2);
179 
180  return tPow;
181 }
182 
183 
184 TEMPLATE2
186 (
189 )
190 {
192  tgsf1();
193 
194  if (!gsf1.dimensions().dimensionless())
195  {
197  << "Base field is not dimensionless: " << gsf1.dimensions()
198  << exit(FatalError);
199  }
200 
201  if (!gsf2.dimensions().dimensionless())
202  {
204  << "Exponent field is not dimensionless: " << gsf2.dimensions()
205  << exit(FatalError);
206  }
207 
209  (
211  (
212  tgsf1,
213  "pow(" + gsf1.name() + ',' + gsf2.name() + ')',
214  dimless
215  )
216  );
217 
218  pow(tPow.ref(), gsf1, gsf2);
219 
220  tgsf1.clear();
221 
222  return tPow;
223 }
224 
225 
226 TEMPLATE2
228 (
231 )
232 {
234  tgsf2();
235 
236  if (!gsf1.dimensions().dimensionless())
237  {
239  << "Base field is not dimensionless: " << gsf1.dimensions()
240  << exit(FatalError);
241  }
242 
243  if (!gsf2.dimensions().dimensionless())
244  {
246  << "Exponent field is not dimensionless: " << gsf2.dimensions()
247  << exit(FatalError);
248  }
249 
251  (
253  (
254  tgsf2,
255  "pow(" + gsf1.name() + ',' + gsf2.name() + ')',
256  dimless
257  )
258  );
259 
260  pow(tPow.ref(), gsf1, gsf2);
261 
262  tgsf2.clear();
263 
264  return tPow;
265 }
266 
267 
268 TEMPLATE2
270 (
273 )
274 {
277 
278  if (!gsf1.dimensions().dimensionless())
279  {
281  << "Base field is not dimensionless: " << gsf1.dimensions()
282  << exit(FatalError);
283  }
284 
285  if (!gsf2.dimensions().dimensionless())
286  {
288  << "Exponent field is not dimensionless: " << gsf2.dimensions()
289  << exit(FatalError);
290  }
291 
293  (
295  <
296  scalar,
297  scalar,
298  scalar,
299  GeoMesh,
300  PrimitiveField1,
301  PrimitiveField2
302  >::New
303  (
304  tgsf1,
305  tgsf2,
306  "pow(" + gsf1.name() + ',' + gsf2.name() + ')',
307  dimless
308  )
309  );
310 
311  pow(tPow.ref(), gsf1, gsf2);
312 
313  tgsf1.clear();
314  tgsf2.clear();
315 
316  return tPow;
317 }
318 
319 
320 TEMPLATE2
321 void pow
322 (
325  const dimensioned<scalar>& ds
326 )
327 {
328  pow(tPow.primitiveFieldRef(), gsf.primitiveField(), ds.value());
329  pow(tPow.boundaryFieldRef(), gsf.boundaryField(), ds.value());
330 }
331 
332 
333 TEMPLATE
335 (
337  const dimensionedScalar& ds
338 )
339 {
340  if (!ds.dimensions().dimensionless())
341  {
343  << "Exponent is not dimensionless: " << ds.dimensions()
344  << exit(FatalError);
345  }
346 
348  (
350  (
351  "pow(" + gsf.name() + ',' + ds.name() + ')',
352  gsf.mesh(),
353  pow(gsf.dimensions(), ds)
354  )
355  );
356 
357  pow(tPow.ref(), gsf, ds);
358 
359  return tPow;
360 }
361 
362 
363 TEMPLATE
365 (
367  const dimensionedScalar& ds
368 )
369 {
370  if (!ds.dimensions().dimensionless())
371  {
373  << "Exponent is not dimensionless: " << ds.dimensions()
374  << exit(FatalError);
375  }
376 
378 
380  (
382  (
383  tgsf,
384  "pow(" + gsf.name() + ',' + ds.name() + ')',
385  pow(gsf.dimensions(), ds)
386  )
387  );
388 
389  pow(tPow.ref(), gsf, ds);
390 
391  tgsf.clear();
392 
393  return tPow;
394 }
395 
396 
397 TEMPLATE
399 (
401  const scalar& s
402 )
403 {
404  return pow(gsf, dimensionedScalar(s));
405 }
406 
407 
408 TEMPLATE
410 (
412  const scalar& s
413 )
414 {
415  return pow(tgsf, dimensionedScalar(s));
416 }
417 
418 
419 TEMPLATE2
420 void pow
421 (
423  const dimensioned<scalar>& ds,
425 )
426 {
427  pow(tPow.primitiveFieldRef(), ds.value(), gsf.primitiveField());
428  pow(tPow.boundaryFieldRef(), ds.value(), gsf.boundaryField());
429 }
430 
431 
432 TEMPLATE
434 (
435  const dimensionedScalar& ds,
437 )
438 {
439  if (!ds.dimensions().dimensionless())
440  {
442  << "Base scalar is not dimensionless: " << ds.dimensions()
443  << exit(FatalError);
444  }
445 
446  if (!gsf.dimensions().dimensionless())
447  {
449  << "Exponent field is not dimensionless: " << gsf.dimensions()
450  << exit(FatalError);
451  }
452 
454  (
456  (
457  "pow(" + ds.name() + ',' + gsf.name() + ')',
458  gsf.mesh(),
459  dimless
460  )
461  );
462 
463  pow(tPow.ref(), ds, gsf);
464 
465  return tPow;
466 }
467 
468 
469 TEMPLATE
471 (
472  const dimensionedScalar& ds,
474 )
475 {
477 
478  if (!ds.dimensions().dimensionless())
479  {
481  << "Base scalar is not dimensionless: " << ds.dimensions()
482  << exit(FatalError);
483  }
484 
485  if (!gsf.dimensions().dimensionless())
486  {
488  << "Exponent field is not dimensionless: " << gsf.dimensions()
489  << exit(FatalError);
490  }
491 
493  (
495  (
496  tgsf,
497  "pow(" + ds.name() + ',' + gsf.name() + ')',
498  dimless
499  )
500  );
501 
502  pow(tPow.ref(), ds, gsf);
503 
504  tgsf.clear();
505 
506  return tPow;
507 }
508 
509 
510 TEMPLATE
512 (
513  const scalar& s,
515 )
516 {
517  return pow(dimensionedScalar(s), gsf);
518 }
519 
520 
521 TEMPLATE
523 (
524  const scalar& s,
526 )
527 {
528  return pow(dimensionedScalar(s), tgsf);
529 }
530 
531 
532 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
533 
534 TEMPLATE3
535 void atan2
536 (
540 )
541 {
542  atan2
543  (
544  Atan2.primitiveFieldRef(),
545  gsf1.primitiveField(),
546  gsf2.primitiveField()
547  );
548  atan2
549  (
550  Atan2.boundaryFieldRef(),
551  gsf1.boundaryField(),
552  gsf2.boundaryField()
553  );
554 }
555 
556 
557 TEMPLATE2
559 (
562 )
563 {
565  (
567  (
568  "atan2(" + gsf1.name() + ',' + gsf2.name() + ')',
569  gsf1.mesh(),
570  atan2(gsf1.dimensions(), gsf2.dimensions())
571  )
572  );
573 
574  atan2(tAtan2.ref(), gsf1, gsf2);
575 
576  return tAtan2;
577 }
578 
579 
580 TEMPLATE2
582 (
585 )
586 {
588 
590  (
592  <scalar, scalar, GeoMesh, PrimitiveField1>::New
593  (
594  tgsf1,
595  "atan2(" + gsf1.name() + ',' + gsf2.name() + ')',
596  atan2(gsf1.dimensions(), gsf2.dimensions())
597  )
598  );
599 
600  atan2(tAtan2.ref(), gsf1, gsf2);
601 
602  tgsf1.clear();
603 
604  return tAtan2;
605 }
606 
607 
608 TEMPLATE2
610 (
613 )
614 {
616 
618  (
620  <scalar, scalar, GeoMesh, PrimitiveField2>::New
621  (
622  tgsf2,
623  "atan2(" + gsf1.name() + ',' + gsf2.name() + ')',
624  atan2( gsf1.dimensions(), gsf2.dimensions())
625  )
626  );
627 
628  atan2(tAtan2.ref(), gsf1, gsf2);
629 
630  tgsf2.clear();
631 
632  return tAtan2;
633 }
634 
635 
636 TEMPLATE2
638 (
641 )
642 {
645 
647  (
649  <
650  scalar,
651  scalar,
652  scalar,
653  GeoMesh,
654  PrimitiveField1,
655  PrimitiveField2
656  >::New
657  (
658  tgsf1,
659  tgsf2,
660  "atan2(" + gsf1.name() + ',' + gsf2.name() + ')',
661  atan2(gsf1.dimensions(), gsf2.dimensions())
662  )
663  );
664 
665  atan2(tAtan2.ref(), gsf1, gsf2);
666 
667  tgsf1.clear();
668  tgsf2.clear();
669 
670  return tAtan2;
671 }
672 
673 
674 TEMPLATE2
675 void atan2
676 (
679  const dimensioned<scalar>& ds
680 )
681 {
682  atan2(tAtan2.primitiveFieldRef(), gsf.primitiveField(), ds.value());
683  atan2(tAtan2.boundaryFieldRef(), gsf.boundaryField(), ds.value());
684 }
685 
686 
687 TEMPLATE
689 (
691  const dimensionedScalar& ds
692 )
693 {
695  (
697  (
698  "atan2(" + gsf.name() + ',' + ds.name() + ')',
699  gsf.mesh(),
700  atan2(gsf.dimensions(), ds)
701  )
702  );
703 
704  atan2(tAtan2.ref(), gsf, ds);
705 
706  return tAtan2;
707 }
708 
709 
710 TEMPLATE
712 (
714  const dimensionedScalar& ds
715 )
716 {
718 
720  (
722  (
723  tgsf,
724  "atan2(" + gsf.name() + ',' + ds.name() + ')',
725  atan2(gsf.dimensions(), ds)
726  )
727  );
728 
729  atan2(tAtan2.ref(), gsf, ds);
730 
731  tgsf.clear();
732 
733  return tAtan2;
734 }
735 
736 
737 TEMPLATE
739 (
741  const scalar& s
742 )
743 {
744  return atan2(gsf, dimensionedScalar(s));
745 }
746 
747 
748 TEMPLATE
750 (
752  const scalar& s
753 )
754 {
755  return atan2(tgsf, dimensionedScalar(s));
756 }
757 
758 
759 TEMPLATE2
760 void atan2
761 (
763  const dimensioned<scalar>& ds,
765 )
766 {
767  atan2(tAtan2.primitiveFieldRef(), ds.value(), gsf.primitiveField());
768  atan2(tAtan2.boundaryFieldRef(), ds.value(), gsf.boundaryField());
769 }
770 
771 
772 TEMPLATE
774 (
775  const dimensionedScalar& ds,
777 )
778 {
780  (
782  (
783  "atan2(" + ds.name() + ',' + gsf.name() + ')',
784  gsf.mesh(),
785  atan2(ds, gsf.dimensions())
786  )
787  );
788 
789  atan2(tAtan2.ref(), ds, gsf);
790 
791  return tAtan2;
792 }
793 
794 
795 TEMPLATE
797 (
798  const dimensionedScalar& ds,
800 )
801 {
803 
805  (
807  (
808  tgsf,
809  "atan2(" + ds.name() + ',' + gsf.name() + ')',
810  atan2(ds, gsf.dimensions())
811  )
812  );
813 
814  atan2(tAtan2.ref(), ds, gsf);
815 
816  tgsf.clear();
817 
818  return tAtan2;
819 }
820 
821 
822 TEMPLATE
824 (
825  const scalar& s,
827 )
828 {
829  return atan2(dimensionedScalar(s), gsf);
830 }
831 
832 
833 TEMPLATE
835 (
836  const scalar& s,
838 )
839 {
840  return atan2(dimensionedScalar(s), tgsf);
841 }
842 
843 
844 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
845 
846 UNARY_FUNCTION(scalar, scalar, pow3, pow3)
847 UNARY_FUNCTION(scalar, scalar, pow4, pow4)
848 UNARY_FUNCTION(scalar, scalar, pow5, pow5)
849 UNARY_FUNCTION(scalar, scalar, pow6, pow6)
850 UNARY_FUNCTION(scalar, scalar, pow025, pow025)
851 UNARY_FUNCTION(scalar, scalar, sqrt, sqrt)
852 UNARY_FUNCTION(scalar, scalar, cbrt, cbrt)
853 UNARY_FUNCTION(scalar, scalar, sign, sign)
854 UNARY_FUNCTION(scalar, scalar, pos, pos)
855 UNARY_FUNCTION(scalar, scalar, pos0, pos0)
856 UNARY_FUNCTION(scalar, scalar, neg, neg)
857 UNARY_FUNCTION(scalar, scalar, neg0, neg0)
858 UNARY_FUNCTION(scalar, scalar, posPart, posPart)
859 UNARY_FUNCTION(scalar, scalar, negPart, negPart)
860 
861 UNARY_FUNCTION(scalar, scalar, exp, trans)
862 UNARY_FUNCTION(scalar, scalar, log, trans)
863 UNARY_FUNCTION(scalar, scalar, log10, trans)
864 UNARY_FUNCTION(scalar, scalar, sin, trans)
865 UNARY_FUNCTION(scalar, scalar, cos, trans)
866 UNARY_FUNCTION(scalar, scalar, tan, trans)
867 UNARY_FUNCTION(scalar, scalar, asin, trans)
868 UNARY_FUNCTION(scalar, scalar, acos, trans)
869 UNARY_FUNCTION(scalar, scalar, atan, trans)
870 UNARY_FUNCTION(scalar, scalar, sinh, trans)
871 UNARY_FUNCTION(scalar, scalar, cosh, trans)
872 UNARY_FUNCTION(scalar, scalar, tanh, trans)
873 UNARY_FUNCTION(scalar, scalar, asinh, trans)
874 UNARY_FUNCTION(scalar, scalar, acosh, trans)
875 UNARY_FUNCTION(scalar, scalar, atanh, trans)
876 UNARY_FUNCTION(scalar, scalar, erf, trans)
877 UNARY_FUNCTION(scalar, scalar, erfc, trans)
878 UNARY_FUNCTION(scalar, scalar, lgamma, trans)
879 UNARY_FUNCTION(scalar, scalar, j0, trans)
880 UNARY_FUNCTION(scalar, scalar, j1, trans)
881 UNARY_FUNCTION(scalar, scalar, y0, trans)
882 UNARY_FUNCTION(scalar, scalar, y1, trans)
883 
884 
885 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
886 
887 #define BesselFunc(func) \
888  \
889 TEMPLATE2 \
890 void func \
891 ( \
892  GeometricField<scalar, GeoMesh, PrimitiveField1>& gsf, \
893  const int n, \
894  const GeometricField<scalar, GeoMesh, PrimitiveField2>& gsf1 \
895 ) \
896 { \
897  func(gsf.primitiveFieldRef(), n, gsf1.primitiveField()); \
898  func(gsf.boundaryFieldRef(), n, gsf1.boundaryField()); \
899 } \
900  \
901 TEMPLATE \
902 tmp<GeometricField<scalar, GeoMesh, Field>> func \
903 ( \
904  const int n, \
905  const GeometricField<scalar, GeoMesh, PrimitiveField>& gsf \
906 ) \
907 { \
908  if (!gsf.dimensions().dimensionless()) \
909  { \
910  FatalErrorInFunction \
911  << "gsf not dimensionless" \
912  << abort(FatalError); \
913  } \
914  \
915  tmp<GeometricField<scalar, GeoMesh, Field>> tFunc \
916  ( \
917  GeometricField<scalar, GeoMesh, Field>::New \
918  ( \
919  #func "(" + gsf.name() + ')', \
920  gsf.mesh(), \
921  dimless \
922  ) \
923  ); \
924  \
925  func(tFunc.ref(), n, gsf); \
926  \
927  return tFunc; \
928 } \
929  \
930 TEMPLATE \
931 tmp<GeometricField<scalar, GeoMesh, Field>> func \
932 ( \
933  const int n, \
934  const tmp<GeometricField<scalar, GeoMesh, PrimitiveField>>& tgsf \
935 ) \
936 { \
937  const GeometricField<scalar, GeoMesh, PrimitiveField>& gsf = tgsf(); \
938  \
939  if (!gsf.dimensions().dimensionless()) \
940  { \
941  FatalErrorInFunction \
942  << " : gsf not dimensionless" \
943  << abort(FatalError); \
944  } \
945  \
946  tmp<GeometricField<scalar, GeoMesh, Field>> tFunc \
947  ( \
948  reuseTmpGeometricField<scalar, scalar, GeoMesh, PrimitiveField>::New \
949  ( \
950  tgsf, \
951  #func "(" + gsf.name() + ')', \
952  dimless \
953  ) \
954  ); \
955  \
956  func(tFunc.ref(), n, gsf); \
957  \
958  tgsf.clear(); \
959  \
960  return tFunc; \
961 }
962 
965 
966 #undef BesselFunc
967 
968 
969 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
970 
971 } // End namespace Foam
972 
973 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
974 
975 #include "undefFieldFunctionsM.H"
976 
977 // ************************************************************************* //
#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc)
#define TEMPLATE2
#define TEMPLATE
#define TEMPLATE3
#define BesselFunc(func)
Scalar specific part of the implementation of GeometricField.
#define BINARY_OPERATOR(Template, Type, Type1, Type2, op, opFunc)
#define UNARY_FUNCTION(Template, Type, Type1, func)
#define BINARY_TYPE_OPERATOR_SF(TYPE, op, opFunc)
const dimensionSet & dimensions() const
Return dimensions.
const Mesh & mesh() const
Return mesh.
Generic mesh wrapper used by volMesh, surfaceMesh, pointMesh etc.
Definition: GeoMesh.H:47
Generic GeometricField class.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
Internal::FieldType & primitiveFieldRef()
Return a reference to the primitive field.
Boundary & boundaryFieldRef()
Return a reference to the boundary field.
const Internal::FieldType & primitiveField() const
Return a const-reference to the primitive field.
const word & name() const
Return name.
Definition: IOobject.H:307
bool dimensionless() const
Return true if it is dimensionless.
Definition: dimensionSet.C:107
const dimensionSet & dimensions() const
Return const reference to dimensions.
const Type & value() const
Return const reference to value.
const word & name() const
Return const reference to name.
A class for managing temporary objects.
Definition: tmp.H:55
T & ref() const
Return non-const reference or generate a fatal error.
Definition: tmpI.H:197
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Definition: error.H:334
gmvFile<< "tracers "<< particles.size()<< nl;forAllConstIter(lagrangian::Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().x()<< " ";}gmvFile<< nl;forAllConstIter(lagrangian::Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().y()<< " ";}gmvFile<< nl;forAllConstIter(lagrangian::Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.name(), lagrangian::cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
Namespace for OpenFOAM.
void subtract(LagrangianPatchField< typename typeOfSum< Type1, Type2 >::type > &f, const LagrangianPatchField< Type1 > &f1, const LagrangianPatchField< Type2 > &f2)
errorManipArg< error, int > exit(error &err, const int errNo=1)
Definition: errorManip.H:124
dimensionedScalar pos(const dimensionedScalar &ds)
dimensionedScalar erfc(const dimensionedScalar &ds)
dimensionedScalar asin(const dimensionedScalar &ds)
dimensionedScalar exp(const dimensionedScalar &ds)
dimensionedScalar tan(const dimensionedScalar &ds)
void divide(LagrangianPatchField< Type > &f, const LagrangianPatchField< Type > &f1, const LagrangianPatchField< scalar > &f2)
dimensionedScalar pos0(const dimensionedScalar &ds)
dimensionedScalar sign(const dimensionedScalar &ds)
dimensionedScalar lgamma(const dimensionedScalar &ds)
dimensionedScalar j1(const dimensionedScalar &ds)
dimensionedScalar y0(const dimensionedScalar &ds)
dimensionedScalar cosh(const dimensionedScalar &ds)
void pow025(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
const dimensionSet dimless
dimensionedScalar sin(const dimensionedScalar &ds)
dimensionedScalar tanh(const dimensionedScalar &ds)
dimensionedScalar erf(const dimensionedScalar &ds)
dimensionedScalar sinh(const dimensionedScalar &ds)
dimensionedScalar log10(const dimensionedScalar &ds)
tmp< DimensionedField< scalar, GeoMesh, Field > > stabilise(const DimensionedField< scalar, GeoMesh, PrimitiveField > &dsf, const dimensioned< scalar > &ds)
void pow4(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
void pow6(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
dimensionedScalar yn(const int n, const dimensionedScalar &ds)
dimensionedScalar log(const dimensionedScalar &ds)
dimensionedScalar atan2(const dimensionedScalar &x, const dimensionedScalar &y)
dimensionedScalar y1(const dimensionedScalar &ds)
dimensionedScalar negPart(const dimensionedScalar &ds)
dimensionedScalar acosh(const dimensionedScalar &ds)
void pow(LagrangianPatchField< typename powProduct< Type, r >::type > &f, const LagrangianPatchField< Type > &f1)
void multiply(LagrangianPatchField< Type > &f, const LagrangianPatchField< scalar > &f1, const LagrangianPatchField< Type > &f2)
void pow5(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
dimensionedScalar jn(const int n, const dimensionedScalar &ds)
void pow3(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
dimensionedScalar neg(const dimensionedScalar &ds)
void cbrt(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
dimensionedScalar atanh(const dimensionedScalar &ds)
error FatalError
dimensionedScalar neg0(const dimensionedScalar &ds)
void add(LagrangianPatchField< typename typeOfSum< Type1, Type2 >::type > &f, const LagrangianPatchField< Type1 > &f1, const LagrangianPatchField< Type2 > &f2)
dimensionedScalar atan(const dimensionedScalar &ds)
void sqrt(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
dimensionSet trans(const dimensionSet &)
Definition: dimensionSet.C:474
tmp< DimensionedField< TypeR, GeoMesh, Field > > New(const tmp< DimensionedField< TypeR, GeoMesh, Field >> &tdf1, const word &name, const dimensionSet &dimensions)
dimensionedScalar cos(const dimensionedScalar &ds)
dimensionedScalar posPart(const dimensionedScalar &ds)
dimensionedScalar acos(const dimensionedScalar &ds)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
dimensionedScalar j0(const dimensionedScalar &ds)
dimensionedScalar asinh(const dimensionedScalar &ds)