Time.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2011-2026 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::Time
26 
27 Description
28  Class to control time during OpenFOAM simulations that is also the
29  top-level objectRegistry.
30 
31 SourceFiles
32  Time.C
33  TimeIO.C
34  findInstance.C
35 
36 \*---------------------------------------------------------------------------*/
37 
38 #ifndef Time_H
39 #define Time_H
40 
41 #include "TimePaths.H"
42 #include "objectRegistry.H"
43 #include "controlIOdictionary.H"
44 #include "FIFOStack.H"
45 #include "clock.H"
46 #include "cpuTime.H"
47 #include "TimeState.H"
48 #include "userTime.H"
49 #include "Switch.H"
50 #include "instantList.H"
51 #include "NamedEnum.H"
52 #include "typeInfo.H"
53 #include "dlLibraryTable.H"
54 #include "functionObjectList.H"
55 #include "sigWriteNow.H"
56 #include "sigStopAtWriteNow.H"
57 
58 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
59 
60 namespace Foam
61 {
62 
63 // Forward declaration of classes
64 class argList;
65 
66 /*---------------------------------------------------------------------------*\
67  Class Time Declaration
68 \*---------------------------------------------------------------------------*/
69 
70 class Time
71 :
72  public clock,
73  public cpuTime,
74  public TimePaths,
75  public objectRegistry,
76  public TimeState
77 {
78  // Private Data
79 
80  //- Is runtime modification of dictionaries allowed?
81  Switch runTimeModifiable_;
82 
83  friend class controlIOdictionary;
84 
85  //- The controlDict
86  controlIOdictionary controlDict_;
87 
88 
89 public:
90 
91  //- Write control options
92  enum class writeControl
93  {
94  timeStep,
95  runTime,
97  clockTime,
98  cpuTime
99  };
100 
101  //- Stop-run control options
102  enum class stopAtControl
103  {
104  endTime,
105  noWriteNow,
106  writeNow,
107  nextWrite
108  };
109 
110  //- Supported time directory name formats
111  enum class format
112  {
113  general = 0,
116  };
117 
119 
121 
122 
123 protected:
124 
125  // Protected data
126 
128  scalar startTime_;
129  mutable scalar endTime_;
130  scalar beginTime_;
131 
132  //- Optional user-time, defaults to realTime in s
134 
135  mutable stopAtControl stopAt_;
136 
138 
139  scalar writeInterval_;
140 
143 
144  // One-shot writing
145  bool writeOnce_;
146 
147  //- Is the time currently being sub-cycled?
148  bool subCycling_;
149 
150  //- If time is being sub-cycled this is the previous TimeState
152 
153  // Signal handlers for writing
154 
155  //- Enable one-shot writing upon signal
157 
158  //- Enable write and clean exit upon signal
160 
161 
162  //- Time directory name format
163  static format format_;
164 
165  //- Time directory name precision
166  static int precision_;
167 
168  //- Current time directory name precision adjusted as necessary
169  // to ensure time directory names are unique
170  // particularly if the time-step is reduced during the run
171  static int curPrecision_;
172 
173  //- Maximum time directory name precision
174  static const int maxPrecision_;
175 
176  //- Adjust the time step so that writing occurs at the specified time
177  void adjustDeltaT();
178 
179  //- Set the controls from the current controlDict
180  void setControls();
181 
182  //- Read the control dictionary and set the write controls etc.
183  virtual void readDict();
184 
185 
186 private:
187 
188  //- Default write option
189  IOstream::streamFormat writeFormat_;
190 
191  //- Default output file format version number
192  IOstream::versionNumber writeVersion_;
193 
194  //- Default output compression
195  IOstream::compressionType writeCompression_;
196 
197  //- Is temporary object cache enabled
198  mutable bool cacheTemporaryObjects_;
199 
200  //- Function objects executed at start and on ++, +=
201  mutable functionObjectList functionObjects_;
202 
203 
204 public:
205 
206  TypeName("time");
207 
208  //- The default control dictionary name (normally "controlDict")
209  static word controlDictName;
210 
211 
212  // Constructors
213 
214  //- Construct given name of dictionary to read and argument list
215  Time
216  (
217  const word& name,
218  const argList& args,
219  const bool enableFunctionObjects = true
220  );
221 
222  //- Construct given name of dictionary to read, rootPath and casePath
223  Time
224  (
225  const word& name,
226  const fileName& rootPath,
227  const fileName& caseName,
228  const bool enableFunctionObjects = true
229  );
230 
231  //- Construct given dictionary, rootPath and casePath
232  Time
233  (
234  const dictionary& dict,
235  const fileName& rootPath,
236  const fileName& caseName,
237  const bool enableFunctionObjects = true
238  );
239 
240  //- Construct given endTime, rootPath and casePath
241  Time
242  (
243  const fileName& rootPath,
244  const fileName& caseName,
245  const bool enableFunctionObjects = true
246  );
247 
248 
249  //- Destructor
250  virtual ~Time();
251 
252 
253  // Member Functions
254 
255  // Database functions
256 
257  //- Explicitly inherit rootPath from TimePaths to disambiguate from
258  // the corresponding method in objectRegistry
259  using TimePaths::rootPath;
260 
261  //- Explicitly inherit caseName from TimePaths to disambiguate from
262  // the corresponding method in objectRegistry
263  using TimePaths::caseName;
264 
265  //- Explicitly inherit path from TimePaths to disambiguate from
266  // the corresponding method in objectRegistry
267  using TimePaths::path;
268 
269  //- Return true if this is a complete serial or parallel case
270  bool completeCase() const
271  {
272  return Pstream::parRun() || !processorCase();
273  }
274 
275  //- Return the control dict
276  const IOdictionary& controlDict() const
277  {
278  return controlDict_;
279  }
280 
281  //- Return the list of region names
282  // specified in the regionSolvers list in controlDict
283  // or a null list if not specified
284  wordList regionNames() const;
285 
286  //- Return current time path
287  fileName timePath() const
288  {
289  return path()/name();
290  }
291 
292  //- Default write format
294  {
295  return writeFormat_;
296  }
297 
298  //- Default write version number
300  {
301  return writeVersion_;
302  }
303 
304  //- Default write compression
306  {
307  return writeCompression_;
308  }
309 
310  //- Supports re-reading
311  const Switch& runTimeModifiable() const
312  {
313  return runTimeModifiable_;
314  }
315 
316  //- Read the objects that have been modified
317  void readModifiedObjects();
318 
319  //- Return the location of "dir" containing the file "name".
320  // (eg, used in reading mesh data)
321  // If name is null, search for the directory "dir" only.
322  // Does not search beyond stopInstance (if set) or constant.
324  (
325  const fileName& dir,
326  const word& name = word::null,
328  const word& stopInstance = word::null
329  ) const;
330 
331  //- Search the case for valid time directories
332  instantList times() const;
333 
334  //- Search the case for the time directory path
335  // corresponding to the given instance
336  word findInstancePath(const fileName& path, const instant&) const;
337 
338  //- Search the case for the time directory path
339  // corresponding to the given instance
340  word findInstancePath(const instant&) const;
341 
342  //- Search the case for the time closest to the given time
343  instant findClosestTime(const scalar) const;
344 
345  //- Search instantList for the time index closest to the given time
347  (
348  const instantList&,
349  const scalar,
350  const word& constantName = "constant"
351  );
352 
353  //- Write time dictionary to the <time>/uniform directory
354  virtual bool writeTimeDict() const;
355 
356  //- Write using given format, version and compression
357  virtual bool writeObject
358  (
362  const bool write
363  ) const;
364 
365  //- Write the objects now (not at end of iteration) and continue
366  // the run
367  bool writeNow();
368 
369  //- Write the objects now (not at end of iteration) and end the run
370  bool writeAndEnd();
371 
372  //- Write the objects once (one shot) and continue the run
373  void writeOnce();
374 
375 
376  // Access
377 
379 
380  //- Return time name of given scalar time
381  // formatted with given precision
382  static word timeName
383  (
384  const scalar,
385  const int precision = curPrecision_
386  );
387 
388  //- Search a given directory for valid time directories
390  (
391  const fileName&,
392  const word& constantName = "constant"
393  ) const;
394 
395  //- Return start time index
396  virtual label startTimeIndex() const;
397 
398  //- Return begin time (initial start time)
399  virtual dimensionedScalar beginTime() const;
400 
401  //- Return start time
402  virtual dimensionedScalar startTime() const;
403 
404  //- Return end time
405  virtual dimensionedScalar endTime() const;
406 
407  //- Return the userTime
408  const userTimes::userTime& userTime() const;
409 
410  //- Return current user time value
411  scalar userTimeValue() const;
412 
413  //- Return user time step value
414  scalar userDeltaTValue() const;
415 
416  //- Convert the user-time (e.g. CA deg) to real-time (s).
417  scalar userTimeToTime(const scalar tau) const;
418 
419  //- Convert the real-time (s) into user-time (e.g. CA deg)
420  scalar timeToUserTime(const scalar t) const;
421 
422  //- Return current user time name with units
423  word userTimeName() const;
424 
425  //- Return the user-time unit conversion
426  const unitSet& userUnits() const;
427 
428  //- Return the write interval units
429  const unitSet& writeIntervalUnits() const;
430 
431  //- Return the list of function objects
432  const functionObjectList& functionObjects() const
433  {
434  return functionObjects_;
435  }
436 
437  //- Return true if the run is a restart, i.e. startTime != beginTime
438  bool restart() const
439  {
440  return startTime_ != beginTime_;
441  }
442 
443  //- Return true if time currently being sub-cycled, otherwise false
444  bool subCycling() const
445  {
446  return subCycling_;
447  }
448 
449  //- Return previous TimeState if time is being sub-cycled
450  const TimeState& prevTimeState() const
451  {
452  return prevTimeState_();
453  }
454 
455 
456  // Check
457 
458  //- Return true if run should continue without any side effects
459  virtual bool running() const;
460 
461  //- Return true if run should continue,
462  // also invokes the functionObjectList::end() method
463  // when the time goes out of range
464  // \note
465  // For correct behaviour, the following style of time-loop
466  // is recommended:
467  // \code
468  // while (runTime.run())
469  // {
470  // runTime++;
471  // solve;
472  // runTime.write();
473  // }
474  // \endcode
475  virtual bool run() const;
476 
477  //- Return true if run should continue and if so increment time
478  // also invokes the functionObjectList::end() method
479  // when the time goes out of range
480  // \note
481  // For correct behaviour, the following style of time-loop
482  // is recommended:
483  // \code
484  // while (runTime.loop())
485  // {
486  // solve;
487  // runTime.write();
488  // }
489  // \endcode
490  virtual bool loop();
491 
492  //- Return true if end of run,
493  // does not invoke any functionObject methods
494  // \note
495  // The rounding heuristics near endTime mean that
496  // \code run() \endcode and \code !end() \endcode may
497  // not yield the same result
498  virtual bool end() const;
499 
500 
501  // Edit
502 
503  //- Adjust the current stopAtControl. Note that this value
504  // only persists until the next time the dictionary is read.
505  // Return true if the stopAtControl changed.
506  virtual bool stopAt(const stopAtControl) const;
507 
508  //- Reset the time and time-index to those of the given time
509  virtual void setTime(const Time&);
510 
511  //- Reset the time and time-index
512  virtual void setTime(const instant&, const label newIndex);
513 
514  //- Reset the time and time-index
515  virtual void setTime
516  (
517  const dimensionedScalar&,
518  const label newIndex
519  );
520 
521  //- Reset the time and time-index
522  virtual void setTime(const scalar, const label newIndex);
523 
524  //- Reset end time
525  virtual void setEndTime(const dimensionedScalar&);
526 
527  //- Reset end time
528  virtual void setEndTime(const scalar);
529 
530  //- Reset time step
531  virtual void setDeltaT(const dimensionedScalar&);
532 
533  //- Reset time step
534  virtual void setDeltaT(const scalar);
535 
536  //- Reset time step without additional adjustment or modification
537  // by function objects
538  virtual void setDeltaTNoAdjust(const scalar);
539 
540  //- Reset the write interval
541  virtual void setWriteInterval(const scalar writeInterval);
542 
543  //- Set time to sub-cycle for the given number of steps
544  virtual TimeState subCycle(const label nSubCycles);
545 
546  //- Reset time after sub-cycling back to previous TimeState
547  virtual void endSubCycle();
548 
549  //- Return non-const access to the list of function objects
551  {
552  return functionObjects_;
553  }
554 
555 
556  // Member Operators
557 
558  //- Set deltaT to that specified and increment time via operator++()
559  virtual Time& operator+=(const dimensionedScalar&);
560 
561  //- Set deltaT to that specified and increment time via operator++()
562  virtual Time& operator+=(const scalar);
563 
564  //- Prefix increment,
565  // also invokes the functionObjectList::start() or
566  // functionObjectList::execute() method, depending on the time-index
567  virtual Time& operator++();
568 
569  //- Postfix increment, this is identical to the prefix increment
570  virtual Time& operator++(int);
571 };
572 
573 
574 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
575 
576 } // End namespace Foam
577 
578 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
579 
580 #endif
581 
582 // ************************************************************************* //
A FIFO stack based on a singly-linked list.
Definition: FIFOStack.H:54
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Definition: IOdictionary.H:57
readOption
Enumeration defining the read options.
Definition: IOobject.H:117
Version number type.
Definition: IOstream.H:97
streamFormat
Enumeration for the format of data in the stream.
Definition: IOstream.H:87
compressionType
Enumeration for the format of data in the stream.
Definition: IOstream.H:194
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
Definition: Switch.H:61
A class for addressing time paths without using the Time class.
Definition: TimePaths.H:49
fileName path() const
Return path.
Definition: TimePaths.H:138
static const word constantName
Definition: TimePaths.H:62
bool processorCase() const
Return true if this is a processor case.
Definition: TimePaths.H:88
const fileName & caseName() const
Return case name.
Definition: TimePaths.H:106
const fileName & rootPath() const
Return root path.
Definition: TimePaths.H:94
The time value with time-stepping information, user-defined remapping, etc.
Definition: TimeState.H:55
friend class Time
Declare friendship with the Time class.
Definition: TimeState.H:70
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
Definition: Time.H:76
virtual bool run() const
Return true if run should continue,.
Definition: Time.C:909
virtual void readDict()
Read the control dictionary and set the write controls etc.
Definition: TimeIO.C:32
static int precision_
Time directory name precision.
Definition: Time.H:165
scalar timeToUserTime(const scalar t) const
Convert the real-time (s) into user-time (e.g. CA deg)
Definition: Time.C:858
instantList times() const
Search the case for valid time directories.
Definition: Time.C:659
virtual void setTime(const Time &)
Reset the time and time-index to those of the given time.
Definition: Time.C:993
const TimeState & prevTimeState() const
Return previous TimeState if time is being sub-cycled.
Definition: Time.H:449
virtual bool writeTimeDict() const
Write time dictionary to the <time>/uniform directory.
Definition: TimeIO.C:222
bool writeAndEnd()
Write the objects now (not at end of iteration) and end the run.
Definition: TimeIO.C:317
virtual dimensionedScalar startTime() const
Return start time.
Definition: Time.C:810
static const NamedEnum< stopAtControl, 4 > stopAtControlNames
Definition: Time.H:117
sigStopAtWriteNow sigStopAtWriteNow_
Enable write and clean exit upon signal.
Definition: Time.H:158
bool writeNow()
Write the objects now (not at end of iteration) and continue.
Definition: TimeIO.C:310
static int curPrecision_
Current time directory name precision adjusted as necessary.
Definition: Time.H:170
void adjustDeltaT()
Adjust the time step so that writing occurs at the specified time.
Definition: Time.C:70
format
Supported time directory name formats.
Definition: Time.H:111
scalar userTimeToTime(const scalar tau) const
Convert the user-time (e.g. CA deg) to real-time (s).
Definition: Time.C:852
fileName path() const
Explicitly inherit path from TimePaths to disambiguate from.
Definition: TimePaths.H:138
scalar writeInterval_
Definition: Time.H:138
TypeName("time")
stopAtControl stopAt_
Definition: Time.H:134
virtual dimensionedScalar beginTime() const
Return begin time (initial start time)
Definition: Time.C:799
FIFOStack< word > previousWriteTimes_
Definition: Time.H:141
scalar userTimeValue() const
Return current user time value.
Definition: Time.C:838
scalar userDeltaTValue() const
Return user time step value.
Definition: Time.C:844
void writeOnce()
Write the objects once (one shot) and continue the run.
Definition: TimeIO.C:326
static const int maxPrecision_
Maximum time directory name precision.
Definition: Time.H:173
autoPtr< TimeState > prevTimeState_
If time is being sub-cycled this is the previous TimeState.
Definition: Time.H:150
word findInstance(const fileName &dir, const word &name=word::null, const IOobject::readOption rOpt=IOobject::MUST_READ, const word &stopInstance=word::null) const
Return the location of "dir" containing the file "name".
Definition: Time.C:666
bool completeCase() const
Return true if this is a complete serial or parallel case.
Definition: Time.H:269
const unitSet & userUnits() const
Return the user-time unit conversion.
Definition: Time.C:877
virtual bool writeObject(IOstream::streamFormat, IOstream::versionNumber, IOstream::compressionType, const bool write) const
Write using given format, version and compression.
Definition: TimeIO.C:258
const Switch & runTimeModifiable() const
Supports re-reading.
Definition: Time.H:310
virtual void setWriteInterval(const scalar writeInterval)
Reset the write interval.
Definition: Time.C:1089
virtual void setEndTime(const dimensionedScalar &)
Reset end time.
Definition: Time.C:1053
IOstream::versionNumber writeVersion() const
Default write version number.
Definition: Time.H:298
word userTimeName() const
Return current user time name with units.
Definition: Time.C:864
label purgeWrite_
Definition: Time.H:140
bool subCycling() const
Return true if time currently being sub-cycled, otherwise false.
Definition: Time.H:443
IOstream::streamFormat writeFormat() const
Default write format.
Definition: Time.H:292
instantList findTimes(const fileName &, const word &constantName="constant") const
Search a given directory for valid time directories.
Definition: findTimes.C:36
writeControl writeControl_
Definition: Time.H:136
sigWriteNow sigWriteNow_
Enable one-shot writing upon signal.
Definition: Time.H:155
virtual bool running() const
Return true if run should continue without any side effects.
Definition: Time.C:903
void setControls()
Set the controls from the current controlDict.
Definition: Time.C:99
word findInstancePath(const fileName &path, const instant &) const
Search the case for the time directory path.
Definition: Time.C:697
virtual void setDeltaT(const dimensionedScalar &)
Reset time step.
Definition: Time.C:1065
static word controlDictName
The default control dictionary name (normally "controlDict")
Definition: Time.H:208
scalar endTime_
Definition: Time.H:128
static word timeName(const scalar, const int precision=curPrecision_)
Return time name of given scalar time.
Definition: Time.C:649
bool writeOnce_
Definition: Time.H:144
autoPtr< userTimes::userTime > userTime_
Optional user-time, defaults to realTime in s.
Definition: Time.H:132
wordList regionNames() const
Return the list of region names.
Definition: Time.C:636
stopAtControl
Stop-run control options.
Definition: Time.H:102
@ nextWrite
stop the next time data are written
@ writeNow
set endTime to stop immediately w/ writing
@ endTime
stop when Time reaches the prescribed endTime
@ noWriteNow
set endTime to stop immediately w/o writing
static format format_
Time directory name format.
Definition: Time.H:162
const IOdictionary & controlDict() const
Return the control dict.
Definition: Time.H:275
virtual bool stopAt(const stopAtControl) const
Adjust the current stopAtControl. Note that this value.
Definition: Time.C:975
const userTimes::userTime & userTime() const
Return the userTime.
Definition: Time.C:832
const unitSet & writeIntervalUnits() const
Return the write interval units.
Definition: Time.C:883
virtual label startTimeIndex() const
Return start time index.
Definition: Time.C:793
label startTimeIndex_
Definition: Time.H:126
virtual void endSubCycle()
Reset time after sub-cycling back to previous TimeState.
Definition: Time.C:1131
virtual void setDeltaTNoAdjust(const scalar)
Reset time step without additional adjustment or modification.
Definition: Time.C:1082
IOstream::compressionType writeCompression() const
Default write compression.
Definition: Time.H:304
virtual Time & operator++()
Prefix increment,.
Definition: Time.C:1157
static const NamedEnum< writeControl, 5 > writeControlNames
Definition: Time.H:119
scalar startTime_
Definition: Time.H:127
void readModifiedObjects()
Read the objects that have been modified.
Definition: TimeIO.C:200
fileName timePath() const
Return current time path.
Definition: Time.H:286
scalar beginTime_
Definition: Time.H:129
virtual TimeState subCycle(const label nSubCycles)
Set time to sub-cycle for the given number of steps.
Definition: Time.C:1117
writeControl
Write control options.
Definition: Time.H:92
virtual bool loop()
Return true if run should continue and if so increment time.
Definition: Time.C:956
bool subCycling_
Is the time currently being sub-cycled?
Definition: Time.H:147
bool restart() const
Return true if the run is a restart, i.e. startTime != beginTime.
Definition: Time.H:437
virtual dimensionedScalar endTime() const
Return end time.
Definition: Time.C:821
virtual ~Time()
Destructor.
Definition: Time.C:627
static label findClosestTimeIndex(const instantList &, const scalar, const word &constantName="constant")
Search instantList for the time index closest to the given time.
Definition: Time.C:768
virtual Time & operator+=(const dimensionedScalar &)
Set deltaT to that specified and increment time via operator++()
Definition: Time.C:1144
virtual bool end() const
Return true if end of run,.
Definition: Time.C:969
instant findClosestTime(const scalar) const
Search the case for the time closest to the given time.
Definition: Time.C:731
const fileName & caseName() const
Explicitly inherit caseName from TimePaths to disambiguate from.
Definition: TimePaths.H:106
const functionObjectList & functionObjects() const
Return the list of function objects.
Definition: Time.H:431
const fileName & rootPath() const
Explicitly inherit rootPath from TimePaths to disambiguate from.
Definition: TimePaths.H:94
static bool & parRun()
Is this a parallel run?
Definition: UPstream.H:399
Extract command arguments and options from the supplied argc and argv parameters.
Definition: argList.H:103
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: autoPtr.H:51
Read access to the system clock with formatting.
Definition: clock.H:51
controlDict specific IOdictionary to provide automatic read-update for Time
Starts timing CPU usage and return elapsed time from start.
Definition: cpuTime.H:55
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Definition: dictionary.H:162
const word & name() const
Return const reference to name.
A class for handling file names.
Definition: fileName.H:82
List of function objects with start(), execute() and end() functions that is called for each object.
An instant of time. Contains the time value and name.
Definition: instant.H:67
Registry of regIOobjects.
virtual bool write(const bool write=true) const
Write using setting from DB.
Signal handler to write and exit when the stopAtWriteNowSignal is sent.
Signal handler to write when the writeNowSignal is sent.
Definition: sigWriteNow.H:64
Unit conversion structure. Contains the associated dimensions and the multiplier with which to conver...
Definition: unitSet.H:68
A class for handling words, derived from string.
Definition: word.H:63
static const word null
An empty word.
Definition: word.H:78
const vector tau
Namespace for OpenFOAM.
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
IOstream & fixed(IOstream &io)
Definition: IOstream.H:597
IOstream & scientific(IOstream &io)
Definition: IOstream.H:603
dictionary dict
Foam::argList args(argc, argv)
Basic run-time type information using word as the type's name. Used to enhance the standard RTTI to c...