shapeMixture.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 __shapeMixture_hpp__
22 #define __shapeMixture_hpp__
23 
24 
25 #include "Vectors.hpp"
26 
27 namespace pFlow
28 {
29 
30 class dictionary;
31 
33 {
34 
35 protected:
36  // - list of shape names
38 
39  // - number composition
41 
42  // - number inserted of each shape
44 
46 
47 public:
48 
49  //- type Info
50  TypeInfoNV("shapeMixture");
51 
53 
54  //
55  shapeMixture(const dictionary & dict);
56 
57  shapeMixture(const shapeMixture&) = default;
58 
59  shapeMixture(shapeMixture&&) = default;
60 
61  shapeMixture& operator=(const shapeMixture&) = default;
62 
63  shapeMixture& operator=(shapeMixture&&) = default;
64 
65 
67  {
68  return makeUnique<shapeMixture>(*this);
69  }
70 
72  {
73  return new shapeMixture(*this);
74  }
75 
76 
77  //
78  ~shapeMixture() = default;
79 
82 
83 
84  void getNextShapeNameN(size_t n, wordVector& names);
85 
86 
87  auto size()const {
88  return names_.size();
89  }
90 
91  auto totalInserted()const {
92  return sum(numberInserted_);
93  }
94 
96  bool read(const dictionary& dict);
97 
98  bool write(dictionary& dict) const;
99 
100 };
101 
102 } // pFlow
103 
104 #endif //__shapeMixture_hpp__
pFlow::shapeMixture::names_
wordVector names_
Definition: shapeMixture.hpp:37
pFlow::shapeMixture::totalInserted
auto totalInserted() const
Definition: shapeMixture.hpp:91
pFlow::shapeMixture::~shapeMixture
~shapeMixture()=default
pFlow::word
std::string word
Definition: builtinTypes.hpp:63
pFlow::shapeMixture::operator=
shapeMixture & operator=(const shapeMixture &)=default
pFlow::Vector::size
auto size() const
Definition: Vector.hpp:299
Vectors.hpp
pFlow::shapeMixture
Definition: shapeMixture.hpp:32
pFlow::shapeMixture::write
bool write(dictionary &dict) const
Definition: shapeMixture.cpp:128
pFlow
Definition: demComponent.hpp:28
pFlow::shapeMixture::number_
uint32Vector number_
Definition: shapeMixture.hpp:40
n
int32 n
Definition: NBSCrossLoop.hpp:24
pFlow::shapeMixture::clonePtr
shapeMixture * clonePtr() const
Definition: shapeMixture.hpp:71
pFlow::shapeMixture::current_
uint32Vector current_
Definition: shapeMixture.hpp:45
pFlow::shapeMixture::clone
uniquePtr< shapeMixture > clone() const
Definition: shapeMixture.hpp:66
pFlow::sum
T sum(const Vector< T, Allocator > &v)
Definition: VectorMath.hpp:190
pFlow::shapeMixture::getNextShapeNameN
void getNextShapeNameN(size_t n, wordVector &names)
Definition: shapeMixture.cpp:55
pFlow::shapeMixture::read
bool read(const dictionary &dict)
Definition: shapeMixture.cpp:69
pFlow::uniquePtr
Definition: uniquePtr.hpp:44
pFlow::shapeMixture::numberInserted_
uint32Vector numberInserted_
Definition: shapeMixture.hpp:43
pFlow::shapeMixture::TypeInfoNV
TypeInfoNV("shapeMixture")
pFlow::shapeMixture::getNextShapeName
word getNextShapeName()
Definition: shapeMixture.cpp:37
pFlow::Vector< word >
pFlow::shapeMixture::shapeMixture
shapeMixture(const dictionary &dict)
Definition: shapeMixture.cpp:27
pFlow::dictionary
Definition: dictionary.hpp:38
pFlow::shapeMixture::size
auto size() const
Definition: shapeMixture.hpp:87