data.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
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.
15 
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.
20 
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/>.
23 
24 Class
25  Foam::data
26 
27 Description
28  Database for solution data, solver performance and other reduced data.
29 
30  fvMesh is derived from data so that all fields have access to the data from
31  the mesh reference they hold.
32 
33 SourceFiles
34  data.C
35 
36 \*---------------------------------------------------------------------------*/
37 
38 #ifndef data_H
39 #define data_H
40 
41 #include "IOdictionary.H"
42 #include "solverPerformance.H"
43 
44 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 
46 namespace Foam
47 {
48 
49 /*---------------------------------------------------------------------------*\
50  Class data Declaration
51 \*---------------------------------------------------------------------------*/
52 
53 class data
54 :
55  public IOdictionary
56 {
57  // Private data
58 
59  //- Previously used time-index, used for reset between iterations
60  mutable label prevTimeIndex_;
61 
62 
63  // Private Member Functions
64 
65  //- Disallow default bitwise copy construct
66  data(const data&);
67 
68  //- Disallow default bitwise assignment
69  void operator=(const data&);
70 
71 
72 public:
73 
74  //- Debug switch
75  static int debug;
76 
77 
78  // Constructors
79 
80  //- Construct for objectRegistry
81  data(const objectRegistry& obr);
82 
83 
84  // Member Functions
85 
86  // Access
87 
88  //- Return the dictionary of solver performance data
89  // which includes initial and final residuals for convergence
90  // checking
91  const dictionary& solverPerformanceDict() const;
92 
93  //- Add/set the solverPerformance entry for the named field
94  template<class Type>
96  (
97  const word& name,
99  ) const;
100 
101  //- Add/set the solverPerformance entry, using its fieldName
102  template<class Type>
104  (
106  ) const;
107 };
108 
109 
110 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
111 
112 } // End namespace Foam
113 
114 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
115 
116 #ifdef NoRepository
117  #include "dataTemplates.C"
118 #endif
119 
120 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
121 
122 #endif
123 
124 // ************************************************************************* //
void setSolverPerformance(const word &name, const SolverPerformance< Type > &) const
Add/set the solverPerformance entry for the named field.
Definition: dataTemplates.C:34
static int debug
Debug switch.
Definition: data.H:74
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:59
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:137
const dictionary & solverPerformanceDict() const
Return the dictionary of solver performance data.
Definition: data.C:56
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Definition: IOdictionary.H:52
A class for handling words, derived from string.
Definition: word.H:59
SolverPerformance is the class returned by the LduMatrix solver containing performance statistics...
const word & name() const
Name function is needed to disambiguate those inherited.
Database for solution data, solver performance and other reduced data.
Definition: data.H:52
Registry of regIOobjects.
Namespace for OpenFOAM.