fieldAverageItemI.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 | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2017 OpenCFD Ltd.
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 
27 \*---------------------------------------------------------------------------*/
28 
29 
31 {
32  return active_;
33 }
34 
35 
37 {
38  return active_;
39 }
40 
41 
43 {
44  return fieldName_;
45 }
46 
47 
49 {
50  return mean_;
51 }
52 
53 
55 {
56  return mean_;
57 }
58 
59 
60 const Foam::word&
62 {
63  return meanFieldName_;
64 }
65 
66 
68 {
69  return prime2Mean_;
70 }
71 
72 
74 {
75  return prime2Mean_;
76 }
77 
78 
80 {
81  return prime2MeanFieldName_;
82 }
83 
84 
86 {
87  return baseTypeNames_[base_];
88 }
89 
90 
92 {
93  return totalIter_;
94 }
95 
96 
98 {
99  return totalTime_;
100 }
101 
102 
104 {
105  return window_;
106 }
107 
108 
110 {
111  return windowName_;
112 }
113 
114 
117 {
118  return windowTimes_;
119 }
120 
121 
124 {
125  return windowFieldNames_;
126 }
127 
128 
130 {
131  return allowRestart_;
132 }
133 
134 
136 (
137  const scalar deltaT
138 ) const
139 {
140  switch (base_)
141  {
142  case baseType::TIME:
143  {
144  return deltaT;
145  }
146  case baseType::ITER:
147  {
148  return scalar(1);
149  }
150  default:
151  {
153  << "Unhandled enumeration " << baseTypeNames_[base_]
154  << abort(FatalError);
155  }
156  }
157 
158  return 0.0;
159 }
160 
161 
163 {
164  switch (base_)
165  {
166  case baseType::TIME:
167  {
168  return totalTime_;
169  }
170  case baseType::ITER:
171  {
172  return scalar(totalIter_);
173  }
174  default:
175  {
177  << "Unhandled enumeration " << baseTypeNames_[base_]
178  << abort(FatalError);
179  }
180  }
181 
182  return 0.0;
183 }
184 
185 
187 (
188  const word& prefix
189 ) const
190 {
191  return prefix + ':' + fieldName_ + ':' + Foam::name(totalIter_);
192 }
193 
194 
196 {
197  switch (base_)
198  {
199  case baseType::ITER:
200  {
201  return round(t) <= round(window_) + 1;
202  }
203  case baseType::TIME:
204  {
205  return t <= window_;
206  }
207  default:
208  {
210  << "Unhandled baseType enumeration "
211  << baseTypeNames_[base_]
212  << abort(FatalError);
213  }
214  }
215 
216  return false;
217 }
218 
219 
221 {
222  return windowType_ == windowType::EXACT;
223 }
224 
225 
227 {
228  return (allowRestart_ && window_ > 0);
229 }
230 
231 
232 // ************************************************************************* //
Foam::functionObjects::fieldAverageItem::windowTimes
const FIFOStack< scalar > & windowTimes() const
Return the list of window times (windowType = EXACT)
Definition: fieldAverageItemI.H:116
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:62
Foam::functionObjects::fieldAverageItem::writeWindowFields
bool writeWindowFields() const
Return true if we wish to write window fields.
Definition: fieldAverageItemI.H:226
Foam::functionObjects::fieldAverageItem::dt
scalar dt(const scalar deltaT) const
Return the current time interval.
Definition: fieldAverageItemI.H:136
Foam::functionObjects::fieldAverageItem::fieldName
const word & fieldName() const
Return const access to the field name.
Definition: fieldAverageItemI.H:42
Foam::functionObjects::fieldAverageItem::allowRestart
bool allowRestart() const
Return the allow restart flag.
Definition: fieldAverageItemI.H:129
Foam::functionObjects::fieldAverageItem::storeWindowFields
bool storeWindowFields() const
Return true if we wish to store window fields.
Definition: fieldAverageItemI.H:220
Foam::functionObjects::fieldAverageItem::totalIter
label totalIter() const
Return the total number of iterations item has been evolved.
Definition: fieldAverageItemI.H:91
Foam::functionObjects::fieldAverageItem::meanFieldName
const word & meanFieldName() const
Return const access to the mean field name.
Definition: fieldAverageItemI.H:61
Foam::label
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:62
Foam::name
word name(const complex &c)
Return string representation of complex.
Definition: complex.C:76
Foam::functionObjects::fieldAverageItem::mean
bool mean() const
Return const access to the mean flag.
Definition: fieldAverageItemI.H:48
Foam::functionObjects::fieldAverageItem::inWindow
bool inWindow(const scalar t) const
Return true if time is inside window (including boundaries)
Definition: fieldAverageItemI.H:195
Foam::FatalError
error FatalError
Foam::functionObjects::fieldAverageItem::windowName
const word & windowName() const
Return the (optional) window name.
Definition: fieldAverageItemI.H:109
Foam::abort
errorManip< error > abort(error &err)
Definition: errorManip.H:137
Foam::functionObjects::fieldAverageItem::active
bool active() const
Return const access to the active flag.
Definition: fieldAverageItemI.H:30
FatalErrorInFunction
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Definition: error.H:355
Foam::functionObjects::fieldAverageItem::prime2Mean
bool prime2Mean() const
Return const access to the prime-squared mean flag.
Definition: fieldAverageItemI.H:67
Foam::functionObjects::fieldAverageItem::totalTime
scalar totalTime() const
Return the total time item has been evolved.
Definition: fieldAverageItemI.H:97
Foam::functionObjects::fieldAverageItem::window
scalar window() const
Return the window length (iterations or seconds)
Definition: fieldAverageItemI.H:103
Foam::functionObjects::fieldAverageItem::Dt
scalar Dt() const
Return the total time interval.
Definition: fieldAverageItemI.H:162
Foam::functionObjects::fieldAverageItem::prime2MeanFieldName
const word & prime2MeanFieldName() const
Return const access to the prime-squared mean field name.
Definition: fieldAverageItemI.H:79
Foam::functionObjects::fieldAverageItem::windowFieldNames
const FIFOStack< word > & windowFieldNames() const
Return the list of window field names (windowType = EXACT)
Definition: fieldAverageItemI.H:123
Foam::FIFOStack
A FIFO stack based on a singly-linked list.
Definition: FIFOStack.H:51
Foam::functionObjects::fieldAverageItem::windowFieldName
word windowFieldName(const word &prefix) const
Helper function to construct a window field name.
Definition: fieldAverageItemI.H:187
Foam::functionObjects::fieldAverageItem::base
const word & base() const
Return averaging base type name.
Definition: fieldAverageItemI.H:85