![]() |
|
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 addPatchCellLayer 00027 00028 Description 00029 Adds layer of cells to outside of polyPatch. Call setRefinement with 00030 offset vector for every patch point. 00031 00032 SourceFiles 00033 addPatchCellLayer.C 00034 00035 \*---------------------------------------------------------------------------*/ 00036 00037 #ifndef addPatchCellLayer_H 00038 #define addPatchCellLayer_H 00039 00040 #include "labelList.H" 00041 #include "typeInfo.H" 00042 #include "pointField.H" 00043 #include "indirectPrimitivePatch.H" 00044 00045 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00046 00047 namespace Foam 00048 { 00049 00050 // Class forward declarations 00051 class polyMesh; 00052 class polyTopoChange; 00053 00054 /*---------------------------------------------------------------------------*\ 00055 Class addPatchCellLayer Declaration 00056 \*---------------------------------------------------------------------------*/ 00057 00058 class addPatchCellLayer 00059 { 00060 // Private data 00061 00062 //- Reference to mesh 00063 const polyMesh& mesh_; 00064 00065 00066 // Private Member Functions 00067 00068 00069 //- Disallow default bitwise copy construct 00070 addPatchCellLayer(const addPatchCellLayer&); 00071 00072 //- Disallow default bitwise assignment 00073 void operator=(const addPatchCellLayer&); 00074 00075 00076 public: 00077 00078 //- Runtime type information 00079 ClassName("addPatchCellLayer"); 00080 00081 00082 // Constructors 00083 00084 //- Construct from mesh. 00085 addPatchCellLayer(const polyMesh& mesh); 00086 00087 00088 // Member Functions 00089 00090 // Edit 00091 00092 //- Play commands into polyTopoChange to create add points. 00093 void setRefinement 00094 ( 00095 const indirectPrimitivePatch& pp, 00096 const pointField& points, 00097 polyTopoChange& 00098 ) const; 00099 }; 00100 00101 00102 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00103 00104 } // End namespace Foam 00105 00106 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00107 00108 #endif 00109 00110 // ************************************************************************* //