FixedClusterInsertionBoundary.h
Go to the documentation of this file.
1 // This file is part of the MercuryDPM project (https://www.mercurydpm.org).
2 // Copyright (c), The MercuryDPM Developers Team. All rights reserved.
3 // License: BSD 3-Clause License; see the LICENSE file in the root directory.
4 
5 #ifndef MERCURYDPM_FIXEDCLUSTERINSERTIONBOUNDARY_H
6 #define MERCURYDPM_FIXEDCLUSTERINSERTIONBOUNDARY_H
8 
19 
20 public:
21 
26 
31 
36 
40  FixedClusterInsertionBoundary* copy() const override;
41 
45  void set(std::vector<BaseParticle*> particleToCopy, std::vector<Vec3D> positions, std::vector<Mdouble> radii,
46  Vec3D velMin, Vec3D velMax, Mdouble rMicroParticle);
47 
51  void set(BaseParticle* particleToCopy, std::vector<Vec3D> positions, std::vector<Mdouble> radii, Vec3D velMin,
52  Vec3D velMax, Mdouble rMicroParticle);
53 
55  void setPositionsAndRadii(std::vector<Vec3D> clusterPositions, std::vector<Mdouble> clusterRadii);
56 
59 
61  void placeParticle(BaseParticle* p, RNG& random) final;
62 
64  BaseParticle* generateParticle(RNG& random) final;
65 
66 private:
70  std::string getName() const override;
71 
72 
73 };
74 #endif //MERCURYDPM_FIXEDCLUSTERINSERTIONBOUNDARY_H
Matrix2d md
Definition: MatrixBase_cast.cpp:1
float * p
Definition: Tutorial_Map_using.cpp:9
Definition: BaseClusterInsertionBoundary.h:26
Definition: BaseParticle.h:33
The DPMBase header includes quite a few header files, defining all the handlers, which are essential....
Definition: DPMBase.h:56
Definition: FixedClusterInsertionBoundary.h:18
~FixedClusterInsertionBoundary() override
Destructor: default destructor.
void checkBoundaryBeforeTimeStep(DPMBase *md) final
inserts cluster: differently from RandomClusterInsertionBoundary, here no check for interaction is co...
Definition: FixedClusterInsertionBoundary.cc:108
void set(std::vector< BaseParticle * > particleToCopy, std::vector< Vec3D > positions, std::vector< Mdouble > radii, Vec3D velMin, Vec3D velMax, Mdouble rMicroParticle)
Sets the properties of the ClusterInsertionBoundary.
Definition: FixedClusterInsertionBoundary.cc:52
BaseParticle * generateParticle(RNG &random) final
Sets cluster radii according to vector clusterRadii_.
Definition: FixedClusterInsertionBoundary.cc:204
FixedClusterInsertionBoundary * copy() const override
Creates a copy on the heap and returns a pointer.
Definition: FixedClusterInsertionBoundary.cc:34
void placeParticle(BaseParticle *p, RNG &random) final
Places particles according to vector clusterPositions_ and sets a random velocity,...
Definition: FixedClusterInsertionBoundary.cc:190
void setPositionsAndRadii(std::vector< Vec3D > clusterPositions, std::vector< Mdouble > clusterRadii)
this sets positions and radii of the desired clusters.
Definition: FixedClusterInsertionBoundary.cc:87
std::string getName() const override
Returns the name of the object.
Definition: FixedClusterInsertionBoundary.cc:215
FixedClusterInsertionBoundary()
Constructor: inherits from BaseClusterInsertionBoundary constructor.
Definition: FixedClusterInsertionBoundary.cc:10
This is a class that generates random numbers i.e. named the Random Number Generator (RNG).
Definition: RNG.h:32
Definition: Kernel/Math/Vector.h:30
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286