/*---------------------------------------------------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2021 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM, distributed under GPL-3.0-or-later. Description Additional mesh accounting (Ensight) \*---------------------------------------------------------------------------*/ PtrList ensightCases(regionNames.size()); PtrList ensightMeshes(regionNames.size()); PtrList meshesFa(regionNames.size()); PtrList ensightCasesFa(regionNames.size()); PtrList ensightMeshesFa(regionNames.size()); { forAll(regionNames, regioni) { const fvMesh& mesh = meshes[regioni]; const word& regionName = regionNames[regioni]; const word& regionDir = ( regionName != polyMesh::defaultRegion ? regionName : word::null ); fileName ensCasePath(outputDir); word ensCaseName(args.globalCaseName()); if (!regionDir.empty()) { ensCaseName = regionName; ensCasePath /= regionName; // Handle very rare naming collision with Ensight directories if (regionName == "data") { ensCasePath += "-region"; } } ensightMeshes.set ( regioni, new ensightMesh(mesh, writeOpts) ); // New ensight case file, initialize header etc. ensightCases.set ( regioni, new ensightCase(ensCasePath, ensCaseName, caseOpts) ); if (doFiniteArea) { autoPtr faMeshPtr; const bool throwing = FatalError.throwExceptions(); try { faMeshPtr.reset(new faMesh(mesh)); } catch (const Foam::error& err) { faMeshPtr.reset(nullptr); } FatalError.throwExceptions(throwing); if (faMeshPtr) { ensightCasesFa.set ( regioni, new ensightCase ( ensCasePath/"finite-area", "finite-area", caseOpts ) ); meshesFa.set(regioni, faMeshPtr); ensightMeshesFa.set ( regioni, new ensightFaMesh(meshesFa[regioni]) ); } } } } // ************************************************************************* //