1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | foam-extend: Open Source CFD
4 \\ / O peration | Version: 3.2
5 \\ / A nd | Web: http://www.foam-extend.org
6 \\/ M anipulation | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
9 This file is part of foam-extend.
11 foam-extend is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by the
13 Free Software Foundation, either version 3 of the License, or (at your
14 option) any later version.
16 foam-extend is distributed in the hope that it will be useful, but
17 WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 General Public License for more details.
21 You should have received a copy of the GNU General Public License
22 along with foam-extend. 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&);
88 virtual ~attachPolyTopoChanger()
94 //- Attach mesh. By default filter out empty patches.
95 void attach(const bool removeEmptyPatches = true);
99 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
101 } // End namespace Foam
104 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
108 // ************************************************************************* //