/*---------------------------------------------------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2021-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM, distributed under GPL-3.0-or-later. Description Check field availability for last time. Done to avoid mapping 'undefined' when a field only exists as time 0. Requires readFields.H (for the checkData function) \*---------------------------------------------------------------------------*/ // Initially all possible objects that are available at the final time List availableRegionObjectNames(meshes.size()); forAll(meshes, regioni) { const auto& mesh = meshes[regioni]; IOobjectList objects(0); if (doConvertFields) { objects = IOobjectList(mesh, timeDirs.last().name()); if (fieldSelector && !fieldSelector().empty()) { objects.filterObjects(fieldSelector()); } if (fieldSelector && !fieldSelector().empty()) { objects.filterObjects(fieldSelector()); } // Remove "*_0" restart fields objects.prune_0(); if (!doPointValues) { // Prune point fields if disabled objects.filterClasses ( [](const word& clsName) { return fieldTypes::point.found(clsName); }, true // prune ); } } wordList objectNames(objects.sortedNames()); // Check availability for all times... checkData(mesh, timeDirs, objectNames); availableRegionObjectNames[regioni] = objectNames; } // ************************************************************************* //