Changed headers and added solverPerformance type from vanilla 3.0.1
[foam-extend-4.0.git] / src / foam / meshes / data / data.H
blob1489935c5e994bfd223135d695d133612367495f
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | foam-extend: Open Source CFD
4    \\    /   O peration     | Version:     3.2
5     \\  /    A nd           | Web:         http://www.foam-extend.org
6      \\/     M anipulation  | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
8 License
9     This file is part of foam-extend.
11     foam-extend is free software: you can redistribute it and/or modify it
12     under the terms of the GNU General Public License as published by the
13     Free Software Foundation, either version 3 of the License, or (at your
14     option) any later version.
16     foam-extend is distributed in the hope that it will be useful, but
17     WITHOUT ANY WARRANTY; without even the implied warranty of
18     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19     General Public License for more details.
21     You should have received a copy of the GNU General Public License
22     along with foam-extend.  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 "solverPerformance.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             template<class Type>
95             void setSolverPerformance
96             (
97                 const word& name,
98                 const SolverPerformance<Type>&
99             ) const;
101             //- Add/set the solverPerformance entry, using its fieldName
102             template<class Type>
103             void setSolverPerformance
104             (
105                 const SolverPerformance<Type>&
106             ) const;
110 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
112 } // End namespace Foam
114 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
116 #ifdef NoRepository
117 #   include "dataTemplates.C"
118 #endif
120 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
122 #endif
124 // ************************************************************************* //