Commit 4da4f40d authored by Mark Olesen's avatar Mark Olesen Committed by Andrew Heather
Browse files

ENH: for-range, forAllIters() ... in lagrangian/ basic

- reduced clutter when iterating over containers
parent 6cbe8972
......@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd |
\\ / A nd | Copyright (C) 2019 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
| Copyright (C) 2011-2017 OpenFOAM Foundation
......@@ -320,10 +320,8 @@ void Foam::InteractionLists<ParticleType>::buildInteractionLists()
// Determine the index of all of the wall faces on this processor
DynamicList<label> localWallFaces;
forAll(mesh_.boundaryMesh(), patchi)
for (const polyPatch& patch : mesh_.boundaryMesh())
{
const polyPatch& patch = mesh_.boundaryMesh()[patchi];
if (isA<wallPolyPatch>(patch))
{
const scalarField areaFraction(patch.areaFraction());
......@@ -607,11 +605,9 @@ void Foam::InteractionLists<ParticleType>::buildInteractionLists()
// Reserve space to avoid multiple resizing
DynamicList<label> cellDIL(interactingElems.size());
forAll(interactingElems, i)
for (const label elemi : interactingElems)
{
label elemI = interactingElems[i];
label c = allCellsTree.shapes().cellLabels()[elemI];
const label c = allCellsTree.shapes().cellLabels()[elemi];
// Here, a more detailed geometric test could be applied,
// i.e. a more accurate bounding volume like a OBB or
......@@ -634,9 +630,9 @@ void Foam::InteractionLists<ParticleType>::buildInteractionLists()
forAll(interactingElems, i)
{
label elemI = interactingElems[i];
const label elemi = interactingElems[i];
label f = wallFacesTree.shapes().faceLabels()[elemI];
const label f = wallFacesTree.shapes().faceLabels()[elemi];
dwfil_[celli][i] = f;
}
......@@ -849,10 +845,8 @@ void Foam::InteractionLists<ParticleType>::buildMap
// 1. Count
labelList nSend(Pstream::nProcs(), Zero);
forAll(toProc, i)
for (const label proci : toProc)
{
label proci = toProc[i];
nSend[proci]++;
}
......@@ -896,7 +890,7 @@ void Foam::InteractionLists<ParticleType>::buildMap
{
if (proci != Pstream::myProcNo())
{
label nRecv = recvSizes[proci];
const label nRecv = recvSizes[proci];
constructMap[proci].setSize(nRecv);
......@@ -991,11 +985,11 @@ void Foam::InteractionLists<ParticleType>::fillReferredParticleCloud()
const IDLList<ParticleType>& refCell =
referredParticles_[refCelli];
forAllConstIter(typename IDLList<ParticleType>, refCell, iter)
for (const ParticleType& p : refCell)
{
cloud_.addParticle
(
static_cast<ParticleType*>(iter().clone().ptr())
static_cast<ParticleType*>(p.clone().ptr())
);
}
}
......@@ -1238,9 +1232,9 @@ void Foam::InteractionLists<ParticleType>::receiveReferredData
forAll(referredParticles_, refCelli)
{
IDLList<ParticleType>& refCell = referredParticles_[refCelli];
forAllIter(typename IDLList<ParticleType>, refCell, iter)
for (ParticleType& p : refCell)
{
iter().correctAfterInteractionListReferral(ril_[refCelli][0]);
p.correctAfterInteractionListReferral(ril_[refCelli][0]);
}
}
......
......@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd |
\\ / A nd | Copyright (C) 2019 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
| Copyright (C) 2011-2017 OpenFOAM Foundation
......@@ -78,13 +78,11 @@ void Foam::solidParticle::readFields(Cloud<solidParticle>& c)
c.checkFieldIOobject(c, U);
label i = 0;
forAllIter(Cloud<solidParticle>, c, iter)
for (solidParticle& p : c)
{
solidParticle& p = iter();
p.d_ = d[i];
p.U_ = U[i];
i++;
++i;
}
}
......@@ -93,19 +91,17 @@ void Foam::solidParticle::writeFields(const Cloud<solidParticle>& c)
{
particle::writeFields(c);
label np = c.size();
const label np = c.size();
IOField<scalar> d(c.fieldIOobject("d", IOobject::NO_READ), np);
IOField<vector> U(c.fieldIOobject("U", IOobject::NO_READ), np);
label i = 0;
forAllConstIter(Cloud<solidParticle>, c, iter)
for (const solidParticle& p : c)
{
const solidParticle& p = iter();
d[i] = p.d_;
U[i] = p.U_;
i++;
++i;
}
d.write(np > 0);
......
......@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd |
\\ / A nd | Copyright (C) 2019 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
| Copyright (C) 2011-2016 OpenFOAM Foundation
......@@ -110,9 +110,8 @@ inline Foam::scalar Foam::SprayCloud<CloudType>::penetration
label i = 0;
scalar mSum = 0.0;
forAllConstIter(typename SprayCloud<CloudType>, *this, iter)
for (const parcelType& p : *this)
{
const parcelType& p = iter();
scalar m = p.nParticle()*p.mass();
scalar d = mag(p.position() - p.position0());
mSum += m;
......@@ -120,7 +119,7 @@ inline Foam::scalar Foam::SprayCloud<CloudType>::penetration
mass[i] = m;
dist[i] = d;
i++;
++i;
}
// calculate total mass across all processors
......
......@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2016 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2016-2019 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
| Copyright (C) 2011-2017 OpenFOAM Foundation
......@@ -200,9 +200,8 @@ void Foam::SprayParcel<ParcelType>::readFields
c.checkFieldIOobject(c, user);
label i = 0;
forAllIter(typename Cloud<SprayParcel<ParcelType>>, c, iter)
for (SprayParcel<ParcelType>& p : c)
{
SprayParcel<ParcelType>& p = iter();
p.d0_ = d0[i];
p.position0_ = position0[i];
p.sigma_ = sigma[i];
......@@ -216,7 +215,7 @@ void Foam::SprayParcel<ParcelType>::readFields
p.injector_ = injector[i];
p.tMom_ = tMom[i];
p.user_ = user[i];
i++;
++i;
}
}
......@@ -268,9 +267,8 @@ void Foam::SprayParcel<ParcelType>::writeFields
IOField<scalar> user(c.fieldIOobject("user", IOobject::NO_READ), np);
label i = 0;
forAllConstIter(typename Cloud<SprayParcel<ParcelType>>, c, iter)
for (const SprayParcel<ParcelType>& p : c)
{
const SprayParcel<ParcelType>& p = iter();
d0[i] = p.d0_;
position0[i] = p.position0_;
sigma[i] = p.sigma_;
......@@ -284,7 +282,7 @@ void Foam::SprayParcel<ParcelType>::writeFields
injector[i] = p.injector_;
tMom[i] = p.tMom_;
user[i] = p.user_;
i++;
++i;
}
const bool valid = np > 0;
......@@ -354,9 +352,8 @@ void Foam::SprayParcel<ParcelType>::writeObjects
IOField<scalar>& user(cloud::createIOField<scalar>("user", np, obr));
label i = 0;
forAllConstIter(typename Cloud<SprayParcel<ParcelType>>, c, iter)
for (const SprayParcel<ParcelType>& p : c)
{
const SprayParcel<ParcelType>& p = iter();
d0[i] = p.d0_;
position0[i] = p.position0_;
sigma[i] = p.sigma_;
......@@ -370,7 +367,7 @@ void Foam::SprayParcel<ParcelType>::writeObjects
injector[i] = p.injector_;
tMom[i] = p.tMom_;
user[i] = p.user_;
i++;
++i;
}
}
......
......@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd |
\\ / A nd | Copyright (C) 2019 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
| Copyright (C) 2011-2017 OpenFOAM Foundation
......@@ -43,9 +43,9 @@ void Foam::ORourkeCollision<CloudType>::collide
{
// Create the occupancy list for the cells
labelList occupancy(this->owner().mesh().nCells(), Zero);
forAllIter(typename CloudType, this->owner(), iter)
for (const parcelType& p : this->owner())
{
occupancy[iter().cell()]++;
occupancy[p.cell()]++;
}
// Initialize the sizes of the lists of parcels in each cell
......@@ -55,9 +55,9 @@ void Foam::ORourkeCollision<CloudType>::collide
occupancy = 0;
// Set the parcel pointer lists for each cell
forAllIter(typename CloudType, this->owner(), iter)
for (parcelType& p : this->owner())
{
pInCell(iter().cell(), occupancy[iter().cell()]++) = &iter();
pInCell(p.cell(), occupancy[p.cell()]++) = &p;
}
for (label celli=0; celli<this->owner().mesh().nCells(); celli++)
......@@ -108,9 +108,8 @@ void Foam::ORourkeCollision<CloudType>::collide
}
// Remove coalesced parcels that fall below minimum mass threshold
forAllIter(typename CloudType, this->owner(), iter)
for (parcelType& p : this->owner())
{
parcelType& p = iter();
scalar mass = p.nParticle()*p.mass();
if (mass < this->owner().constProps().minParcelMass())
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment