![]() |
|
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 faSchemes 00027 00028 Description 00029 Selector class for finite area differencing schemes. 00030 faMesh is derived from faShemes so that all fields have access to the 00031 faSchemes from the mesh reference they hold. 00032 00033 SourceFiles 00034 faSchemes.C 00035 00036 \*---------------------------------------------------------------------------*/ 00037 00038 #ifndef faSchemes_H 00039 #define faSchemes_H 00040 00041 #include "IOdictionary.H" 00042 00043 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00044 00045 namespace Foam 00046 { 00047 00048 /*---------------------------------------------------------------------------*\ 00049 Class faSchemes Declaration 00050 \*---------------------------------------------------------------------------*/ 00051 00052 class faSchemes 00053 : 00054 public IOdictionary 00055 { 00056 private: 00057 00058 // Private data 00059 00060 dictionary ddtSchemes_; 00061 ITstream defaultDdtScheme_; 00062 00063 dictionary d2dt2Schemes_; 00064 ITstream defaultD2dt2Scheme_; 00065 00066 dictionary interpolationSchemes_; 00067 ITstream defaultInterpolationScheme_; 00068 00069 dictionary divSchemes_; 00070 ITstream defaultDivScheme_; 00071 00072 dictionary gradSchemes_; 00073 ITstream defaultGradScheme_; 00074 00075 dictionary snGradSchemes_; 00076 ITstream defaultSnGradScheme_; 00077 00078 dictionary laplacianSchemes_; 00079 ITstream defaultLaplacianScheme_; 00080 00081 dictionary fluxRequired_; 00082 00083 00084 // Private Member Functions 00085 00086 //- Disallow default bitwise copy construct and assignment 00087 faSchemes(const faSchemes&); 00088 void operator=(const faSchemes&); 00089 00090 00091 public: 00092 00093 //- Debug switch 00094 static int debug; 00095 00096 00097 // Constructors 00098 00099 //- Construct from objectRegistry 00100 faSchemes(const objectRegistry& obr); 00101 00102 00103 // Member Functions 00104 00105 // Access 00106 00107 const dictionary& schemesDict() const; 00108 00109 ITstream& ddtScheme(const word& name) const; 00110 00111 ITstream& d2dt2Scheme(const word& name) const; 00112 00113 ITstream& interpolationScheme(const word& name) const; 00114 00115 ITstream& divScheme(const word& name) const; 00116 00117 ITstream& gradScheme(const word& name) const; 00118 00119 ITstream& snGradScheme(const word& name) const; 00120 00121 ITstream& laplacianScheme(const word& name) const; 00122 00123 bool fluxRequired(const word& name) const; 00124 00125 00126 // Read 00127 00128 //- Read the faSchemes 00129 bool read(); 00130 }; 00131 00132 00133 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00134 00135 } // End namespace Foam 00136 00137 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00138 00139 #endif 00140 00141 // ************************************************************************* //