ENH: return scalar for surface uniformity (#1363)

This commit is contained in:
Mark Olesen
2019-07-08 19:21:40 +02:00
committed by Andrew Heather
parent b8ccbbdf67
commit d6d95c33bc
4 changed files with 65 additions and 33 deletions

View File

@ -411,15 +411,13 @@ bool Foam::functionObjects::fieldValues::surfaceFieldValue::writeValues
// sqrt: component-wise - doesn't change the type
for (direction d=0; d < pTraits<Type>::nComponents; ++d)
{
setComponent(result, d)
= sqrt(mag(component(result, d)));
setComponent(result, d)
= sqrt(mag(component(result, d)));
}
break;
}
}
file()<< tab << result;
// Write state/results information
word prefix, suffix;
{
@ -436,13 +434,34 @@ bool Foam::functionObjects::fieldValues::surfaceFieldValue::writeValues
suffix += ')';
}
Log << " " << prefix << regionName_ << suffix
<< " of " << fieldName
<< " = " << result << endl;
word resultName = prefix + regionName_ + ',' + fieldName + suffix;
// Write state/results information
word resultName = prefix + regionName_ + ',' + fieldName + suffix;
this->setResult(resultName, result);
Log << " " << prefix << regionName_ << suffix
<< " of " << fieldName << " = ";
// Operation tagged that it always returns scalar?
const bool alwaysScalar(operation_ & typeScalar);
if (alwaysScalar)
{
const scalar sresult = component(result, 0);
file()<< tab << sresult;
Log << sresult << endl;
this->setResult(resultName, sresult);
}
else
{
file()<< tab << result;
Log << result << endl;
this->setResult(resultName, result);
}
}
}