From a9ff5cf92212f4ee17ea0d8094aedd4f7f048c28 Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Mon, 7 Jan 2019 09:20:51 +0100 Subject: [PATCH] ENH: for-range, forAllIters() ... in functionObjects/ - reduced clutter when iterating over containers --- .../fieldAverageItemTemplates.C | 23 ++++---- .../field/nearWallFields/nearWallFields.C | 6 +- .../regionSizeDistribution.C | 57 +++++++++---------- .../regionSizeDistributionTemplates.C | 16 ++---- .../field/streamLine/streamLineParticle.C | 20 +++---- .../surfaceInterpolateTemplates.C | 4 +- .../wallBoundedStreamLine.C | 12 +--- .../wallBoundedStreamLineParticle.C | 20 +++---- src/functionObjects/forces/forces/forces.C | 2 +- .../averageConditionTemplates.C | 10 ++-- 10 files changed, 73 insertions(+), 97 deletions(-) diff --git a/src/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItemTemplates.C b/src/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItemTemplates.C index 354b7e9440..2a2c57780f 100644 --- a/src/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItemTemplates.C +++ b/src/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItemTemplates.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2017 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2017-2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -106,17 +106,16 @@ bool Foam::functionObjects::fieldAverageItem::calculateMeanField // Note: looks up all window fields from the registry meanField = 0*baseField; - FIFOStack::const_iterator timeIter = - windowTimes_.begin(); - FIFOStack::const_iterator nameIter = - windowFieldNames_.begin(); + + auto timeIter = windowTimes_.cbegin(); + auto nameIter = windowFieldNames_.cbegin(); const Type* wOld = nullptr; for ( ; - timeIter != windowTimes_.end(); + timeIter.good(); ++timeIter, ++nameIter ) { @@ -223,10 +222,9 @@ bool Foam::functionObjects::fieldAverageItem::calculatePrime2MeanField { // Not storing old time mean fields - treat all as TIME (integrated) prime2MeanField = 0*prime2MeanField; - FIFOStack::const_iterator timeIter = - windowTimes_.begin(); - FIFOStack::const_iterator nameIter = - windowFieldNames_.begin(); + + auto timeIter = windowTimes_.cbegin(); + auto nameIter = windowFieldNames_.cbegin(); switch (base_) { @@ -236,7 +234,7 @@ bool Foam::functionObjects::fieldAverageItem::calculatePrime2MeanField ++timeIter; ++nameIter; - if (timeIter == windowTimes_.end()) return false; + if (!timeIter.good()) return false; break; } @@ -252,7 +250,7 @@ bool Foam::functionObjects::fieldAverageItem::calculatePrime2MeanField for ( ; - timeIter != windowTimes_.end(); + timeIter.good(); ++timeIter, ++nameIter ) { @@ -272,7 +270,6 @@ bool Foam::functionObjects::fieldAverageItem::calculatePrime2MeanField prime2MeanField /= windowLength; - break; } default: diff --git a/src/functionObjects/field/nearWallFields/nearWallFields.C b/src/functionObjects/field/nearWallFields/nearWallFields.C index 217cac75f9..176c339c2d 100644 --- a/src/functionObjects/field/nearWallFields/nearWallFields.C +++ b/src/functionObjects/field/nearWallFields/nearWallFields.C @@ -160,9 +160,8 @@ void Foam::functionObjects::nearWallFields::calcAddressing() ); InfoInFunction << "Dumping tracks to " << str.name() << endl; - forAllConstIter(Cloud, cloud, iter) + for (const findCellParticle& tp : cloud) { - const findCellParticle& tp = iter(); str.write(linePointRef(tp.position(), tp.end())); } } @@ -186,9 +185,8 @@ void Foam::functionObjects::nearWallFields::calcAddressing() { start.setSize(nPatchFaces); nPatchFaces = 0; - forAllConstIter(Cloud, cloud, iter) + for (const findCellParticle& tp : cloud) { - const findCellParticle& tp = iter(); start[nPatchFaces++] = tp.position(); } } diff --git a/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C b/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C index 989f01fe94..ef13e3a533 100644 --- a/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C +++ b/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016-2018 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2016-2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2013-2016 OpenFOAM Foundation @@ -121,7 +121,7 @@ void Foam::functionObjects::regionSizeDistribution::writeAlphaFields // Knock out any cell not in patchRegions forAll(liquidCore, celli) { - label regioni = regions[celli]; + const label regioni = regions[celli]; if (patchRegions.found(regioni)) { backgroundAlpha[celli] = 0; @@ -130,7 +130,7 @@ void Foam::functionObjects::regionSizeDistribution::writeAlphaFields { liquidCore[celli] = 0; - scalar regionVol = regionVolume[regioni]; + const scalar regionVol = regionVolume[regioni]; if (regionVol < maxDropletVol) { backgroundAlpha[celli] = 0; @@ -144,8 +144,8 @@ void Foam::functionObjects::regionSizeDistribution::writeAlphaFields { Info<< " Volume of liquid-core = " << fvc::domainIntegrate(liquidCore).value() - << endl; - Info<< " Volume of background = " + << nl + << " Volume of background = " << fvc::domainIntegrate(backgroundAlpha).value() << endl; } @@ -549,19 +549,18 @@ bool Foam::functionObjects::regionSizeDistribution::write() << token::TAB << "Volume(mesh)" << token::TAB << "Volume(" << alpha.name() << "):" << token::TAB << "nCells" - << endl; + << nl; scalar meshSumVol = 0.0; scalar alphaSumVol = 0.0; label nCells = 0; - Map::const_iterator vIter = allRegionVolume.begin(); - Map::const_iterator aIter = allRegionAlphaVolume.begin(); - Map