![]() |
|
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 // ************************************************************************* //