mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Rationalize the "pos" function
"pos" now returns 1 if the argument is greater than 0, otherwise it returns 0. This is consistent with the common mathematical definition of the "pos" function: https://en.wikipedia.org/wiki/Sign_(mathematics) However the previous implementation in which 1 was also returned for a 0 argument is useful in many situations so the "pos0" has been added which returns 1 if the argument is greater or equal to 0. Additionally the "neg0" has been added which returns 1 if if the argument is less than or equal to 0.
This commit is contained in:
committed by
Andrew Heather
parent
639305e960
commit
56bfc75949
@ -687,14 +687,14 @@ Foam::functionObjects::fieldValues::surfaceFieldValue::processValues
|
||||
case opSumDirection:
|
||||
{
|
||||
const vector n(dict_.lookup("direction"));
|
||||
return gSum(pos(values*(Sf & n))*mag(values));
|
||||
return gSum(pos0(values*(Sf & n))*mag(values));
|
||||
}
|
||||
case opSumDirectionBalance:
|
||||
{
|
||||
const vector n(dict_.lookup("direction"));
|
||||
const scalarField nv(values*(Sf & n));
|
||||
|
||||
return gSum(pos(nv)*mag(values) - neg(nv)*mag(values));
|
||||
return gSum(pos0(nv)*mag(values) - neg(nv)*mag(values));
|
||||
}
|
||||
default:
|
||||
{
|
||||
@ -722,7 +722,7 @@ Foam::functionObjects::fieldValues::surfaceFieldValue::processValues
|
||||
n /= mag(n) + ROOTVSMALL;
|
||||
|
||||
const scalarField nv(n & values);
|
||||
return gSum(pos(nv)*n*(nv));
|
||||
return gSum(pos0(nv)*n*(nv));
|
||||
}
|
||||
case opSumDirectionBalance:
|
||||
{
|
||||
@ -730,7 +730,7 @@ Foam::functionObjects::fieldValues::surfaceFieldValue::processValues
|
||||
n /= mag(n) + ROOTVSMALL;
|
||||
|
||||
const scalarField nv(n & values);
|
||||
return gSum(pos(nv)*n*(nv));
|
||||
return gSum(pos0(nv)*n*(nv));
|
||||
}
|
||||
case opAreaNormalAverage:
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user