mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
cellSource: Added weightedVolAverage option
faceSource: Added weightedAreaAverage option Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1769
This commit is contained in:
@ -102,17 +102,22 @@ Type Foam::fieldValues::cellSource::processValues
|
||||
}
|
||||
case opWeightedAverage:
|
||||
{
|
||||
result = sum(values)/sum(weightField);
|
||||
result = sum(weightField*values)/sum(weightField);
|
||||
break;
|
||||
}
|
||||
case opVolAverage:
|
||||
{
|
||||
result = sum(values*V)/sum(V);
|
||||
result = sum(V*values)/sum(V);
|
||||
break;
|
||||
}
|
||||
case opWeightedVolAverage:
|
||||
{
|
||||
result = sum(weightField*V*values)/sum(weightField*V);
|
||||
break;
|
||||
}
|
||||
case opVolIntegrate:
|
||||
{
|
||||
result = sum(values*V);
|
||||
result = sum(V*values);
|
||||
break;
|
||||
}
|
||||
case opMin:
|
||||
@ -175,14 +180,11 @@ bool Foam::fieldValues::cellSource::writeValues(const word& fieldName)
|
||||
combineFields(V);
|
||||
combineFields(weightField);
|
||||
|
||||
// apply weight field
|
||||
values *= weightField;
|
||||
|
||||
if (Pstream::master())
|
||||
{
|
||||
Type result = processValues(values, V, weightField);
|
||||
|
||||
// add to result dictionary, over-writing any previous entry
|
||||
// Add to result dictionary, over-writing any previous entry
|
||||
resultDict_.add(fieldName, result, true);
|
||||
|
||||
if (valueOutput_)
|
||||
@ -198,7 +200,7 @@ bool Foam::fieldValues::cellSource::writeValues(const word& fieldName)
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
values
|
||||
weightField*values
|
||||
).write();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user