From c9b8b5f05e22d9cce6bf4a777c1085ee77e32225 Mon Sep 17 00:00:00 2001 From: andy Date: Tue, 8 Feb 2011 15:45:43 +0000 Subject: [PATCH 1/4] BUG: Use dictionary copy instead of reference --- .../clouds/Templates/KinematicCloud/KinematicCloud.H | 2 +- src/lagrangian/intermediate/particleForces/particleForces.H | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H index dace4a6522..b1020c1e20 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H @@ -288,7 +288,7 @@ protected: typename ParcelType::constantProperties constProps_; //- Sub-models dictionary - const dictionary& subModelProperties_; + const dictionary subModelProperties_; //- Random number generator - used by some injection routines cachedRandom rndGen_; diff --git a/src/lagrangian/intermediate/particleForces/particleForces.H b/src/lagrangian/intermediate/particleForces/particleForces.H index feb5ea8ee4..0f655be004 100644 --- a/src/lagrangian/intermediate/particleForces/particleForces.H +++ b/src/lagrangian/intermediate/particleForces/particleForces.H @@ -70,7 +70,7 @@ class particleForces const fvMesh& mesh_; //- The particleForces dictionary - const dictionary& dict_; + const dictionary dict_; //- Gravity const vector g_; From 654b8d18cb90dd9520f2bd155f0d26caf8f36b2d Mon Sep 17 00:00:00 2001 From: andy Date: Tue, 8 Feb 2011 15:52:22 +0000 Subject: [PATCH 2/4] Revert "BUG: Use gSum instead of sum for fieldValues function object" This reverts commit ca0799cbc7f14100e2600438196c4e59be124535. --- .../fieldValues/faceSource/faceSourceTemplates.C | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C index 34ad992c0c..e122d2f7f9 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-2011 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -91,32 +91,32 @@ Type Foam::fieldValues::faceSource::processValues { case opSum: { - result = gSum(values); + result = sum(values); break; } case opAreaAverage: { - result = gSum(values*magSf)/gSum(magSf); + result = sum(values*magSf)/sum(magSf); break; } case opAreaIntegrate: { - result = gSum(values*magSf); + result = sum(values*magSf); break; } case opWeightedAverage: { - result = gSum(values*weightField)/gSum(weightField); + result = sum(values*weightField)/sum(weightField); break; } case opMin: { - result = gMin(values); + result = min(values); break; } case opMax: { - result = gMax(values); + result = max(values); break; } default: From 09427488198972993f43782441be2bcd7b52f6e1 Mon Sep 17 00:00:00 2001 From: andy Date: Tue, 8 Feb 2011 15:52:31 +0000 Subject: [PATCH 3/4] Revert "BUG: Contuation from commit ca0799cbc7f - updated cellSource" This reverts commit b8c2cbaaec6c1b0ae2dcee668502655e198df2ee. --- .../cellSource/cellSourceTemplates.C | 18 +++++++++--------- .../faceSource/faceSourceTemplates.C | 3 ++- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C index 77bcb85737..719393b252 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-2011 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -72,32 +72,32 @@ Type Foam::fieldValues::cellSource::processValues { case opSum: { - result = gSum(values); + result = sum(values); break; } case opVolAverage: { - result = gSum(values*V)/gSum(V); + result = sum(values*V)/sum(V); break; } case opVolIntegrate: { - result = gSum(values*V); + result = sum(values*V); break; } case opWeightedAverage: { - result = gSum(values*weightField)/gSum(weightField); + result = sum(values*weightField)/sum(weightField); break; } case opMin: { - result = gMin(values); + result = min(values); break; } case opMax: { - result = gMax(values); + result = max(values); break; } default: @@ -128,10 +128,10 @@ bool Foam::fieldValues::cellSource::writeValues(const word& fieldName) combineFields(setFieldValues(weightFieldName_)) ); - Type result = processValues(values, V, weightField); - if (Pstream::master()) { + Type result = processValues(values, V, weightField); + if (valueOutput_) { IOField diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C index e122d2f7f9..d8ab9fac28 100644 --- a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C +++ b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C @@ -158,10 +158,11 @@ bool Foam::fieldValues::faceSource::writeValues(const word& fieldName) magSf = combineFields(magSf); weightField = combineFields(weightField); - Type result = processValues(values, magSf, weightField); if (Pstream::master()) { + Type result = processValues(values, magSf, weightField); + if (valueOutput_) { IOField From afe1c4ff403a65a5370d4d5e1137438891359fa8 Mon Sep 17 00:00:00 2001 From: andy Date: Tue, 8 Feb 2011 17:51:54 +0000 Subject: [PATCH 4/4] ENH: Updated combineFields for fieldValues to avoid assignment to self --- .../cellSource/cellSourceTemplates.C | 14 ++++---- .../faceSource/faceSourceTemplates.C | 10 +++--- .../field/fieldValues/fieldValue/fieldValue.H | 7 ++-- .../fieldValue/fieldValueTemplates.C | 33 +++++-------------- 4 files changed, 24 insertions(+), 40 deletions(-) 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()); }