www.cemf.ir
conveyorBelt.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 under
13  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 
21 #ifndef __conveyorBelt_hpp__
22 #define __conveyorBelt_hpp__
23 
24 
25 #include "types.hpp"
26 #include "typeInfo.hpp"
27 #include "streams.hpp"
28 
29 namespace pFlow
30 {
31 
32 // forward
33 class dictionary;
34 
35 
41 {
42 private:
43 
45 
46 public:
47 
48  TypeInfoNV("conveyorBelt");
49 
51  conveyorBelt()=default;
52 
54  explicit conveyorBelt(const dictionary& dict);
55 
56 
58  conveyorBelt(const conveyorBelt&) = default;
59 
60  conveyorBelt& operator=(const conveyorBelt&) = default;
61 
63  void setTime(real t)
64  {}
65 
68  {
69  return tangentVelocity_;
70  }
71 
73  realx3 transferPoint(const realx3& p, real)const
74  {
75  return p;
76  }
77 
78  // - IO operation
79  FUNCTION_H
80  bool read(const dictionary& dict);
81 
83  bool write(dictionary& dict) const;
84 
86  bool read(iIstream& is);
87 
89  bool write(iOstream& os)const;
90 
91 };
92 
93 inline iOstream& operator <<(iOstream& os, const conveyorBelt& obj)
94 {
95 
96  return os;
97 }
98 
100 {
101 
102  return is;
103 }
104 
105 }
106 
107 
108 #endif
pFlow::conveyorBelt
conveyor belt model for a wall
Definition: conveyorBelt.hpp:40
pFlow::conveyorBelt::TypeInfoNV
TypeInfoNV("conveyorBelt")
pFlow::real
float real
Definition: builtinTypes.hpp:45
types.hpp
pFlow::conveyorBelt::linVelocityPoint
INLINE_FUNCTION_HD realx3 linVelocityPoint(const realx3 &) const
Definition: conveyorBelt.hpp:67
pFlow
Definition: demGeometry.hpp:27
FUNCTION_H
#define FUNCTION_H
Definition: pFlowMacros.hpp:62
pFlow::conveyorBelt::write
FUNCTION_H bool write(dictionary &dict) const
Definition: conveyorBelt.cpp:46
pFlow::conveyorBelt::setTime
INLINE_FUNCTION_HD void setTime(real t)
Definition: conveyorBelt.hpp:63
pFlow::iIstream
Interface class for any input stream
Definition: iIstream.hpp:37
pFlow::operator>>
INLINE_FUNCTION iIstream & operator>>(iIstream &str, AB3History &ab3)
Definition: AdamsBashforth3.hpp:41
pFlow::conveyorBelt::read
FUNCTION_H bool read(const dictionary &dict)
Definition: conveyorBelt.cpp:37
pFlow::operator<<
INLINE_FUNCTION iOstream & operator<<(iOstream &str, const AB3History &ab3)
Definition: AdamsBashforth3.hpp:57
FUNCTION_HD
#define FUNCTION_HD
Definition: pFlowMacros.hpp:61
streams.hpp
pFlow::conveyorBelt::tangentVelocity_
realx3 tangentVelocity_
Definition: conveyorBelt.hpp:44
pFlow::conveyorBelt::operator=
conveyorBelt & operator=(const conveyorBelt &)=default
typeInfo.hpp
INLINE_FUNCTION_HD
#define INLINE_FUNCTION_HD
Definition: pFlowMacros.hpp:55
pFlow::triple< real >
pFlow::iOstream
Interface class for any output stream.
Definition: iOstream.hpp:59
pFlow::conveyorBelt::conveyorBelt
FUNCTION_HD conveyorBelt()=default
pFlow::conveyorBelt::transferPoint
INLINE_FUNCTION_HD realx3 transferPoint(const realx3 &p, real) const
Definition: conveyorBelt.hpp:73
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