From 1642841868df7c6acde9d8aa0595aa3cfa1cea0e Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Tue, 12 Aug 2025 12:34:39 +0200 Subject: [PATCH] ENH: allow modifiable access to IOobject local(), as per instance() ENH: simplify code by using fieldTypes::is_xxx() tests --- .../test/stringList/Test-stringList.cxx | 16 +++++----- .../utilities/mesh/advanced/PDRMesh/PDRMesh.C | 14 ++------- .../vtkUnstructuredToFoam.C | 2 +- .../foamFormatConvert/foamFormatConvert.C | 29 ++++--------------- .../foamToEnsight/checkFieldAvailability.H | 9 +----- .../foamToVTK/convertAreaFields.H | 5 ++-- .../foamToVTK/convertLagrangian.H | 7 ++--- .../foamToVTK/convertProcessorPatches.H | 7 ++--- .../foamToVTK/convertVolumeFields.H | 6 ++-- .../dataConversion/foamToVTK/foamToVTK.C | 9 +----- .../steadyParticleTracks.C | 11 +------ .../PDR/pdrFields/PDRarraysAnalyse.C | 4 +-- src/OpenFOAM/db/IOobject/IOobject.H | 9 ++++-- src/OpenFOAM/db/IOobject/IOobjectI.H | 8 ++++- src/OpenFOAM/fields/Fields/fieldTypes.C | 2 +- .../GeometricFields/pointFields/pointFields.C | 4 +-- .../primitives/strings/lists/stringListOps.H | 11 ++----- src/finiteArea/fields/areaFields/areaFields.C | 14 +++++++-- .../fields/areaFields/areaFieldsFwd.H | 5 +++- .../fields/surfaceFields/surfaceFields.C | 4 +-- .../fields/surfaceFields/surfaceFieldsFwd.H | 2 +- src/finiteVolume/fields/volFields/volFields.C | 14 +++++++-- .../fields/volFields/volFieldsFwd.H | 5 +++- .../utilities/areaWrite/areaWrite.C | 6 ++-- .../utilities/vtkWrite/vtkWrite.C | 16 +++------- .../sampledSurfaces/sampledSurfaces.C | 4 +-- 26 files changed, 95 insertions(+), 128 deletions(-) diff --git a/applications/test/stringList/Test-stringList.cxx b/applications/test/stringList/Test-stringList.cxx index 4a7f18748a..1df24f7bd3 100644 --- a/applications/test/stringList/Test-stringList.cxx +++ b/applications/test/stringList/Test-stringList.cxx @@ -42,7 +42,7 @@ using namespace Foam; int main(int argc, char *argv[]) { stringList strings - { + ({ "hello", "heello", "heeello", @@ -52,7 +52,7 @@ int main(int argc, char *argv[]) "okey", "okkey", "okkkey", - }; + }); labelList matches; wordRes matcher1(ICharStream("( okey \"[hy]e+.*\" )")()); @@ -72,12 +72,14 @@ int main(int argc, char *argv[]) } } - Info<< "Match found using ListOps = " - << ListOps::found(strings, regExp(".*ee.*")) << nl; - - Info<< "First index = " - << ListOps::find(strings, regExp(".*ee.*")) << nl; + { + regExp matcher(".*ee.*"); + Info<< "Match found using ListOps = " + << ListOps::found_if(strings, matcher) << nl + << "First index = " + << ListOps::find_if(strings, matcher) << nl; + } Info<< endl; matches = findMatchingStrings(matcher1, strings); diff --git a/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C b/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C index f2e6a8be6d..55554f0456 100644 --- a/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C +++ b/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2025 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -857,16 +857,8 @@ int main(int argc, char *argv[]) if ( - obj.isHeaderClass() - || obj.isHeaderClass() - || obj.isHeaderClass() - || obj.isHeaderClass() - || obj.isHeaderClass() - || obj.isHeaderClass() - || obj.isHeaderClass() - || obj.isHeaderClass() - || obj.isHeaderClass() - || obj.isHeaderClass() + Foam::fieldTypes::is_volume(obj.headerClassName()) + || Foam::fieldTypes::is_surface(obj.headerClassName()) ) { objects.add(objPtr); diff --git a/applications/utilities/mesh/conversion/vtkUnstructuredToFoam/vtkUnstructuredToFoam.C b/applications/utilities/mesh/conversion/vtkUnstructuredToFoam/vtkUnstructuredToFoam.C index 9f43ea0fb3..5b140c5d45 100644 --- a/applications/utilities/mesh/conversion/vtkUnstructuredToFoam/vtkUnstructuredToFoam.C +++ b/applications/utilities/mesh/conversion/vtkUnstructuredToFoam/vtkUnstructuredToFoam.C @@ -86,7 +86,7 @@ void constructVolFields(fvMesh& mesh, const vtkUnstructuredReader& reader) ); auto& fld = tfld.ref(); fld.instance() = mesh.time().timeName(); - fld.writeOpt() = IOobject::AUTO_WRITE; + fld.writeOpt(IOobject::AUTO_WRITE); // Fill cell values fld.internalFieldRef().field() = diff --git a/applications/utilities/miscellaneous/foamFormatConvert/foamFormatConvert.C b/applications/utilities/miscellaneous/foamFormatConvert/foamFormatConvert.C index 041c2b0309..3573d49879 100644 --- a/applications/utilities/miscellaneous/foamFormatConvert/foamFormatConvert.C +++ b/applications/utilities/miscellaneous/foamFormatConvert/foamFormatConvert.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2025 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -383,29 +383,10 @@ int main(int argc, char *argv[]) if ( - io.isHeaderClass() - || io.isHeaderClass() - || io.isHeaderClass() - || io.isHeaderClass() - || io.isHeaderClass() - - || io.isHeaderClass() - || io.isHeaderClass() - || io.isHeaderClass() - || io.isHeaderClass() - || io.isHeaderClass() - - || io.isHeaderClass() - || io.isHeaderClass() - || io.isHeaderClass() - || io.isHeaderClass() - || io.isHeaderClass() - - || io.isHeaderClass() - || io.isHeaderClass() - || io.isHeaderClass() - || io.isHeaderClass() - || io.isHeaderClass() + Foam::fieldTypes::is_volume(io.headerClassName()) + || Foam::fieldTypes::is_internal(io.headerClassName()) + || Foam::fieldTypes::is_surface(io.headerClassName()) + || Foam::fieldTypes::is_point(io.headerClassName()) ) { Info<< " Reading " << io.headerClassName() diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkFieldAvailability.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkFieldAvailability.H index de638671d4..45934c392d 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkFieldAvailability.H +++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkFieldAvailability.H @@ -57,14 +57,7 @@ forAll(meshes, regioni) if (!doPointValues) { // Prune point fields if disabled - objects.filterClasses - ( - [](const word& clsName) - { - return fieldTypes::point.found(clsName); - }, - true // prune - ); + objects.filterClasses(Foam::fieldTypes::is_point, true); } } diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/convertAreaFields.H b/applications/utilities/postProcessing/dataConversion/foamToVTK/convertAreaFields.H index 766ffb7f6c..297822d89a 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToVTK/convertAreaFields.H +++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/convertAreaFields.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2025 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -28,8 +28,7 @@ if (doFiniteArea) autoPtr faMeshPtr; - const label nAreaFields = - faObjects.count(stringListOps::foundOp(fieldTypes::area)); + const label nAreaFields = faObjects.count(Foam::fieldTypes::is_area); if (nAreaFields || withMeshIds) { diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/convertLagrangian.H b/applications/utilities/postProcessing/dataConversion/foamToVTK/convertLagrangian.H index d1c10b9574..c78e527f6e 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToVTK/convertLagrangian.H +++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/convertLagrangian.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2025 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -53,10 +53,7 @@ if (doLagrangian) } // Limited to basic IOField types - cloudObjs.filterClasses - ( - stringListOps::foundOp(fieldTypes::basic) - ); + cloudObjs.filterClasses(Foam::fieldTypes::is_basic); // Are there cloud fields (globally)? if (returnReduceAnd(cloudObjs.empty())) diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/convertProcessorPatches.H b/applications/utilities/postProcessing/dataConversion/foamToVTK/convertProcessorPatches.H index 32198a6eb9..a56026a9c0 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToVTK/convertProcessorPatches.H +++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/convertProcessorPatches.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2025 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -23,10 +23,7 @@ Description { using reportFields = foamToVtkReportFields; - const label nVolFields = - ( - objects.count(stringListOps::foundOp(fieldTypes::volume)) - ); + const label nVolFields = objects.count(Foam::fieldTypes::is_volume); reportFields::volume(Info, objects); diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/convertVolumeFields.H b/applications/utilities/postProcessing/dataConversion/foamToVTK/convertVolumeFields.H index d663efe1ab..c2e5265e50 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToVTK/convertVolumeFields.H +++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/convertVolumeFields.H @@ -24,21 +24,21 @@ Description const label nVolFields = ( (doInternal || doBoundary) - ? objects.count(stringListOps::foundOp(fieldTypes::volume)) + ? objects.count(Foam::fieldTypes::is_volume) : 0 ); const label nDimFields = ( (doInternal || doBoundary) - ? objects.count(stringListOps::foundOp(fieldTypes::internal)) + ? objects.count(Foam::fieldTypes::is_internal) : 0 ); label nPointFields = ( doPointValues - ? objects.count(stringListOps::foundOp(fieldTypes::point)) + ? objects.count(Foam::fieldTypes::is_point) : 0 ); diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C index c8edc8fabf..1350626163 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C +++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C @@ -803,14 +803,7 @@ int main(int argc, char *argv[]) if (!doPointValues) { // Prune point fields if disabled - objects.filterClasses - ( - [](const word& clsName) - { - return fieldTypes::point.found(clsName); - }, - true // prune - ); + objects.filterClasses(Foam::fieldTypes::is_point, true); } } diff --git a/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/steadyParticleTracks.C b/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/steadyParticleTracks.C index bde1b627af..7d80cd2616 100644 --- a/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/steadyParticleTracks.C +++ b/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/steadyParticleTracks.C @@ -104,16 +104,7 @@ IOobjectList preFilterFields const IOobject& io = *(iter.val()); - if - ( - //OR: fieldTypes::basic.found(io.headerClassName()) - io.isHeaderClass>() - || io.isHeaderClass>() - || io.isHeaderClass>() - || io.isHeaderClass>() - || io.isHeaderClass>() - || io.isHeaderClass>() - ) + if (Foam::fieldTypes::is_basic(io.headerClassName())) { // Transfer from cloudObjects -> filteredObjects filteredObjects.add(cloudObjects.remove(fldName)); diff --git a/applications/utilities/preProcessing/PDR/pdrFields/PDRarraysAnalyse.C b/applications/utilities/preProcessing/PDR/pdrFields/PDRarraysAnalyse.C index 8060153e9b..cf10cbf6ad 100644 --- a/applications/utilities/preProcessing/PDR/pdrFields/PDRarraysAnalyse.C +++ b/applications/utilities/preProcessing/PDR/pdrFields/PDRarraysAnalyse.C @@ -647,10 +647,10 @@ void Foam::PDRarrays::addBlockage const word patchName = word::validate(identifier.substr(0, spc)); - patchNum = ListOps::find + patchNum = ListOps::find_if ( patches, - [=](const PDRpatchDef& p){ return patchName == p.patchName; }, + [&](const PDRpatchDef& p){ return patchName == p.patchName; }, 1 // skip 0 (blocked face) ); diff --git a/src/OpenFOAM/db/IOobject/IOobject.H b/src/OpenFOAM/db/IOobject/IOobject.H index 2273848d60..7044a2651e 100644 --- a/src/OpenFOAM/db/IOobject/IOobject.H +++ b/src/OpenFOAM/db/IOobject/IOobject.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2025 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -505,7 +505,7 @@ public: //- Return name of the class name read from header inline const word& headerClassName() const noexcept; - //- Return non-constant access to the class name read from header + //- Modifiable access to the class name read from header inline word& headerClassName() noexcept; //- Return the optional note @@ -572,12 +572,15 @@ public: //- Read access to instance path component inline const fileName& instance() const noexcept; - //- Write access to instance path component + //- Modifiable access to instance path component inline fileName& instance() noexcept; //- Read access to local path component inline const fileName& local() const noexcept; + //- Modifiable access to the local path component + inline fileName& local() noexcept; + //- The complete path for the object (with instance, local,...). fileName path() const; diff --git a/src/OpenFOAM/db/IOobject/IOobjectI.H b/src/OpenFOAM/db/IOobject/IOobjectI.H index ba7f684240..9fe9023f94 100644 --- a/src/OpenFOAM/db/IOobject/IOobjectI.H +++ b/src/OpenFOAM/db/IOobject/IOobjectI.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2025 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -288,6 +288,12 @@ inline const Foam::fileName& Foam::IOobject::local() const noexcept } +inline Foam::fileName& Foam::IOobject::local() noexcept +{ + return local_; +} + + inline Foam::fileName Foam::IOobject::objectPath() const { return path()/name(); diff --git a/src/OpenFOAM/fields/Fields/fieldTypes.C b/src/OpenFOAM/fields/Fields/fieldTypes.C index c7160c859d..bdfb88a011 100644 --- a/src/OpenFOAM/fields/Fields/fieldTypes.C +++ b/src/OpenFOAM/fields/Fields/fieldTypes.C @@ -77,7 +77,7 @@ bool Foam::fieldTypes::is_basic(const word& clsName) return ( clsName.ends_with("Field") - && fieldTypes::basic.contains(clsName) + && Foam::fieldTypes::basic.contains(clsName) ); } diff --git a/src/OpenFOAM/fields/GeometricFields/pointFields/pointFields.C b/src/OpenFOAM/fields/GeometricFields/pointFields/pointFields.C index bf2e6660a8..847d553dbb 100644 --- a/src/OpenFOAM/fields/GeometricFields/pointFields/pointFields.C +++ b/src/OpenFOAM/fields/GeometricFields/pointFields/pointFields.C @@ -102,8 +102,8 @@ bool Foam::fieldTypes::is_point(const word& clsName) { return ( - clsName.starts_with("point") // && clsName.ends_with("Field") - && fieldTypes::point.contains(clsName) + clsName.starts_with("point") && clsName.ends_with("Field") + && Foam::fieldTypes::point.contains(clsName) ); } diff --git a/src/OpenFOAM/primitives/strings/lists/stringListOps.H b/src/OpenFOAM/primitives/strings/lists/stringListOps.H index bee2406141..000e12dc4c 100644 --- a/src/OpenFOAM/primitives/strings/lists/stringListOps.H +++ b/src/OpenFOAM/primitives/strings/lists/stringListOps.H @@ -335,25 +335,20 @@ namespace Foam namespace stringListOps { -//- Functor to determine if a string is exists in a list of strings. -// For example, -// -// \code -// reduce(text, stringListOps::foundOp(myNames)); -// \endcode +//- Functor to determine if a string exists in a list of strings. template struct foundOp { const UList& values; - foundOp(const UList& list) + foundOp(const UList& list) noexcept : values(list) {} bool operator()(const std::string& text) const { - return values.found(text); + return values.contains(text); } }; diff --git a/src/finiteArea/fields/areaFields/areaFields.C b/src/finiteArea/fields/areaFields/areaFields.C index 51f28878cd..715b276913 100644 --- a/src/finiteArea/fields/areaFields/areaFields.C +++ b/src/finiteArea/fields/areaFields/areaFields.C @@ -162,8 +162,18 @@ bool Foam::fieldTypes::is_area(const word& clsName) { return ( - clsName.starts_with("area") // && clsName.ends_with("Field") - && fieldTypes::area.contains(clsName) + clsName.starts_with("area") && clsName.ends_with("Field") + && Foam::fieldTypes::area.contains(clsName) + ); +} + + +bool Foam::fieldTypes::is_area_internal(const word& clsName) +{ + return + ( + clsName.starts_with("area") && clsName.ends_with("::Internal") + && Foam::fieldTypes::area_internal.contains(clsName) ); } diff --git a/src/finiteArea/fields/areaFields/areaFieldsFwd.H b/src/finiteArea/fields/areaFields/areaFieldsFwd.H index 653270daf8..43c9c79d65 100644 --- a/src/finiteArea/fields/areaFields/areaFieldsFwd.H +++ b/src/finiteArea/fields/areaFields/areaFieldsFwd.H @@ -96,12 +96,15 @@ namespace fieldTypes //- Standard area field types (scalar, vector, tensor, etc) extern const wordList area; -//- Standard dimensioned field types (scalar, vector, tensor, etc) +//- Standard area internal field types (scalar, vector, tensor, etc) extern const wordList area_internal; //- Test if the class name appears to be an area field bool is_area(const word& clsName); +//- Test if the class name appears to be an area internal field +bool is_area_internal(const word& clsName); + } // End namespace fieldTypes // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteVolume/fields/surfaceFields/surfaceFields.C b/src/finiteVolume/fields/surfaceFields/surfaceFields.C index 3ea687217c..3a6ef6c65f 100644 --- a/src/finiteVolume/fields/surfaceFields/surfaceFields.C +++ b/src/finiteVolume/fields/surfaceFields/surfaceFields.C @@ -100,8 +100,8 @@ bool Foam::fieldTypes::is_surface(const word& clsName) { return ( - clsName.starts_with("surface") // && clsName.ends_with("Field") - && fieldTypes::surface.contains(clsName) + clsName.starts_with("surface") && clsName.ends_with("Field") + && Foam::fieldTypes::surface.contains(clsName) ); } diff --git a/src/finiteVolume/fields/surfaceFields/surfaceFieldsFwd.H b/src/finiteVolume/fields/surfaceFields/surfaceFieldsFwd.H index 49ad2a2c42..293247c0e7 100644 --- a/src/finiteVolume/fields/surfaceFields/surfaceFieldsFwd.H +++ b/src/finiteVolume/fields/surfaceFields/surfaceFieldsFwd.H @@ -90,7 +90,7 @@ namespace fieldTypes //- Standard surface field types (scalar, vector, tensor, etc) extern const wordList surface; -//- Test if the class name appears to be an surface field +//- Test if the class name appears to be a surface field bool is_surface(const word& clsName); } // End namespace fieldTypes diff --git a/src/finiteVolume/fields/volFields/volFields.C b/src/finiteVolume/fields/volFields/volFields.C index 3f5a337336..34def2878d 100644 --- a/src/finiteVolume/fields/volFields/volFields.C +++ b/src/finiteVolume/fields/volFields/volFields.C @@ -159,12 +159,22 @@ const Foam::wordList Foam::fieldTypes::volume // * * * * * * * * * * * * * * * Global Functions * * * * * * * * * * * * * // +bool Foam::fieldTypes::is_internal(const word& clsName) +{ + return + ( + clsName.starts_with("vol") && clsName.ends_with("::Internal") + && Foam::fieldTypes::internal.contains(clsName) + ); +} + + bool Foam::fieldTypes::is_volume(const word& clsName) { return ( - clsName.starts_with("vol") // && clsName.ends_with("Field") - && fieldTypes::volume.contains(clsName) + clsName.starts_with("vol") && clsName.ends_with("Field") + && Foam::fieldTypes::volume.contains(clsName) ); } diff --git a/src/finiteVolume/fields/volFields/volFieldsFwd.H b/src/finiteVolume/fields/volFields/volFieldsFwd.H index 8e0b91533e..84f779c127 100644 --- a/src/finiteVolume/fields/volFields/volFieldsFwd.H +++ b/src/finiteVolume/fields/volFields/volFieldsFwd.H @@ -93,12 +93,15 @@ typedef namespace fieldTypes { -//- Standard dimensioned field types (scalar, vector, tensor, etc) +//- Standard volume internal field types (scalar, vector, tensor, etc) extern const wordList internal; //- Standard volume field types (scalar, vector, tensor, etc) extern const wordList volume; +//- Test if the class name appears to be a volume internal field +bool is_internal(const word& clsName); + //- Test if the class name appears to be a volume field bool is_volume(const word& clsName); diff --git a/src/functionObjects/utilities/areaWrite/areaWrite.C b/src/functionObjects/utilities/areaWrite/areaWrite.C index cecb0e2fac..e245381dcf 100644 --- a/src/functionObjects/utilities/areaWrite/areaWrite.C +++ b/src/functionObjects/utilities/areaWrite/areaWrite.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2025 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -315,8 +315,8 @@ bool Foam::areaWrite::write() if ( - fieldTypes::area.contains(clsName) - || fieldTypes::area_internal.contains(clsName) + Foam::fieldTypes::is_area(clsName) + || Foam::fieldTypes::is_area_internal(clsName) ) { nAreaFields += n; diff --git a/src/functionObjects/utilities/vtkWrite/vtkWrite.C b/src/functionObjects/utilities/vtkWrite/vtkWrite.C index 6d808a1e90..3ccc27c01f 100644 --- a/src/functionObjects/utilities/vtkWrite/vtkWrite.C +++ b/src/functionObjects/utilities/vtkWrite/vtkWrite.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2022 OpenCFD Ltd. + Copyright (C) 2017-2025 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -29,7 +29,7 @@ License #include "dictionary.H" #include "Time.H" #include "areaFields.H" -#include "stringListOps.H" // For stringListOps::foundOp() +#include "volFields.H" #include "foamVtkInternalWriter.H" #include "foamVtkPatchWriter.H" #include "foamVtkSeriesWriter.H" @@ -332,11 +332,7 @@ bool Foam::functionObjects::vtkWrite::write() const label nVolFields = ( (doInternal_ || doBoundary_) - ? baseMesh.count - ( - stringListOps::foundOp(fieldTypes::volume), - candidateNames - ) + ? baseMesh.count(Foam::fieldTypes::is_volume, candidateNames) : 0 ); @@ -345,11 +341,7 @@ bool Foam::functionObjects::vtkWrite::write() const label nDimFields = 0; // ( // (doInternal_ || doBoundary_) - // ? baseMesh.count - // ( - // stringListOps::foundOp(fieldTypes::internal), - // candidateNames - // ) + // ? baseMesh.count(Foam::fieldTypes::is_internal, candidateNames) // : 0 // ); diff --git a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C index b46ab90e47..286784546b 100644 --- a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C +++ b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C @@ -127,11 +127,11 @@ Foam::IOobjectList Foam::sampledSurfaces::preCheckFields() const word& clsName = iter.key(); const label n = iter.val().size(); - if (fieldTypes::volume.contains(clsName)) + if (Foam::fieldTypes::is_volume(clsName)) { nVolumeFields += n; } - else if (fieldTypes::surface.contains(clsName)) + else if (Foam::fieldTypes::is_surface(clsName)) { nSurfaceFields += n; }