OpenFOAM logo
Open Source CFD Toolkit

addPatchCellLayer.H

Go to the documentation of this file.
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 // ************************************************************************* //
For further information go to www.openfoam.org