/*---------------------------------------------------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- 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 . \*----------------------------------------------------------------------------*/ #include "meshRefinement.H" #include "combineFaces.H" #include "polyTopoChange.H" #include "removePoints.H" #include "faceSet.H" #include "Time.H" #include "motionSmoother.H" #include "syncTools.H" // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // //// Merge faces that are in-line. //Foam::label Foam::meshRefinement::mergePatchFaces //( // const scalar minCos, // const scalar concaveCos, // const labelList& patchIDs //) //{ // // Patch face merging engine // combineFaces faceCombiner(mesh_); // // const polyBoundaryMesh& patches = mesh_.boundaryMesh(); // // // Pick up all candidate cells on boundary // labelHashSet boundaryCells(mesh_.nFaces()-mesh_.nInternalFaces()); // // forAll(patchIDs, i) // { // label patchI = patchIDs[i]; // // const polyPatch& patch = patches[patchI]; // // if (!patch.coupled()) // { // forAll(patch, i) // { // boundaryCells.insert(mesh_.faceOwner()[patch.start()+i]); // } // } // } // // // Get all sets of faces that can be merged // labelListList mergeSets // ( // faceCombiner.getMergeSets // ( // minCos, // concaveCos, // boundaryCells // ) // ); // // label nFaceSets = returnReduce(mergeSets.size(), sumOp