positionOrdered.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 __positionOrdered_hpp__
22 #define __positionOrdered_hpp__
23 
24 #include "positionParticles.hpp"
25 
26 namespace pFlow
27 {
28 
29 
31 :
32  public positionParticles
33 {
34 protected:
35 
37 
39 
40  size_t numPoints_;
41 
43 
44  // - unit vector of the first axis
46 
47  // - unit vector of the second axis
49 
50  // - unit vector of the third axis
52 
53 
55 
56  bool findAxisIndex();
57 
58  bool positionPointsOrdered();
59 
60 public:
61 
62  // - type Info
63  TypeInfo("positionOrdered");
64 
65  positionOrdered(const dictionary& dict);
66 
67  // - add this class to vCtor selection table
68  add_vCtor(
71  dictionary);
72 
73  virtual ~positionOrdered() = default;
74 
76 
77  virtual label numPoints()const
78  {
79  return position_.size();
80  }
81 
82  virtual label size()const
83  {
84  return position_.size();
85  }
86 
87  real maxDiameter() const override
88  {
89  return diameter_;
90  }
91 
92  // - const access to position
93  virtual const realx3Vector& position()const
94  {
95  return position_;
96  }
97 
98  // - access to position
100  {
101  return position_;
102  }
103 
104 
105 };
106 
107 
108 }
109 
110 
111 
112 #endif // __positionOrdered_hpp__
pFlow::positionOrdered::axisOrder_
wordList axisOrder_
Definition: positionOrdered.hpp:42
pFlow::List< word >
pFlow::positionOrdered::positionOrdered
positionOrdered(const dictionary &dict)
Definition: positionOrdered.cpp:125
pFlow::real
float real
Definition: builtinTypes.hpp:46
pFlow::positionOrdered::position_
realx3Vector position_
Definition: positionOrdered.hpp:54
pFlow::positionOrdered::maxDiameter
real maxDiameter() const override
Definition: positionOrdered.hpp:87
pFlow::positionOrdered::findAxisIndex
bool findAxisIndex()
Definition: positionOrdered.cpp:28
pFlow::positionOrdered::positionPointsOrdered
bool positionPointsOrdered()
Definition: positionOrdered.cpp:80
pFlow::Vector::size
auto size() const
Definition: Vector.hpp:299
pFlow::positionOrdered::~positionOrdered
virtual ~positionOrdered()=default
pFlow::positionOrdered::uVector1_
realx3 uVector1_
Definition: positionOrdered.hpp:45
pFlow
Definition: demComponent.hpp:28
pFlow::positionOrdered::uVector2_
realx3 uVector2_
Definition: positionOrdered.hpp:48
pFlow::positionOrdered::diameter_
real diameter_
Definition: positionOrdered.hpp:38
pFlow::positionOrdered::add_vCtor
add_vCtor(positionParticles, positionOrdered, dictionary)
pFlow::positionOrdered
Definition: positionOrdered.hpp:30
pFlow::positionOrdered::position
virtual const realx3Vector & position() const
Definition: positionOrdered.hpp:93
pFlow::positionParticles
Definition: positionParticles.hpp:102
pFlow::positionOrdered::uVector3_
realx3 uVector3_
Definition: positionOrdered.hpp:51
pFlow::label
std::size_t label
Definition: builtinTypes.hpp:61
pFlow::positionOrdered::poDict_
dictionary poDict_
Definition: positionOrdered.hpp:36
pFlow::positionOrdered::numPoints
virtual label numPoints() const
Definition: positionOrdered.hpp:77
pFlow::positionOrdered::position
virtual realx3Vector & position()
Definition: positionOrdered.hpp:99
pFlow::positionOrdered::size
virtual label size() const
Definition: positionOrdered.hpp:82
pFlow::triple< real >
pFlow::positionOrdered::TypeInfo
TypeInfo("positionOrdered")
pFlow::Vector< realx3 >
positionParticles.hpp
pFlow::dictionary
Definition: dictionary.hpp:38
pFlow::positionOrdered::numPoints_
size_t numPoints_
Definition: positionOrdered.hpp:40