1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
11 OpenFOAM is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by
13 the Free Software Foundation, either version 3 of the License, or
14 (at your option) any later version.
16 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 Foam::attachPolyTopoChanger
28 This class is derived from polyMesh and serves as a tool for
29 statically connecting pieces of a mesh by executing the mesh
30 modifiers and cleaning the mesh.
32 The idea is that a mesh can be built from pieces and put together
33 using various mesh modifiers (mainly sliding interfaces) which are
34 not needed during the run. Therefore, once the mesh is assembled
35 and mesh modification triggered, the newly created point, face and
36 cell zones can be cleared together with the mesh modifiers thus
37 creating a singly connected static mesh.
40 All point, face and cell zoning will be lost! Do it after
41 attaching the parts of the mesh, as the point, face and cell
44 \*---------------------------------------------------------------------------*/
46 #ifndef attachPolyTopoChanger_H
47 #define attachPolyTopoChanger_H
49 #include "polyTopoChanger.H"
51 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
56 /*---------------------------------------------------------------------------*\
57 Class attachPolyTopoChanger Declaration
58 \*---------------------------------------------------------------------------*/
60 class attachPolyTopoChanger
62 public polyTopoChanger
66 // Private Member Functions
68 //- Disallow default bitwise copy construct
69 attachPolyTopoChanger(const attachPolyTopoChanger&);
71 //- Disallow default bitwise assignment
72 void operator=(const attachPolyTopoChanger&);
79 //- Read constructor from IOobject and a polyMesh
80 attachPolyTopoChanger(const IOobject& io, polyMesh&);
82 //- Read constructor for given polyMesh
83 explicit attachPolyTopoChanger(polyMesh&);
87 virtual ~attachPolyTopoChanger()
93 //- Attach mesh. By default filter out empty patches.
94 void attach(const bool removeEmptyPatches = true);
98 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
100 } // End namespace Foam
103 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
107 // ************************************************************************* //