diff --git a/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.C b/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.C index fd5f096898..c0600bd97c 100644 --- a/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.C +++ b/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.C @@ -430,10 +430,7 @@ Type max(const FieldField& f) } else { - WarningIn("max(const FieldField&) const") - << "empty fieldField, returning zero" << endl; - - return pTraits::zero; + return pTraits::min; } } @@ -464,10 +461,7 @@ Type min(const FieldField& f) } else { - WarningIn("min(const FieldField&) const") - << "empty fieldField, returning zero" << endl; - - return pTraits::zero; + return pTraits::max; } } diff --git a/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C b/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C index ea1debc235..b000421d76 100644 --- a/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C +++ b/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C @@ -319,10 +319,7 @@ Type max(const UList& f) } else { - WarningIn("max(const UList&)") - << "empty field, returning zero" << endl; - - return pTraits::zero; + return pTraits::min; } } @@ -339,10 +336,7 @@ Type min(const UList& f) } else { - WarningIn("min(const UList&)") - << "empty field, returning zero" << endl; - - return pTraits::zero; + return pTraits::max; } } diff --git a/src/OpenFOAM/primitives/DiagTensor/DiagTensor.H b/src/OpenFOAM/primitives/DiagTensor/DiagTensor.H index a425ab1b10..035551a240 100644 --- a/src/OpenFOAM/primitives/DiagTensor/DiagTensor.H +++ b/src/OpenFOAM/primitives/DiagTensor/DiagTensor.H @@ -71,6 +71,8 @@ public: static const char* componentNames[]; static const DiagTensor zero; static const DiagTensor one; + static const DiagTensor max; + static const DiagTensor min; //- Component labeling enumeration diff --git a/src/OpenFOAM/primitives/Scalar/Scalar.C b/src/OpenFOAM/primitives/Scalar/Scalar.C index 4593405cd5..86087309cb 100644 --- a/src/OpenFOAM/primitives/Scalar/Scalar.C +++ b/src/OpenFOAM/primitives/Scalar/Scalar.C @@ -34,6 +34,8 @@ namespace Foam const char* const pTraits::typeName = "scalar"; const Scalar pTraits::zero = 0.0; const Scalar pTraits::one = 1.0; +const Scalar pTraits::max = ScalarVGREAT; +const Scalar pTraits::min = -ScalarVGREAT; const char* pTraits::componentNames[] = { "x" }; @@ -45,7 +47,6 @@ pTraits::pTraits(Istream& is) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -//- return a string representation of a Scalar word name(const Scalar s) { std::ostringstream osBuffer; diff --git a/src/OpenFOAM/primitives/Scalar/Scalar.H b/src/OpenFOAM/primitives/Scalar/Scalar.H index 5e2fbc0a26..365a7f017e 100644 --- a/src/OpenFOAM/primitives/Scalar/Scalar.H +++ b/src/OpenFOAM/primitives/Scalar/Scalar.H @@ -61,6 +61,8 @@ public: static const char* componentNames[]; static const Scalar zero; static const Scalar one; + static const Scalar max; + static const Scalar min; // Constructors diff --git a/src/OpenFOAM/primitives/Scalar/doubleScalar/doubleScalar.C b/src/OpenFOAM/primitives/Scalar/doubleScalar/doubleScalar.C index a3bcf71c99..6fb4d37320 100644 --- a/src/OpenFOAM/primitives/Scalar/doubleScalar/doubleScalar.C +++ b/src/OpenFOAM/primitives/Scalar/doubleScalar/doubleScalar.C @@ -32,10 +32,12 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #define Scalar doubleScalar +#define ScalarVGREAT doubleScalarVGREAT #define ScalarVSMALL doubleScalarVSMALL #define readScalar readDoubleScalar #include "Scalar.C" #undef Scalar +#undef ScalarVGREAT #undef ScalarVSMALL #undef readScalar diff --git a/src/OpenFOAM/primitives/Scalar/doubleScalar/doubleScalar.H b/src/OpenFOAM/primitives/Scalar/doubleScalar/doubleScalar.H index 640918c813..ff4db3393b 100644 --- a/src/OpenFOAM/primitives/Scalar/doubleScalar/doubleScalar.H +++ b/src/OpenFOAM/primitives/Scalar/doubleScalar/doubleScalar.H @@ -61,6 +61,7 @@ static const doubleScalar doubleScalarROOTVSMALL = 1.0e-150; #define Scalar doubleScalar +#define ScalarVGREAT doubleScalarVGREAT #define ScalarVSMALL doubleScalarVSMALL #define readScalar readDoubleScalar @@ -98,6 +99,7 @@ inline Scalar yn(const int n, const Scalar s) } #undef Scalar +#undef ScalarVGREAT #undef ScalarVSMALL #undef readScalar #undef transFunc diff --git a/src/OpenFOAM/primitives/Scalar/floatScalar/floatScalar.C b/src/OpenFOAM/primitives/Scalar/floatScalar/floatScalar.C index 5355dc9d89..d5488cebd3 100644 --- a/src/OpenFOAM/primitives/Scalar/floatScalar/floatScalar.C +++ b/src/OpenFOAM/primitives/Scalar/floatScalar/floatScalar.C @@ -32,11 +32,13 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #define Scalar floatScalar +#define ScalarVGREAT floatScalarVGREAT #define ScalarVSMALL floatScalarVSMALL #define readScalar readFloatScalar #include "Scalar.C" #undef Scalar #undef ScalarVSMALL +#undef ScalarVSMALL #undef readScalar // ************************************************************************* // diff --git a/src/OpenFOAM/primitives/Scalar/floatScalar/floatScalar.H b/src/OpenFOAM/primitives/Scalar/floatScalar/floatScalar.H index 7ae47138a7..99537311ce 100644 --- a/src/OpenFOAM/primitives/Scalar/floatScalar/floatScalar.H +++ b/src/OpenFOAM/primitives/Scalar/floatScalar/floatScalar.H @@ -61,6 +61,7 @@ static const floatScalar floatScalarROOTVSMALL = 1.0e-18; #define Scalar floatScalar +#define ScalarVGREAT floatScalarVGREAT #define ScalarVSMALL floatScalarVSMALL #define readScalar readFloatScalar @@ -98,6 +99,7 @@ inline Scalar yn(const int n, const Scalar s) } #undef Scalar +#undef ScalarVGREAT #undef ScalarVSMALL #undef readScalar #undef transFunc diff --git a/src/OpenFOAM/primitives/SphericalTensor/SphericalTensor.H b/src/OpenFOAM/primitives/SphericalTensor/SphericalTensor.H index e0698ba7f0..56c51a48d8 100644 --- a/src/OpenFOAM/primitives/SphericalTensor/SphericalTensor.H +++ b/src/OpenFOAM/primitives/SphericalTensor/SphericalTensor.H @@ -75,6 +75,8 @@ public: static const char* componentNames[]; static const SphericalTensor zero; static const SphericalTensor one; + static const SphericalTensor max; + static const SphericalTensor min; static const SphericalTensor I; static const SphericalTensor oneThirdI; static const SphericalTensor twoThirdsI; diff --git a/src/OpenFOAM/primitives/SphericalTensor2D/SphericalTensor2D.H b/src/OpenFOAM/primitives/SphericalTensor2D/SphericalTensor2D.H index 8e5adcabf4..03ba859801 100644 --- a/src/OpenFOAM/primitives/SphericalTensor2D/SphericalTensor2D.H +++ b/src/OpenFOAM/primitives/SphericalTensor2D/SphericalTensor2D.H @@ -71,6 +71,8 @@ public: static const char* componentNames[]; static const SphericalTensor2D zero; static const SphericalTensor2D one; + static const SphericalTensor2D max; + static const SphericalTensor2D min; static const SphericalTensor2D I; static const SphericalTensor2D oneThirdI; static const SphericalTensor2D twoThirdsI; diff --git a/src/OpenFOAM/primitives/SymmTensor/SymmTensor.H b/src/OpenFOAM/primitives/SymmTensor/SymmTensor.H index efb76e2f87..e43a0d741d 100644 --- a/src/OpenFOAM/primitives/SymmTensor/SymmTensor.H +++ b/src/OpenFOAM/primitives/SymmTensor/SymmTensor.H @@ -78,6 +78,8 @@ public: static const SymmTensor zero; static const SymmTensor one; + static const SymmTensor max; + static const SymmTensor min; //- Component labeling enumeration diff --git a/src/OpenFOAM/primitives/Tensor/Tensor.H b/src/OpenFOAM/primitives/Tensor/Tensor.H index ea4e5d72b1..305829c16d 100644 --- a/src/OpenFOAM/primitives/Tensor/Tensor.H +++ b/src/OpenFOAM/primitives/Tensor/Tensor.H @@ -79,6 +79,8 @@ public: static const Tensor zero; static const Tensor one; + static const Tensor max; + static const Tensor min; //- Component labeling enumeration diff --git a/src/OpenFOAM/primitives/Tensor2D/Tensor2D.H b/src/OpenFOAM/primitives/Tensor2D/Tensor2D.H index 1f2e629761..f3c5d30e64 100644 --- a/src/OpenFOAM/primitives/Tensor2D/Tensor2D.H +++ b/src/OpenFOAM/primitives/Tensor2D/Tensor2D.H @@ -74,6 +74,9 @@ public: static const Tensor2D zero; static const Tensor2D one; + static const Tensor2D max; + static const Tensor2D min; + //- Component labeling enumeration enum components { XX, XY, YX, YY }; diff --git a/src/OpenFOAM/primitives/Vector/Vector.H b/src/OpenFOAM/primitives/Vector/Vector.H index bc1af5db05..c9d7de5286 100644 --- a/src/OpenFOAM/primitives/Vector/Vector.H +++ b/src/OpenFOAM/primitives/Vector/Vector.H @@ -81,6 +81,8 @@ public: static const char* componentNames[]; static const Vector zero; static const Vector one; + static const Vector max; + static const Vector min; //- Component labeling enumeration diff --git a/src/OpenFOAM/primitives/Vector2D/Vector2D.H b/src/OpenFOAM/primitives/Vector2D/Vector2D.H index 496c443392..392c5ba70b 100644 --- a/src/OpenFOAM/primitives/Vector2D/Vector2D.H +++ b/src/OpenFOAM/primitives/Vector2D/Vector2D.H @@ -71,6 +71,8 @@ public: static const char* componentNames[]; static const Vector2D zero; static const Vector2D one; + static const Vector2D max; + static const Vector2D min; //- Component labeling enumeration diff --git a/src/OpenFOAM/primitives/diagTensor/diagTensor.C b/src/OpenFOAM/primitives/diagTensor/diagTensor.C index 3e95d75970..7cc498b12c 100644 --- a/src/OpenFOAM/primitives/diagTensor/diagTensor.C +++ b/src/OpenFOAM/primitives/diagTensor/diagTensor.C @@ -48,6 +48,12 @@ const diagTensor diagTensor::zero(0, 0, 0); template<> const diagTensor diagTensor::one(1, 1, 1); +template<> +const diagTensor diagTensor::max(VGREAT, VGREAT, VGREAT); + +template<> +const diagTensor diagTensor::min(-VGREAT, -VGREAT, -VGREAT); + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/OpenFOAM/primitives/label/label.C b/src/OpenFOAM/primitives/label/label.C index 5d4d7dd2bb..38217bd6b2 100644 --- a/src/OpenFOAM/primitives/label/label.C +++ b/src/OpenFOAM/primitives/label/label.C @@ -22,9 +22,6 @@ License along with OpenFOAM; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -Description - - \*---------------------------------------------------------------------------*/ #include "error.H" @@ -40,6 +37,8 @@ namespace Foam const char* const pTraits