From a5c33c5e18401fc369fc0d120e31d32641e378b6 Mon Sep 17 00:00:00 2001 From: Henry Weller Date: Mon, 11 Nov 2019 12:20:35 +0000 Subject: [PATCH] functionObject::surfaceFieldValue: Added support for weighting with negative fields For example this allows the an inlet flux to be used to create a weighted average. Resolves bug-report https://bugs.openfoam.org/view.php?id=3384 --- .../surfaceFieldValue/surfaceFieldValueTemplates.C | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValueTemplates.C b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValueTemplates.C index 38ddd5ba91..eb87864dfa 100644 --- a/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValueTemplates.C +++ b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValueTemplates.C @@ -153,6 +153,7 @@ processSameTypeValues { if (weightField.size()) { + Info << weightField << endl; result = sum(weightField*values); } else @@ -197,7 +198,9 @@ processSameTypeValues { if (weightField.size()) { - result = sum(weightField*values)/max(sum(weightField), vSmall); + result = + sum(weightField*values) + /stabilise(sum(weightField), vSmall); } else { @@ -220,7 +223,7 @@ processSameTypeValues { result = sum(weightField*magSf*values) - /max(sum(magSf*weightField), vSmall); + /stabilise(sum(magSf*weightField), vSmall); } else {