diff --git a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C index 719393b252..e9be76e527 100644 --- a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C +++ b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2009-2011 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -119,14 +119,14 @@ bool Foam::fieldValues::cellSource::writeValues(const word& fieldName) if (ok) { - Field values(combineFields(setFieldValues(fieldName))); + Field values(setFieldValues(fieldName)); + combineFields(values); - scalarField V(combineFields(filterField(mesh().V()))); + scalarField V(filterField(mesh().V())); + combineFields(V); - scalarField weightField - ( - combineFields(setFieldValues(weightFieldName_)) - ); + scalarField weightField(setFieldValues(weightFieldName_)); + combineFields(weightField); if (Pstream::master()) { diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C index d8ab9fac28..05fba8b9c0 100644 --- a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C +++ b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2009-2011 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -150,13 +150,13 @@ bool Foam::fieldValues::faceSource::writeValues(const word& fieldName) else { // Get unoriented magSf - magSf = combineFields(filterField(mesh().magSf(), false)); + magSf = filterField(mesh().magSf(), false); } // Combine onto master - values = combineFields(values); - magSf = combineFields(magSf); - weightField = combineFields(weightField); + combineFields(values); + combineFields(magSf); + combineFields(weightField); if (Pstream::master()) diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.H b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.H index 179b96ae94..e382d98f89 100644 --- a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.H +++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2009-2011 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -166,12 +166,11 @@ public: //- Combine fields from all processor domains into single field template - tmp > combineFields(const Field& field) const; + void combineFields(Field& field); //- Combine fields from all processor domains into single field template - tmp > combineFields(const tmp >&) const; - + void combineFields(tmp >&); }; diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueTemplates.C index 3df599081d..55cce5e017 100644 --- a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueTemplates.C +++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueTemplates.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2009-2011 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -30,10 +30,7 @@ License // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template -Foam::tmp > Foam::fieldValue::combineFields -( - const Field& field -) const +void Foam::fieldValue::combineFields(Field& field) { List > allValues(Pstream::nProcs()); @@ -43,32 +40,20 @@ Foam::tmp > Foam::fieldValue::combineFields if (Pstream::master()) { - return tmp > - ( - new Field + field = + ListListOps::combine > ( - ListListOps::combine > - ( - allValues, - accessOp >() - ) - ) - ); - } - else - { - return field; + allValues, + accessOp >() + ); } } template -Foam::tmp > Foam::fieldValue::combineFields -( - const tmp >& field -) const +void Foam::fieldValue::combineFields(tmp >& field) { - return combineFields(field()); + combineFields(field()); }