ChuteInsertionBoundary.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 BOUNDARIES_CHUTEINSERTIONBOUNDARY_H
6 #define BOUNDARIES_CHUTEINSERTIONBOUNDARY_H
7 
8 #include "InsertionBoundary.h"
9 #include "Math/Vector.h"
10 
11 class BaseParticle;
12 
13 class RNG;
14 
20 {
21 public:
22 
27 
30 
34  ChuteInsertionBoundary* copy() const override;
35 
39  void set(std::vector<BaseParticle*> particleToCopy, unsigned int maxFailed, Vec3D posMin, Vec3D posMax, double
40  fixedParticleRadius, double inflowVelocity, double inflowVelocityVariance);
41 
45  void set(BaseParticle* particleToCopy, unsigned int maxFailed, Vec3D posMin, Vec3D posMax, double
46  fixedParticleRadius, double inflowVelocity, double inflowVelocityVariance);
47 
51  void set(BaseParticle* particleToCopy, unsigned int maxFailed, Vec3D posMin, Vec3D posMax, Mdouble rMin,
52  Mdouble rMax, double fixedParticleRadius, double inflowVelocity, double inflowVelocityVariance);
53 
54  void placeParticle(BaseParticle* p, RNG& random) override;
55 
59  void read(std::istream& is) override;
60 
64  void write(std::ostream& os) const override;
65 
69  std::string getName() const override;
70 
71 private:
72 
77 
85 
86 };
87 
88 #endif
float * p
Definition: Tutorial_Map_using.cpp:9
Definition: BaseParticle.h:33
Used for modeling chute inflow. Inherits from InsertionBoundary.
Definition: ChuteInsertionBoundary.h:20
double inflowVelocityVariance_
Definition: ChuteInsertionBoundary.h:84
double fixedParticleRadius_
radius of the fixed bottom particles, mean particle velocity in X-direction, and allowed maximum rand...
Definition: ChuteInsertionBoundary.h:84
void placeParticle(BaseParticle *p, RNG &random) override
Definition: ChuteInsertionBoundary.cc:142
std::string getName() const override
Returns the name of the object.
Definition: ChuteInsertionBoundary.cc:204
Vec3D posMax_
Definition: ChuteInsertionBoundary.h:76
void write(std::ostream &os) const override
writes boundary properties to ostream
Definition: ChuteInsertionBoundary.cc:190
ChuteInsertionBoundary()
Default constructor.
Definition: ChuteInsertionBoundary.cc:14
void read(std::istream &is) override
reads boundary properties from istream
Definition: ChuteInsertionBoundary.cc:175
Vec3D posMin_
The two extremal corners of the cuboidal insertion boundary.
Definition: ChuteInsertionBoundary.h:76
double inflowVelocity_
Definition: ChuteInsertionBoundary.h:84
ChuteInsertionBoundary * copy() const override
Copy method; creates a copy on the heap.
Definition: ChuteInsertionBoundary.cc:40
void set(std::vector< BaseParticle * > particleToCopy, unsigned int maxFailed, Vec3D posMin, Vec3D posMax, double fixedParticleRadius, double inflowVelocity, double inflowVelocityVariance)
Sets all boundary properties at once.
Definition: ChuteInsertionBoundary.cc:68
Boundary structure for boundaries used for insertion of particles.
Definition: InsertionBoundary.h:29
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