OpenFOAM logo
Open Source CFD Toolkit

nbrToCell.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     nbrToCell
00027 
00028 Description
00029     TopoSetSource. Select cells based on number of neighbouring cells
00030     (i.e. number of internal faces)
00031 
00032 SourceFiles
00033     nbrToCell.C
00034 
00035 \*---------------------------------------------------------------------------*/
00036 
00037 #ifndef nbrToCell_H
00038 #define nbrToCell_H
00039 
00040 #include "topoSetSource.H"
00041 
00042 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00043 
00044 namespace Foam
00045 {
00046 
00047 /*---------------------------------------------------------------------------*\
00048                            Class nbrToCell Declaration
00049 \*---------------------------------------------------------------------------*/
00050 
00051 class nbrToCell
00052 :
00053     public topoSetSource
00054 {
00055 
00056     // Private data
00057 
00058         //- Add usage string
00059         static addToUsageTable usage_;
00060 
00061         //- Number of internal faces on cell
00062         label minNbrs_;
00063 
00064 
00065     // Private Member Functions
00066 
00067         void combine(topoSet& set, const bool add) const;
00068 
00069 
00070 public:
00071 
00072     //- Runtime type information
00073     TypeName("nbrToCell");
00074 
00075     // Constructors
00076 
00077         //- Construct from components
00078         nbrToCell
00079         (
00080             const polyMesh& mesh,
00081             const label minNbrs
00082         );
00083 
00084         //- Construct from dictionary
00085         nbrToCell
00086         (
00087             const polyMesh& mesh,
00088             const dictionary& dict
00089         );
00090 
00091         //- Construct from Istream
00092         nbrToCell
00093         (
00094             const polyMesh& mesh,
00095             Istream&
00096         );
00097 
00098 
00099     // Destructor
00100 
00101         virtual ~nbrToCell();
00102 
00103 
00104     // Member Functions
00105 
00106         virtual void applyToSet(const topoSetSource::setAction action, topoSet&)
00107          const;
00108 
00109 };
00110 
00111 
00112 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00113 
00114 } // End namespace Foam
00115 
00116 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00117 
00118 #endif
00119 
00120 // ************************************************************************* //
For further information go to www.openfoam.org