/*---------------------------------------------------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. OpenFOAM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see . Application moveDynamicMesh Group grpMeshManipulationUtilities Description Mesh motion and topological mesh changes utility. \*---------------------------------------------------------------------------*/ #include "argList.H" #include "Time.H" #include "dynamicFvMesh.H" #include "pimpleControl.H" #include "vtkSurfaceWriter.H" #include "cyclicAMIPolyPatch.H" #include "PatchTools.H" #include "functionObject.H" using namespace Foam; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Dump patch + weights to vtk file void writeWeights ( const polyMesh& mesh, const scalarField& wghtSum, const primitivePatch& patch, const fileName& directory, const fileName& prefix, const word& timeName ) { vtkSurfaceWriter writer; // Collect geometry labelList pointToGlobal; labelList uniqueMeshPointLabels; autoPtr globalPoints; autoPtr globalFaces; faceList mergedFaces; pointField mergedPoints; Foam::PatchTools::gatherAndMerge ( mesh, patch.localFaces(), patch.meshPoints(), patch.meshPointMap(), pointToGlobal, uniqueMeshPointLabels, globalPoints, globalFaces, mergedFaces, mergedPoints ); // Collect field scalarField mergedWeights; globalFaces().gather ( UPstream::worldComm, ListOps::create