www.cemf.ir
regularParticleIdHandler.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 #ifndef __regularParticleIdHandler_hpp__
21 #define __regularParticleIdHandler_hpp__
22 
23 #include "particleIdHandler.hpp"
24 
25 namespace pFlow
26 {
27 
29 :
30  public particleIdHandler
31 {
32 private:
33 
34  uint32 maxId_ = static_cast<uint32>(-1);
35 
36  bool initialIdCheck()override;
37 public:
38 
39  ClassInfo("particleIdHandler<regular>");
40 
42 
43  ~regularParticleIdHandler()override = default;
44 
45  add_vCtor
46  (
50  );
51 
52  Pair<uint32, uint32> getIdRange(uint32 nNewParticles)override;
53 
54  uint32 maxId()const override
55  {
56  return maxId_;
57  }
58 
59 };
60 
61 }
62 
63 
64 #endif //__regularParticleIdHandler_hpp__
pFlow::regularParticleIdHandler::regularParticleIdHandler
regularParticleIdHandler(pointStructure &pStruct)
Definition: regularParticleIdHandler.cpp:6
pFlow::regularParticleIdHandler
Definition: regularParticleIdHandler.hpp:28
pFlow::Pair
Kokkos::pair< T1, T2 > Pair
Pair of two variables.
Definition: KokkosTypes.hpp:85
pFlow::regularParticleIdHandler::ClassInfo
ClassInfo("particleIdHandler<regular>")
pFlow::pointField::pStruct
const pointStructure & pStruct() const
Definition: pointField.hpp:134
pFlow::uint32
unsigned int uint32
Definition: builtinTypes.hpp:56
pFlow::particleIdHandler
Definition: particleIdHandler.hpp:30
pFlow::regularParticleIdHandler::initialIdCheck
bool initialIdCheck() override
Definition: regularParticleIdHandler.cpp:35
pFlow::regularParticleIdHandler::getIdRange
Pair< uint32, uint32 > getIdRange(uint32 nNewParticles) override
Definition: regularParticleIdHandler.cpp:16
pFlow
Definition: demGeometry.hpp:27
pFlow::regularParticleIdHandler::maxId_
uint32 maxId_
Definition: regularParticleIdHandler.hpp:34
pFlow::regularParticleIdHandler::add_vCtor
add_vCtor(particleIdHandler, regularParticleIdHandler, pointStructure)
pFlow::pointStructure
Definition: pointStructure.hpp:34
pFlow::regularParticleIdHandler::~regularParticleIdHandler
~regularParticleIdHandler() override=default
pFlow::regularParticleIdHandler::maxId
uint32 maxId() const override
Definition: regularParticleIdHandler.hpp:54
particleIdHandler.hpp