www.cemf.ir
rotatingAxisMotion.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 __rotatingAxisMotion_hpp__
22 #define __rotatingAxisMotion_hpp__
23 
24 
25 #include "MotionModel.hpp"
26 #include "rotatingAxis.hpp"
27 #include "fileDictionary.hpp"
28 
29 namespace pFlow
30 {
31 
60 :
61  public fileDictionary,
62  public MotionModel<rotatingAxisMotion, rotatingAxis>
63 {
64 protected:
65 
67 
69  bool impl_isMoving()const
70  {
71  return true;
72  }
73 
75  bool impl_move(uint32, real, real)const
76  {
77  return true;
78  }
79 
80 public:
81 
82  TypeInfo("rotatingAxisMotion");
83 
85 
87  const objectFile& objf,
88  const dictionary& dict,
89  repository* owner);
90 
92 
93  bool write(iOstream& os, const IOPattern& iop)const override;
94 
95  static
97  {
98  return rotatingAxis({0,0,0}, {1,0,0}, 0.0);
99  }
100 
101  // TODO: make this method protected
102  void impl_setTime(uint32 iter, real t, real dt)const;
103 };
104 
105 } // pFlow
106 
107 
108 #endif // __rotatingAxisMotion_hpp__
pFlow::rotatingAxisMotion::impl_move
bool impl_move(uint32, real, real) const
move the component itself
Definition: rotatingAxisMotion.hpp:75
pFlow::real
float real
Definition: builtinTypes.hpp:45
pFlow::rotatingAxisMotion
Rotating axis motion model for walls.
Definition: rotatingAxisMotion.hpp:59
pFlow::uint32
unsigned int uint32
Definition: builtinTypes.hpp:56
pFlow::rotatingAxisMotion::TypeInfo
TypeInfo("rotatingAxisMotion")
rotatingAxis.hpp
pFlow::rotatingAxisMotion::rotatingAxisMotion
rotatingAxisMotion(const objectFile &objf, repository *owner)
Definition: rotatingAxisMotion.cpp:40
pFlow
Definition: demGeometry.hpp:27
MotionModel.hpp
pFlow::rotatingAxisMotion::impl_setTime
void impl_setTime(uint32 iter, real t, real dt) const
Definition: rotatingAxisMotion.cpp:24
pFlow::rotatingAxisMotion::noneComponent
static auto noneComponent()
Definition: rotatingAxisMotion.hpp:96
pFlow::rotatingAxis
An axis which rotates around itself at specified speed.
Definition: rotatingAxis.hpp:61
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::IOobject::owner
const repository * owner() const override
Definition: IOobject.hpp:76
pFlow::objectFile
Definition: objectFile.hpp:30
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::fileDictionary::write
bool write(iOstream &os, const IOPattern &iop) const override
write to stream
Definition: fileDictionary.cpp:75
pFlow::iOstream
Interface class for any output stream.
Definition: iOstream.hpp:59
pFlow::rotatingAxisMotion::write
bool write(iOstream &os, const IOPattern &iop) const override
Definition: rotatingAxisMotion.cpp:70
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::rotatingAxisMotion::impl_isMoving
bool impl_isMoving() const
is the geometry attached to this component moving
Definition: rotatingAxisMotion.hpp:69