Initial commit for version 2.0.x patch release
[OpenFOAM-2.0.x.git] / src / OpenFOAM / meshes / data / data.H
blob257434d3e19e0fa6bdc9b398552fe99cff03f8e1
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2010-2010 OpenCFD Ltd.
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
11     OpenFOAM is free software: you can redistribute it and/or modify it
12     under the terms of the GNU General Public License as published by
13     the Free Software Foundation, either version 3 of the License, or
14     (at your option) any later version.
16     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
19     for more details.
21     You should have received a copy of the GNU General Public License
22     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
24 Class
25     Foam::data
27 Description
28     Database for solution data, solver performance and other reduced data.
30     fvMesh is derived from data so that all fields have access to the data from
31     the mesh reference they hold.
33 SourceFiles
34     data.C
36 \*---------------------------------------------------------------------------*/
38 #ifndef data_H
39 #define data_H
41 #include "IOdictionary.H"
42 #include "lduMatrix.H"
44 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46 namespace Foam
49 /*---------------------------------------------------------------------------*\
50                             Class data Declaration
51 \*---------------------------------------------------------------------------*/
53 class data
55     public IOdictionary
57     // Private data
59         //- Previously used time-index, used for reset between iterations
60         mutable label prevTimeIndex_;
63     // Private Member Functions
65         //- Disallow default bitwise copy construct
66         data(const data&);
68         //- Disallow default bitwise assignment
69         void operator=(const data&);
72 public:
74     //- Debug switch
75     static int debug;
78     // Constructors
80         //- Construct for objectRegistry
81         data(const objectRegistry& obr);
84     // Member Functions
86         // Access
88             //- Return the dictionary of solver performance data
89             //  which includes initial and final residuals for convergence
90             //  checking
91             const dictionary& solverPerformanceDict() const;
93             //- Add/set the solverPerformance entry for the named field
94             void setSolverPerformance
95             (
96                 const word& name,
97                 const lduMatrix::solverPerformance&
98             ) const;
100             //- Add/set the solverPerformance entry, using its fieldName
101             void setSolverPerformance
102             (
103                 const lduMatrix::solverPerformance&
104             ) const;
108 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
110 } // End namespace Foam
112 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
114 #endif
116 // ************************************************************************* //