diff --git a/applications/test/dimField/Make/files b/applications/test/dimField/Make/files
deleted file mode 100644
index 8289e2ec00..0000000000
--- a/applications/test/dimField/Make/files
+++ /dev/null
@@ -1,3 +0,0 @@
-Test-dimField.C
-
-EXE = $(FOAM_USER_APPBIN)/Test-dimField
diff --git a/applications/test/dimField1/Make/files b/applications/test/dimField1/Make/files
new file mode 100644
index 0000000000..226fc66a5d
--- /dev/null
+++ b/applications/test/dimField1/Make/files
@@ -0,0 +1,3 @@
+Test-dimField1.cxx
+
+EXE = $(FOAM_USER_APPBIN)/Test-dimField1
diff --git a/applications/test/dimField/Make/options b/applications/test/dimField1/Make/options
similarity index 100%
rename from applications/test/dimField/Make/options
rename to applications/test/dimField1/Make/options
diff --git a/applications/test/dimField/Test-dimField.C b/applications/test/dimField1/Test-dimField1.cxx
similarity index 80%
rename from applications/test/dimField/Test-dimField.C
rename to applications/test/dimField1/Test-dimField1.cxx
index f711584883..9eaf98fe95 100644
--- a/applications/test/dimField/Test-dimField.C
+++ b/applications/test/dimField1/Test-dimField1.cxx
@@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
- Copyright (C) 2020-2022 OpenCFD Ltd.
+ Copyright (C) 2020-2024 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@@ -24,7 +24,7 @@ License
along with OpenFOAM. If not, see .
Application
- Test-dimField
+ Test-dimField1
Description
Simple tests for DimensionedField
@@ -52,7 +52,12 @@ namespace Foam
int main(int argc, char *argv[])
{
+ argList::addBoolOption("write", "write some test fields");
+
#include "setRootCase.H"
+
+ const bool doWrite = args.found("write");
+
#include "createTime.H"
#include "createMesh.H"
@@ -60,19 +65,23 @@ int main(int argc, char *argv[])
Info<< "Tensor field\n" << endl;
DimensionedField tensorfld
(
- IOobject
+ mesh.newIOobject
(
"tensor",
- runTime.timeName(),
- mesh,
- { IOobject::READ_IF_PRESENT, IOobject::NO_REGISTER }
+ { IOobject::READ_IF_PRESENT, IOobject::NO_WRITE }
),
mesh,
dimensioned(dimless, tensor(1,2,3,4,5,6,7,8,9))
);
- Info().beginBlock("transformed")
- << tensorfld.T() << nl;
+ if (doWrite)
+ {
+ tensorfld.write();
+ }
+
+
+ Info<< nl;
+ Info().beginBlock("transformed") << tensorfld.T();
Info().endBlock();
{
@@ -84,8 +93,8 @@ int main(int argc, char *argv[])
dimensioned(14)
);
- Info().beginBlock(tfld().type())
- << tfld << nl;
+ Info<< nl;
+ Info().beginBlock(tfld().type()) << tfld;
Info().endBlock();
}
@@ -98,8 +107,8 @@ int main(int argc, char *argv[])
dimensioned(5)
);
- Info().beginBlock(tfld().type())
- << tfld() << nl;
+ Info<< nl;
+ Info().beginBlock(tfld().type()) << tfld();
Info().endBlock();
// From dissimilar types
@@ -111,8 +120,8 @@ int main(int argc, char *argv[])
dimensioned(Zero)
);
- Info().beginBlock(tfld2().type())
- << tfld2() << nl;
+ Info<< nl;
+ Info().beginBlock(tfld2().type()) << tfld2();
Info().endBlock();
}
}
@@ -122,20 +131,13 @@ int main(int argc, char *argv[])
Info<< "uint8 field\n" << endl;
DimensionedField statefld
(
- IOobject
- (
- "state",
- runTime.timeName(),
- mesh,
- IOobject::NO_READ,
- IOobject::NO_WRITE
- ),
+ mesh.newIOobject("state")
mesh,
dimensioned(dimless, uint8_t{100})
);
- Info().beginBlock("stateField")
- << statefld << nl;
+ Info<< nl;
+ Info().beginBlock("stateField") << statefld;
Info().endBlock();
}
#endif
diff --git a/applications/test/parallelOverset/Make/options b/applications/test/parallelOverset/Make/options
index b0aa2ef220..db6c073e47 100644
--- a/applications/test/parallelOverset/Make/options
+++ b/applications/test/parallelOverset/Make/options
@@ -7,5 +7,6 @@ EXE_INC = \
EXE_LIBS = \
-lfiniteVolume \
+ -ldynamicFvMesh \
-lsampling \
-loverset
diff --git a/applications/test/parallelOverset/laplacianDyMFoam.C b/applications/test/parallelOverset/laplacianDyMFoam.C
index 997ef3f590..f94bbd2caf 100644
--- a/applications/test/parallelOverset/laplacianDyMFoam.C
+++ b/applications/test/parallelOverset/laplacianDyMFoam.C
@@ -56,6 +56,7 @@ Description
#include "fvCFD.H"
#include "simpleControl.H"
+#include "predicates.H"
#include "dynamicFvMesh.H"
#include "dynamicOversetFvMesh.H"
@@ -97,6 +98,7 @@ int main(int argc, char *argv[])
component(T.ref(), mesh.C(), 1);
// Interpolate + halo swap
T.correctBoundaryConditions();
+ // T.boundaryFieldRef().evaluate_if(predicates::always{});
// Check halo swap
dynamicOversetFvMesh::checkCoupledBC(T);
}
diff --git a/applications/utilities/preProcessing/mapFieldsPar/MapVolFields.H b/applications/utilities/preProcessing/mapFieldsPar/MapVolFields.H
index f3106def5c..34b26b49ed 100644
--- a/applications/utilities/preProcessing/mapFieldsPar/MapVolFields.H
+++ b/applications/utilities/preProcessing/mapFieldsPar/MapVolFields.H
@@ -26,8 +26,8 @@ License
\*---------------------------------------------------------------------------*/
-#ifndef MapConsistentVolFields_H
-#define MapConsistentVolFields_H
+#ifndef Foam_MapConsistentVolFields_H
+#define Foam_MapConsistentVolFields_H
#include "GeometricField.H"
#include "meshToMesh.H"
@@ -41,10 +41,9 @@ namespace Foam
template
void evaluateConstraintTypes(GeometricField& fld)
{
- auto& fldBf = fld.boundaryFieldRef();
+ auto& bfld = fld.boundaryFieldRef();
const UPstream::commsTypes commsType = UPstream::defaultCommsType;
- const label startOfRequests = UPstream::nRequests();
if
(
@@ -52,37 +51,32 @@ void evaluateConstraintTypes(GeometricField& fld)
|| commsType == UPstream::commsTypes::nonBlocking
)
{
- forAll(fldBf, patchi)
- {
- fvPatchField& tgtField = fldBf[patchi];
+ const label startOfRequests = UPstream::nRequests();
+ for (auto& pfld : bfld)
+ {
if
(
- tgtField.type() == tgtField.patch().patch().type()
- && polyPatch::constraintType(tgtField.patch().patch().type())
+ pfld.type() == pfld.patch().patch().type()
+ && polyPatch::constraintType(pfld.patch().patch().type())
)
{
- tgtField.initEvaluate(commsType);
+ pfld.initEvaluate(commsType);
}
}
- // Wait for outstanding requests
- if (commsType == UPstream::commsTypes::nonBlocking)
- {
- UPstream::waitRequests(startOfRequests);
- }
+ // Wait for outstanding requests (non-blocking)
+ UPstream::waitRequests(startOfRequests);
- forAll(fldBf, patchi)
+ for (auto& pfld : bfld)
{
- fvPatchField& tgtField = fldBf[patchi];
-
if
(
- tgtField.type() == tgtField.patch().patch().type()
- && polyPatch::constraintType(tgtField.patch().patch().type())
+ pfld.type() == pfld.patch().patch().type()
+ && polyPatch::constraintType(pfld.patch().patch().type())
)
{
- tgtField.evaluate(commsType);
+ pfld.evaluate(commsType);
}
}
}
@@ -94,22 +88,21 @@ void evaluateConstraintTypes(GeometricField& fld)
for (const auto& schedEval : patchSchedule)
{
const label patchi = schedEval.patch;
-
- fvPatchField& tgtField = fldBf[patchi];
+ auto& pfld = bfld[patchi];
if
(
- tgtField.type() == tgtField.patch().patch().type()
- && polyPatch::constraintType(tgtField.patch().patch().type())
+ pfld.type() == pfld.patch().patch().type()
+ && polyPatch::constraintType(pfld.patch().patch().type())
)
{
if (schedEval.init)
{
- tgtField.initEvaluate(commsType);
+ pfld.initEvaluate(commsType);
}
else
{
- tgtField.evaluate(commsType);
+ pfld.evaluate(commsType);
}
}
}
diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C
index f7332a1900..5d096e36f6 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C
@@ -1440,7 +1440,7 @@ void Foam::polyBoundaryMesh::writeEntry(Ostream& os) const
void Foam::polyBoundaryMesh::writeEntry
(
- const keyType& keyword,
+ const word& keyword,
Ostream& os
) const
{
diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H
index 93a059a06e..d21d9cf0b5 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H
+++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H
@@ -379,7 +379,7 @@ public:
//- Write as a primitive entry with given name.
//- If the keyword is empty, revert to a plain list.
- void writeEntry(const keyType& keyword, Ostream& os) const;
+ void writeEntry(const word& keyword, Ostream& os) const;
//- The writeData member function required by regIOobject
virtual bool writeData(Ostream& os) const;
diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.C b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.C
index 7cf2f53abb..e8c4cfe61c 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.C
@@ -214,7 +214,7 @@ void Foam::polyBoundaryMeshEntries::writeEntry(Ostream& os) const
void Foam::polyBoundaryMeshEntries::writeEntry
(
- const keyType& keyword,
+ const word& keyword,
Ostream& os
) const
{
diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.H b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.H
index 2fb5c6feae..e614c0929a 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.H
+++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.H
@@ -121,7 +121,7 @@ public:
//- Write as a primitive entry with given name.
//- If the keyword is empty, revert to a plain list.
- void writeEntry(const keyType& keyword, Ostream& os) const;
+ void writeEntry(const word& keyword, Ostream& os) const;
//- The writeData member function required by regIOobject
virtual bool writeData(Ostream& os) const;
diff --git a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C
index 55ee4b2899..e770328a70 100644
--- a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C
+++ b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C
@@ -1058,7 +1058,7 @@ void Foam::faBoundaryMesh::writeEntry(Ostream& os) const
void Foam::faBoundaryMesh::writeEntry
(
- const keyType& keyword,
+ const word& keyword,
Ostream& os
) const
{
diff --git a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.H b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.H
index 9c3cc9d0e9..cad2924791 100644
--- a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.H
+++ b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.H
@@ -299,7 +299,7 @@ public:
//- Write as a primitive entry with given name.
//- If the keyword is empty, revert to a plain list.
- void writeEntry(const keyType& keyword, Ostream& os) const;
+ void writeEntry(const word& keyword, Ostream& os) const;
//- The writeData member function required by regIOobject
virtual bool writeData(Ostream& os) const;
diff --git a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.C b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.C
index 59ebacfe33..2a07f2fd99 100644
--- a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.C
+++ b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.C
@@ -183,7 +183,7 @@ void Foam::faBoundaryMeshEntries::writeEntry(Ostream& os) const
void Foam::faBoundaryMeshEntries::writeEntry
(
- const keyType& keyword,
+ const word& keyword,
Ostream& os
) const
{
diff --git a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.H b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.H
index c9f8571693..ccaebe01ac 100644
--- a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.H
+++ b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.H
@@ -108,7 +108,7 @@ public:
//- Write as a primitive entry with given name.
//- If the keyword is empty, revert to a plain list.
- void writeEntry(const keyType& keyword, Ostream& os) const;
+ void writeEntry(const word& keyword, Ostream& os) const;
//- The writeData member function required by regIOobject
virtual bool writeData(Ostream& os) const;
diff --git a/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C b/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C
index 3ef984cf4d..f1b7fd0ff0 100644
--- a/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C
+++ b/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C
@@ -107,8 +107,7 @@ void Foam::volPointInterpolation::addSeparated
}
}
- // Wait for outstanding requests
- // (commsType == UPstream::commsTypes::nonBlocking)
+ // Wait for outstanding requests (non-blocking)
UPstream::waitRequests(startOfRequests);
forAll(pfbf, patchi)
diff --git a/src/functionObjects/field/mapFields/mapFieldsTemplates.C b/src/functionObjects/field/mapFields/mapFieldsTemplates.C
index 2350ef32c0..58bd9572dc 100644
--- a/src/functionObjects/field/mapFields/mapFieldsTemplates.C
+++ b/src/functionObjects/field/mapFields/mapFieldsTemplates.C
@@ -36,10 +36,9 @@ void Foam::functionObjects::mapFields::evaluateConstraintTypes
GeometricField& fld
) const
{
- auto& fldBf = fld.boundaryFieldRef();
+ auto& bfld = fld.boundaryFieldRef();
const UPstream::commsTypes commsType = UPstream::defaultCommsType;
- const label startOfRequests = UPstream::nRequests();
if
(
@@ -47,37 +46,32 @@ void Foam::functionObjects::mapFields::evaluateConstraintTypes
|| commsType == UPstream::commsTypes::nonBlocking
)
{
- forAll(fldBf, patchi)
- {
- fvPatchField& tgtField = fldBf[patchi];
+ const label startOfRequests = UPstream::nRequests();
+ for (auto& pfld : bfld)
+ {
if
(
- tgtField.type() == tgtField.patch().patch().type()
- && polyPatch::constraintType(tgtField.patch().patch().type())
+ pfld.type() == pfld.patch().patch().type()
+ && polyPatch::constraintType(pfld.patch().patch().type())
)
{
- tgtField.initEvaluate(commsType);
+ pfld.initEvaluate(commsType);
}
}
- // Wait for outstanding requests
- if (commsType == UPstream::commsTypes::nonBlocking)
- {
- UPstream::waitRequests(startOfRequests);
- }
+ // Wait for outstanding requests (non-blocking)
+ UPstream::waitRequests(startOfRequests);
- forAll(fldBf, patchi)
+ for (auto& pfld : bfld)
{
- fvPatchField& tgtField = fldBf[patchi];
-
if
(
- tgtField.type() == tgtField.patch().patch().type()
- && polyPatch::constraintType(tgtField.patch().patch().type())
+ pfld.type() == pfld.patch().patch().type()
+ && polyPatch::constraintType(pfld.patch().patch().type())
)
{
- tgtField.evaluate(commsType);
+ pfld.evaluate(commsType);
}
}
}
@@ -89,22 +83,21 @@ void Foam::functionObjects::mapFields::evaluateConstraintTypes
for (const auto& schedEval : patchSchedule)
{
const label patchi = schedEval.patch;
-
- fvPatchField& tgtField = fldBf[patchi];
+ auto& pfld = bfld[patchi];
if
(
- tgtField.type() == tgtField.patch().patch().type()
- && polyPatch::constraintType(tgtField.patch().patch().type())
+ pfld.type() == pfld.patch().patch().type()
+ && polyPatch::constraintType(pfld.patch().patch().type())
)
{
if (schedEval.init)
{
- tgtField.initEvaluate(commsType);
+ pfld.initEvaluate(commsType);
}
else
{
- tgtField.evaluate(commsType);
+ pfld.evaluate(commsType);
}
}
}
diff --git a/src/functionObjects/field/zeroGradient/zeroGradientTemplates.C b/src/functionObjects/field/zeroGradient/zeroGradientTemplates.C
index 0894b199d5..0c6dcd4ecb 100644
--- a/src/functionObjects/field/zeroGradient/zeroGradientTemplates.C
+++ b/src/functionObjects/field/zeroGradient/zeroGradientTemplates.C
@@ -37,11 +37,9 @@ bool Foam::functionObjects::zeroGradient::accept
const GeometricField& input
)
{
- const auto& patches = input.boundaryField();
-
- forAll(patches, patchi)
+ for (const auto& pfld : input.boundaryField())
{
- if (!polyPatch::constraintType(patches[patchi].patch().patch().type()))
+ if (!polyPatch::constraintType(pfld.patch().patch().type()))
{
return true;
}
diff --git a/src/meshTools/topoSet/cellSources/fieldToCell/fieldDictionary.H b/src/meshTools/topoSet/cellSources/fieldToCell/fieldDictionary.H
index 999f5a8862..c04f5bfb38 100644
--- a/src/meshTools/topoSet/cellSources/fieldToCell/fieldDictionary.H
+++ b/src/meshTools/topoSet/cellSources/fieldToCell/fieldDictionary.H
@@ -32,11 +32,11 @@ Description
\*---------------------------------------------------------------------------*/
-#ifndef fieldDictionary_H
-#define fieldDictionary_H
+#ifndef Foam_fieldDictionary_H
+#define Foam_fieldDictionary_H
-#include "regIOobject.H"
#include "dictionary.H"
+#include "regIOobject.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -52,22 +52,22 @@ class fieldDictionary
public regIOobject,
public dictionary
{
-
// Private Data
- const word type_;
+ //- The specified field type
+ const word fieldType_;
public:
// Constructors
- //- Construct from ioobject and overloaded typename.
- fieldDictionary(const IOobject& io, const word& type)
+ //- Construct from IOobject and specified (overloaded) type name
+ fieldDictionary(const IOobject& io, const word& fieldType)
:
regIOobject(io),
- dictionary(readStream(type)),
- type_(type)
+ dictionary(readStream(fieldType)),
+ fieldType_(fieldType)
{
close();
}
@@ -78,13 +78,13 @@ public:
//- Redefine type name to be of the instantiated type
virtual const word& type() const
{
- return type_;
+ return fieldType_;
}
- bool writeData(Ostream& os) const
+ //- The writeData function required by regIOobject write operation
+ virtual bool writeData(Ostream& os) const
{
- static_cast(*this).write(os, false);
-
+ dictionary::write(os, false);
return os.good();
}
};
diff --git a/src/overset/cellCellStencil/cellCellStencil/cellCellStencilTemplates.C b/src/overset/cellCellStencil/cellCellStencil/cellCellStencilTemplates.C
index 8023791110..f110df6463 100644
--- a/src/overset/cellCellStencil/cellCellStencil/cellCellStencilTemplates.C
+++ b/src/overset/cellCellStencil/cellCellStencil/cellCellStencilTemplates.C
@@ -185,29 +185,26 @@ void Foam::cellCellStencil::correctBoundaryConditions
// Version of GeoField::correctBoundaryConditions that exclude evaluation
// of oversetFvPatchFields
- typename GeoField::Boundary& bfld = psi.boundaryFieldRef();
+ auto& bfld = psi.boundaryFieldRef();
- const label nReq = Pstream::nRequests();
+ const label startOfRequests = UPstream::nRequests();
- forAll(bfld, patchi)
+ for (auto& pfld : bfld)
{
- if (!isA(bfld[patchi]))
+ if (!isA(pfld))
{
- bfld[patchi].initEvaluate(Pstream::commsTypes::nonBlocking);
+ pfld.initEvaluate(UPstream::commsTypes::nonBlocking);
}
}
- // Block for any outstanding requests
- if (Pstream::parRun())
- {
- Pstream::waitRequests(nReq);
- }
+ // Wait for outstanding requests (non-blocking)
+ UPstream::waitRequests(startOfRequests);
- forAll(bfld, patchi)
+ for (auto& pfld : bfld)
{
- if (!isA(bfld[patchi]))
+ if (!isA(pfld))
{
- bfld[patchi].evaluate(Pstream::commsTypes::nonBlocking);
+ pfld.evaluate(UPstream::commsTypes::nonBlocking);
}
}
}
diff --git a/src/overset/oversetFvMesh/oversetFvMeshBase.H b/src/overset/oversetFvMesh/oversetFvMeshBase.H
index 4951322195..b0678b1a24 100644
--- a/src/overset/oversetFvMesh/oversetFvMeshBase.H
+++ b/src/overset/oversetFvMesh/oversetFvMeshBase.H
@@ -256,7 +256,7 @@ public:
static void checkCoupledBC(const GeoField& fld);
//- Correct boundary conditions of certain type (typeOnly = true)
- // or explicitly not of the type (typeOnly = false)
+ //- or explicitly not of the type (typeOnly = false)
template
static void correctBoundaryConditions
(
diff --git a/src/overset/oversetFvMesh/oversetFvMeshBaseTemplates.C b/src/overset/oversetFvMesh/oversetFvMeshBaseTemplates.C
index c57a635818..471cbee742 100644
--- a/src/overset/oversetFvMesh/oversetFvMeshBaseTemplates.C
+++ b/src/overset/oversetFvMesh/oversetFvMeshBaseTemplates.C
@@ -80,28 +80,36 @@ void Foam::oversetFvMeshBase::correctBoundaryConditions
const bool typeOnly
)
{
+ // Alternative (C++14)
+ //
+ // bfld.evaluate_if
+ // (
+ // [typeOnly](const auto& pfld) -> bool
+ // {
+ // return (typeOnly == bool(isA(pfld)));
+ // },
+ // UPstream::defaultCommsType
+ // );
+
const UPstream::commsTypes commsType = UPstream::defaultCommsType;
const label startOfRequests = UPstream::nRequests();
- forAll(bfld, patchi)
+ for (auto& pfld : bfld)
{
- if (typeOnly == (isA(bfld[patchi]) != nullptr))
+ if (typeOnly == bool(isA(pfld)))
{
- bfld[patchi].initEvaluate(commsType);
+ pfld.initEvaluate(commsType);
}
}
- // Wait for outstanding requests
- if (commsType == UPstream::commsTypes::nonBlocking)
- {
- Pstream::waitRequests(startOfRequests);
- }
+ // Wait for outstanding requests (non-blocking)
+ UPstream::waitRequests(startOfRequests);
- forAll(bfld, patchi)
+ for (auto& pfld : bfld)
{
- if (typeOnly == (isA(bfld[patchi]) != nullptr))
+ if (typeOnly == bool(isA(pfld)))
{
- bfld[patchi].evaluate(commsType);
+ pfld.evaluate(commsType);
}
}
}
@@ -989,32 +997,30 @@ void Foam::oversetFvMeshBase::write
template
void Foam::oversetFvMeshBase::correctCoupledBoundaryConditions(GeoField& fld)
{
- typename GeoField::Boundary& bfld = fld.boundaryFieldRef();
+ auto& bfld = fld.boundaryFieldRef();
const UPstream::commsTypes commsType = UPstream::defaultCommsType;
+
const label startOfRequests = UPstream::nRequests();
- forAll(bfld, patchi)
+ for (auto& pfld : bfld)
{
- if (bfld[patchi].coupled())
+ if (pfld.coupled())
{
- //Pout<< "initEval of " << bfld[patchi].patch().name() << endl;
- bfld[patchi].initEvaluate(commsType);
+ //Pout<< "initEval of " << pfld.patch().name() << endl;
+ pfld.initEvaluate(commsType);
}
}
- // Wait for outstanding requests
- if (commsType == UPstream::commsTypes::nonBlocking)
- {
- Pstream::waitRequests(startOfRequests);
- }
+ // Wait for outstanding requests (non-blocking)
+ UPstream::waitRequests(startOfRequests);
- forAll(bfld, patchi)
+ for (auto& pfld : bfld)
{
- if (bfld[patchi].coupled())
+ if (pfld.coupled())
{
- //Pout<< "eval of " << bfld[patchi].patch().name() << endl;
- bfld[patchi].evaluate(commsType);
+ //Pout<< "eval of " << pfld.patch().name() << endl;
+ pfld.evaluate(commsType);
}
}
}