www.cemf.ir
baseTimeControl.hpp
Go to the documentation of this file.
1 /*------------------------------- phasicFlow ---------------------------------
2  O C enter of
3  O O E ngineering and
4  O O M ultiscale modeling of
5  OOOOOOO F luid flow
6 ------------------------------------------------------------------------------
7  Copyright (C): www.cemf.ir
8  email: hamid.r.norouzi AT gmail.com
9 ------------------------------------------------------------------------------
10 Licence:
11  This file is part of phasicFlow code. It is a free software for simulating
12  granular and multiphase flows. You can redistribute it and/or modify it
13 under the terms of GNU General Public License v3 or any other later versions.
14 
15  phasicFlow is distributed to help others in their research in the field of
16  granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the
17  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 
19 -----------------------------------------------------------------------------*/
20 #ifndef __baseTimeControl_hpp__
21 #define __baseTimeControl_hpp__
22 
23 #include "dictionary.hpp"
24 #include "ranges.hpp"
25 
26 namespace pFlow
27 {
28 
30 {
31 private:
32 
34 
36 
38 
40 
41 public:
42 
44  const dictionary& dict,
45  const word& intervalPrefix = "",
46  real defStartTime = 0.0
47  );
48 
50  int32 start,
51  int32 end,
52  int32 stride,
53  const word& intervalPrefix = ""
54  );
55 
56  inline bool isTimeStep() const
57  {
58  return isTimeStep_;
59  }
60 
61  bool timeEvent(uint32 iter, real t, real dt) const;
62 
63  bool isInRange(uint32 iter, real t, real dt) const;
64 
65  real startTime() const;
66 
67  real endTime() const;
68 
69  real rInterval() const;
70 
71  int32 startIter() const;
72 
73  int32 endIter() const;
74 
75  int32 iInterval() const;
76 
77  bool write(dictionary& dict) const;
78 };
79 
80 }
81 
82 #endif
pFlow::baseTimeControl::iRange_
int32StridedRagne iRange_
Definition: baseTimeControl.hpp:35
pFlow::baseTimeControl::endIter
int32 endIter() const
Definition: baseTimeControl.cpp:155
pFlow::baseTimeControl::startIter
int32 startIter() const
Definition: baseTimeControl.cpp:143
pFlow::real
float real
Definition: builtinTypes.hpp:45
pFlow::uint32
unsigned int uint32
Definition: builtinTypes.hpp:56
pFlow::baseTimeControl::timeEvent
bool timeEvent(uint32 iter, real t, real dt) const
Definition: baseTimeControl.cpp:78
pFlow::word
std::string word
Definition: builtinTypes.hpp:64
pFlow::stridedRange< int32 >
pFlow::baseTimeControl::startTime
real startTime() const
Definition: baseTimeControl.cpp:105
pFlow
Definition: demGeometry.hpp:27
pFlow::int32
int int32
Definition: builtinTypes.hpp:50
pFlow::baseTimeControl::iInterval
int32 iInterval() const
Definition: baseTimeControl.cpp:167
pFlow::baseTimeControl::endTime
real endTime() const
Definition: baseTimeControl.cpp:118
pFlow::baseTimeControl::write
bool write(dictionary &dict) const
Definition: baseTimeControl.cpp:179
dictionary.hpp
pFlow::baseTimeControl
Definition: baseTimeControl.hpp:29
pFlow::baseTimeControl::isTimeStep
bool isTimeStep() const
Definition: baseTimeControl.hpp:56
pFlow::baseTimeControl::isInRange
bool isInRange(uint32 iter, real t, real dt) const
Definition: baseTimeControl.cpp:92
ranges.hpp
pFlow::baseTimeControl::rInterval
real rInterval() const
Definition: baseTimeControl.cpp:131
pFlow::baseTimeControl::rRange_
realStridedRange rRange_
Definition: baseTimeControl.hpp:37
pFlow::baseTimeControl::isTimeStep_
bool isTimeStep_
Definition: baseTimeControl.hpp:33
pFlow::baseTimeControl::intervalPrefix_
const word intervalPrefix_
Definition: baseTimeControl.hpp:39
pFlow::baseTimeControl::baseTimeControl
baseTimeControl(const dictionary &dict, const word &intervalPrefix="", real defStartTime=0.0)
Definition: baseTimeControl.cpp:25
pFlow::dictionary
Dictionary holds a set of data entries or sub-dictionaries that are enclosed in a curely braces or ar...
Definition: dictionary.hpp:67