![]() |
|
00001 /*---------------------------------------------------------------------------*\ 00002 ========= | 00003 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox 00004 \\ / O peration | 00005 \\ / A nd | Copyright (C) 1991-2005 OpenCFD Ltd. 00006 \\/ M anipulation | 00007 ------------------------------------------------------------------------------- 00008 License 00009 This file is part of OpenFOAM. 00010 00011 OpenFOAM is free software; you can redistribute it and/or modify it 00012 under the terms of the GNU General Public License as published by the 00013 Free Software Foundation; either version 2 of the License, or (at your 00014 option) any later version. 00015 00016 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT 00017 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00018 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00019 for more details. 00020 00021 You should have received a copy of the GNU General Public License 00022 along with OpenFOAM; if not, write to the Free Software Foundation, 00023 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00024 00025 Class 00026 attachPolyTopoChanger 00027 00028 Description 00029 This class is derived from polyMesh and serves as a tool for 00030 statically connecting pieces of a mesh by executing the mesh 00031 modifiers and cleaning the mesh. 00032 00033 The idea is that a mesh can be built from pieces and put together 00034 using various mesh modifiers (mainly sliding interfaces) which are 00035 not needed during the run. Therefore, once the mesh is assembled 00036 and mesh modification triggered, the newly created point, face and 00037 cell zones can be cleared together with the mesh modifiers thus 00038 creating a singly connected static mesh. 00039 00040 Note: 00041 All point, face and cell zoning will be lost! Do it after 00042 attaching the parts of the mesh, as the point, face and cell 00043 numbering changes. 00044 00045 \*---------------------------------------------------------------------------*/ 00046 00047 #ifndef attachPolyTopoChanger_H 00048 #define attachPolyTopoChanger_H 00049 00050 #include "polyTopoChanger.H" 00051 00052 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00053 00054 namespace Foam 00055 { 00056 00057 /*---------------------------------------------------------------------------*\ 00058 Class attachPolyTopoChanger Declaration 00059 \*---------------------------------------------------------------------------*/ 00060 00061 class attachPolyTopoChanger 00062 : 00063 public polyTopoChanger 00064 { 00065 // Private data 00066 00067 // Private Member Functions 00068 00069 //- Disallow default bitwise copy construct 00070 attachPolyTopoChanger(const attachPolyTopoChanger&); 00071 00072 //- Disallow default bitwise assignment 00073 void operator=(const attachPolyTopoChanger&); 00074 00075 00076 public: 00077 00078 // Constructors 00079 00080 //- Read constructor from IOobject and a polyMesh 00081 attachPolyTopoChanger(const IOobject& io, polyMesh&); 00082 00083 //- Read constructor for given polyMesh 00084 explicit attachPolyTopoChanger(polyMesh&); 00085 00086 00087 // Destructor 00088 00089 virtual ~attachPolyTopoChanger() 00090 {} 00091 00092 00093 // Member Functions 00094 00095 //- Attach mesh. By default filter out empty patches. 00096 void attach(const bool removeEmptyPatches = true); 00097 }; 00098 00099 00100 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00101 00102 } // End namespace Foam 00103 00104 00105 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00106 00107 #endif 00108 00109 // ************************************************************************* //