www.cemf.ir
conveyorBeltMotion.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 __conveyorBeltMotion_hpp__
22 #define __conveyorBeltMotion_hpp__
23 
24 
25 #include "MotionModel.hpp"
26 #include "conveyorBelt.hpp"
27 #include "fileDictionary.hpp"
28 
29 namespace pFlow
30 {
31 
32 
57 :
58  public fileDictionary,
59  public MotionModel<conveyorBeltMotion, conveyorBelt>
60 {
61 protected:
62 
64 
65  bool impl_isMoving()const
66  {
67  return false;
68  }
69 
70  bool impl_move(uint32, real, real)const
71  {
72  return true;
73  }
74 
75  void impl_setTime(uint32 ,real ,real )const
76  {}
77 
78 public:
79 
80  TypeInfo("conveyorBeltMotion");
81 
83 
85  const objectFile& objf,
86  const dictionary& dict,
87  repository* owner);
88 
89 
91 
92  bool write(iOstream& os, const IOPattern& iop)const override;
93 
94  static
96  {
97  return conveyorBelt();
98  }
99 };
100 
101 } // pFlow
102 
103 
104 #endif // __conveyorBeltMotion_hpp__
pFlow::conveyorBelt
conveyor belt model for a wall
Definition: conveyorBelt.hpp:40
pFlow::conveyorBeltMotion::conveyorBeltMotion
conveyorBeltMotion(const objectFile &objf, repository *owner)
Definition: conveyorBeltMotion.cpp:25
pFlow::real
float real
Definition: builtinTypes.hpp:45
conveyorBelt.hpp
pFlow::conveyorBeltMotion::impl_move
bool impl_move(uint32, real, real) const
Definition: conveyorBeltMotion.hpp:70
pFlow::uint32
unsigned int uint32
Definition: builtinTypes.hpp:56
pFlow::conveyorBeltMotion::impl_isMoving
bool impl_isMoving() const
Definition: conveyorBeltMotion.hpp:65
pFlow
Definition: demGeometry.hpp:27
MotionModel.hpp
pFlow::dictionary::dict
virtual dictionary & dict()
ref to this dictionary, if it is a dictionary
Definition: dictionary.cpp:369
pFlow::IOPattern
Definition: IOPattern.hpp:32
pFlow::conveyorBeltMotion::noneComponent
static auto noneComponent()
Definition: conveyorBeltMotion.hpp:95
pFlow::IOobject::owner
const repository * owner() const override
Definition: IOobject.hpp:76
pFlow::objectFile
Definition: objectFile.hpp:30
pFlow::conveyorBeltMotion::impl_setTime
void impl_setTime(uint32, real, real) const
Definition: conveyorBeltMotion.hpp:75
fileDictionary.hpp
pFlow::fileDictionary
Definition: fileDictionary.hpp:29
pFlow::MotionModel
Motion model abstract class (CRTP) for all the motion models.
Definition: MotionModel.hpp:39
pFlow::repository
Definition: repository.hpp:34
pFlow::conveyorBeltMotion
conveyor belt model for walls
Definition: conveyorBeltMotion.hpp:56
pFlow::fileDictionary::write
bool write(iOstream &os, const IOPattern &iop) const override
write to stream
Definition: fileDictionary.cpp:75
pFlow::conveyorBeltMotion::write
bool write(iOstream &os, const IOPattern &iop) const override
Definition: conveyorBeltMotion.cpp:57
pFlow::iOstream
Interface class for any output stream.
Definition: iOstream.hpp:59
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
pFlow::conveyorBeltMotion::TypeInfo
TypeInfo("conveyorBeltMotion")