MercuryDPM  Trunk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PolydisperseInsertionBoundary Class Reference

Like an InsertionBoundary but generates particles of multiple types. Note that, as a child of InsertionBoundary, this class has a member called particleToCopy_, which is a pointer to a particle. This pointer needs to point to something arbitrary but it doesn't matter what the value is. More...

#include <PolydisperseInsertionBoundary.h>

+ Inheritance diagram for PolydisperseInsertionBoundary:

Public Member Functions

 PolydisperseInsertionBoundary ()
 Constructor; sets everything to 0. More...
 
 PolydisperseInsertionBoundary (const PolydisperseInsertionBoundary &other)
 Copy constructor with deep copy. More...
 
 ~PolydisperseInsertionBoundary () override
 Destructor: default destructor. More...
 
PolydisperseInsertionBoundarycopy () const override
 Creates a copy on the heap and returns a pointer. More...
 
void setGeometry (int maxFailed, Vec3D posMin, Vec3D posMax, Vec3D velMin, Vec3D velMax)
 Set position and velocity of inserted particles. More...
 
BaseParticlegetGenerandum (unsigned int spec) const
 Get the particles that need to be copied. More...
 
void addGenerandum (BaseParticle *generandum, double probability, double sizeDispersity)
 Add a new prototype of particle to be copied. More...
 
void setGenerandum (unsigned int spec, BaseParticle *generandum, double probability, double sizeDispersity)
 Change a particle to be copied. More...
 
BaseParticlegenerateParticle (RNG &random) override
 Generates a particle from the possible species. More...
 
void placeParticle (BaseParticle *p, RNG &random) override
 Places the particle in a random position with a random velocity. More...
 
void read (std::istream &is) override
 reads boundary properties from istream More...
 
void write (std::ostream &os) const override
 writes boundary properties to ostream More...
 
std::string getName () const override
 Returns the name of the object. More...
 
- Public Member Functions inherited from InsertionBoundary
 InsertionBoundary ()
 Default constructor: set everything to 0/nullptr. More...
 
 InsertionBoundary (const InsertionBoundary &other)
 Copy constructor (with deep copy) More...
 
 ~InsertionBoundary () override
 Destructor: delete the particle that has to be copied at every insertion. More...
 
void set (BaseParticle *particleToCopy, unsigned int maxFailed)
 Sets the particle that will be inserted and the maximum number of times for which insertion may fail. More...
 
void checkBoundaryBeforeTimeStep (DPMBase *md) override
 Fills the boundary with particles. More...
 
void insertParticles (DPMBase *md)
 
unsigned int getNumberOfParticlesInserted () const
 Gets the number of particles inserted by the boundary. More...
 
double getMassOfParticlesInserted () const
 
double getVolumeOfParticlesInserted () const
 
void reset ()
 
void activate ()
 Turns on the InsertionBoundary. More...
 
void deactivate ()
 Turns off the InsertionBoundary. More...
 
bool isActivated ()
 Returns whether the InsertionBoundary is activated. More...
 
void setMaxFailed (unsigned int maxFailed)
 Sets the number of times that the wall may fail to insert a particle. More...
 
unsigned int getMaxFailed () const
 Gets the number of times that the boundary may fail to insert a particle. More...
 
void setParticleToCopy (BaseParticle *particleToCopy)
 Sets the particle that will be inserted through the insertion boundary. More...
 
BaseParticlegetParticleToCopy () const
 Gets the particle that will be inserted through the insertion boundary. More...
 
Mdouble getVolumeFlowRate () const
 
void setVolumeFlowRate (Mdouble volumeFlowRate_)
 
Mdouble getInitialVolume () const
 
void setInitialVolume (Mdouble initialVolume)
 
void setPSD (PSD psd)
 Sets the range of particle radii that may be generated from a user defined PSD. More...
 
PSD getPSD ()
 
void setDistribution (Distribution distribution)
 Sets the range of particle radii that may be generated to custom distributions. More...
 
Distribution getDistribution ()
 Gets the range of particle radii that may be generated. More...
 
void setVariableVolumeFlowRate (const std::vector< Mdouble > &variableCumulativeVolumeFlowRate, Mdouble samplingInterval)
 
bool insertParticle (Mdouble time)
 
bool getCheckParticleForInteraction () const
 
void setCheckParticleForInteraction (bool checkParticleForInteraction)
 
void setManualInsertion (bool manualInsertion)
 Set the flag for a manual PSD insertion routine. More...
 
- Public Member Functions inherited from BaseBoundary
 BaseBoundary ()
 default constructor. More...
 
 BaseBoundary (const BaseBoundary &b)
 copy constructor More...
 
 ~BaseBoundary () override
 destructor More...
 
virtual void createPeriodicParticle (BaseParticle *p UNUSED, ParticleHandler &pH UNUSED)
 Creates a periodic particle in case of periodic boundaries in serial build. More...
 
virtual void createPeriodicParticles (ParticleHandler &pH UNUSED)
 Creates periodic copies of given particle in case of periodic boundaries. More...
 
virtual void checkBoundaryAfterParticlesMove (ParticleHandler &pH)
 Virtual function that does things to particles, each time step after particles have moved. More...
 
virtual void actionsBeforeTimeLoop ()
 Virtual function that does something after DPMBase::setupInitialConditions but before the first time step. More...
 
virtual void modifyGhostAfterCreation (BaseParticle *particle, int i)
 
virtual void writeVTK (std::fstream &file)
 
void setHandler (BoundaryHandler *handler)
 Sets the boundary's BoundaryHandler. More...
 
BoundaryHandlergetHandler () const
 Returns the boundary's BoundaryHandler. More...
 
- Public Member Functions inherited from BaseObject
 BaseObject ()=default
 Default constructor. More...
 
 BaseObject (const BaseObject &p)=default
 Copy constructor, copies all the objects BaseObject contains. More...
 
virtual ~BaseObject ()=default
 virtual destructor More...
 
virtual void moveInHandler (unsigned int index)
 Except that it is virtual, it does the same thing as setIndex() does. More...
 
void setIndex (unsigned int index)
 Allows one to assign an index to an object in the handler/container. More...
 
void setId (unsigned long id)
 Assigns a unique identifier to each object in the handler (container) which remains constant even after the object is deleted from the container/handler. More...
 
unsigned int getIndex () const
 Returns the index of the object in the handler. More...
 
unsigned int getId () const
 Returns the unique identifier of any particular object. More...
 
void setGroupId (unsigned groupId)
 
unsigned getGroupId () const
 

Public Attributes

std::vector< BaseParticle * > generanda_
 Prototypes of the particles that can be generated. More...
 
std::vector< Mdoubleprobabilitates_
 The probabilities of generating each type of particle. These probabilities are not normalised. More...
 
std::vector< MdoublesizeDispersities_
 The dispersity allowed in the particle size. More...
 
Vec3D posMin_
 As in CubeInsertionBoundary. JMFT: TODO: Later we should completely separate InsertionBoundary geometry from their 'intrinsics', so that the code from CubeInsertionBoundary can be recycled. More...
 
Vec3D posMax_
 
Vec3D velMin_
 
Vec3D velMax_
 
std::vector< unsigned int > numbersInserted_
 For keeping track of how much of each prototype we have inserted. More...
 
std::vector< MdoublemassesInserted_
 
std::vector< MdoublevolumesInserted_
 

Additional Inherited Members

- Public Types inherited from InsertionBoundary
enum  Distribution { Distribution::Uniform, Distribution::Normal_1_5 }
 Defines a custom particle size distribution; distribution_ will always be used, unless particleSizeDistribution_ is non-empty. More...
 
- Protected Attributes inherited from InsertionBoundary
BaseParticleparticleToCopy_
 Particle that will be inserted through the insertion boundary. More...
 
unsigned int maxFailed_
 Number of times that the wall may fail to insert a particle. More...
 
unsigned int numberOfParticlesInserted_
 Number of particles that are already inserted. More...
 
Mdouble massInserted_
 Total mass of particles inserted. More...
 
Mdouble volumeInserted_
 Total volume of particles inserted. More...
 
bool isActivated_
 The InsertionBoundary is activated by default. If the InsertionBoundary is deactivated, then it introduces no particles (useful for trying to maintain a certain insertion rate). More...
 
Mdouble volumeFlowRate_
 
Mdouble initialVolume_
 
std::vector< MdoublevariableCumulativeVolumeFlowRate_
 
Mdouble samplingInterval_
 
bool checkParticleForInteraction_
 
PSD particleSizeDistribution_
 Defines a particle size distribution as an object of the PSD class; if particleSizeDistribution_ is empty, distribution_ is used instead. More...
 
Mdouble radMin_
 Minimum and maximum radii of the generated particles. More...
 
Mdouble radMax_
 
Distribution distribution_ = Distribution::Uniform
 defines a custom particle size distribution, which by default is uniform More...
 
bool isManuallyInserting_
 A flag to enable a top-down class-by-class manual insertion of a PSD; default is FALSE. More...
 

Detailed Description

Like an InsertionBoundary but generates particles of multiple types. Note that, as a child of InsertionBoundary, this class has a member called particleToCopy_, which is a pointer to a particle. This pointer needs to point to something arbitrary but it doesn't matter what the value is.

Definition at line 46 of file PolydisperseInsertionBoundary.h.

Constructor & Destructor Documentation

PolydisperseInsertionBoundary::PolydisperseInsertionBoundary ( )

Constructor; sets everything to 0.

Deprecated boundary which was used to insert PSDs into Mercury.

Deprecated:
Should be gone by Mercury 2.0. Instead, use the PSD class.

Definition at line 36 of file PolydisperseInsertionBoundary.cc.

References INFO, and logger.

Referenced by copy().

37 {
38  logger(INFO, "In PolydisperseInsertionBoundary constructor");
39  /* std::vector does all the memory allocation for you.
40  * By default, these are vectors of zero length. */
41  logger(INFO, "About to leave PolydisperseInsertionBoundary copy constructor");
42 }
Logger< MERCURY_LOGLEVEL > logger("MercuryKernel")
PolydisperseInsertionBoundary::PolydisperseInsertionBoundary ( const PolydisperseInsertionBoundary other)

Copy constructor with deep copy.

Definition at line 45 of file PolydisperseInsertionBoundary.cc.

References generanda_, constants::i, massesInserted_, numbersInserted_, posMax_, posMin_, probabilitates_, sizeDispersities_, velMax_, velMin_, and volumesInserted_.

46  : InsertionBoundary(other)
47 {
48  /* The new PolydisperseInsertionBoundary's generanda_ vector should point to
49  * its own copies of each of the generanda_, so we need to copy those
50  * across. */
51  for (int i = 0; i < generanda_.size(); i++)
52  generanda_[i] = other.generanda_[i]->copy();
53 
54  posMin_ = other.posMin_;
55  posMax_ = other.posMax_;
56  velMin_ = other.velMin_;
57  velMax_ = other.velMax_;
63 }
InsertionBoundary()
Default constructor: set everything to 0/nullptr.
const std::complex< Mdouble > i
Definition: ExtendedMath.h:50
Vec3D posMin_
As in CubeInsertionBoundary. JMFT: TODO: Later we should completely separate InsertionBoundary geomet...
std::vector< Mdouble > sizeDispersities_
The dispersity allowed in the particle size.
std::vector< Mdouble > probabilitates_
The probabilities of generating each type of particle. These probabilities are not normalised...
std::vector< unsigned int > numbersInserted_
For keeping track of how much of each prototype we have inserted.
std::vector< BaseParticle * > generanda_
Prototypes of the particles that can be generated.
PolydisperseInsertionBoundary::~PolydisperseInsertionBoundary ( )
override

Destructor: default destructor.

Definition at line 66 of file PolydisperseInsertionBoundary.cc.

References generanda_.

67 {
68  // JMFT: Do we need to delete the elements of generanda_?
69  for (auto p : generanda_)
70 
71  delete p;
72 }
std::vector< BaseParticle * > generanda_
Prototypes of the particles that can be generated.

Member Function Documentation

void PolydisperseInsertionBoundary::addGenerandum ( BaseParticle generandum,
double  probability,
double  sizeDispersity 
)

Add a new prototype of particle to be copied.

Definition at line 91 of file PolydisperseInsertionBoundary.cc.

References BaseParticle::copy(), generanda_, INFO, logger, massesInserted_, numbersInserted_, probabilitates_, sizeDispersities_, and volumesInserted_.

92 {
93  // Give the PolydisperseInsertionBoundary its own copy of the generandum.
94  generanda_.push_back(generandum->copy());
95  probabilitates_.push_back(probability);
96  sizeDispersities_.push_back(sizeDispersity);
97  numbersInserted_.push_back(0);
98  massesInserted_.push_back(0);
99  volumesInserted_.push_back(0);
100  logger(INFO, "PolydisperseInsertionBoundary: added a new generandum, now have %. New generandum has weighting %",
101  generanda_.size(), probability);
102 }
Logger< MERCURY_LOGLEVEL > logger("MercuryKernel")
virtual BaseParticle * copy() const =0
Particle copy method. It calls to copy constructor of this Particle, useful for polymorfism.
std::vector< Mdouble > sizeDispersities_
The dispersity allowed in the particle size.
std::vector< Mdouble > probabilitates_
The probabilities of generating each type of particle. These probabilities are not normalised...
std::vector< unsigned int > numbersInserted_
For keeping track of how much of each prototype we have inserted.
std::vector< BaseParticle * > generanda_
Prototypes of the particles that can be generated.
PolydisperseInsertionBoundary * PolydisperseInsertionBoundary::copy ( ) const
overridevirtual

Creates a copy on the heap and returns a pointer.

Implements BaseBoundary.

Definition at line 74 of file PolydisperseInsertionBoundary.cc.

References INFO, logger, and PolydisperseInsertionBoundary().

75 {
76 #ifdef DEBUG_CONSTRUCTOR
77  logger(INFO, "PolydisperseInsertionBoundary::copy() const finished");
78 #endif
79  return new PolydisperseInsertionBoundary(*this);
80 }
Logger< MERCURY_LOGLEVEL > logger("MercuryKernel")
PolydisperseInsertionBoundary()
Constructor; sets everything to 0.
BaseParticle * PolydisperseInsertionBoundary::generateParticle ( RNG random)
overridevirtual

Generates a particle from the possible species.

Reimplemented from InsertionBoundary.

Definition at line 129 of file PolydisperseInsertionBoundary.cc.

References helpers::check(), generanda_, RNG::getRandomNumber(), constants::i, logger, massesInserted_, numbersInserted_, probabilitates_, sizeDispersities_, and VERBOSE.

130 {
131  /* First choose what particle species to generate. */
132  Mdouble totalprob = 0;
133  for (auto p : probabilitates_)
134  totalprob += p;
135 
136  Mdouble check = random.getRandomNumber(0, totalprob);
137  unsigned int spec;
138  logger(VERBOSE, "PolydisperseInsertionBoundary: check = % out of %",
139  check, totalprob);
140  for (int i = 0; i < generanda_.size(); i++)
141  {
142  if (check >= probabilitates_[i])
143  check -= probabilitates_[i];
144  else
145  {
146  spec = i;
147  break;
148  }
149  }
150 
151  auto P = generanda_[spec]->copy();
152 
153  /* The 'reference' particle for this species has a radius, but we allow some
154  * sizeDispersity. */
155  double radius = P->getRadius()
156  * random.getRandomNumber(1 - sizeDispersities_[spec], 1 + sizeDispersities_[spec]);
157  P->setRadius(radius);
158 
159  /* JMFT: TODO: These do *not* give the correct values!
160  * They give the number &c. of each species that the
161  * PolydisperseInsertionBoundary has _attempted_ to place, not the number
162  * that have actually been placed successfully. */
163  numbersInserted_[spec]++;
164  massesInserted_[spec] += P->getMass();
165  // volumesInserted_[spec] += P->getVolume();
166 
167  return P;
168 }
Logger< MERCURY_LOGLEVEL > logger("MercuryKernel")
double Mdouble
Definition: GeneralDefine.h:34
void check(double real, double ideal, double error, std::string errorMessage)
Definition: Helpers.cc:898
const std::complex< Mdouble > i
Definition: ExtendedMath.h:50
Mdouble getRandomNumber()
This is a random generating routine can be used for initial positions.
Definition: RNG.cc:143
std::vector< Mdouble > sizeDispersities_
The dispersity allowed in the particle size.
std::vector< Mdouble > probabilitates_
The probabilities of generating each type of particle. These probabilities are not normalised...
std::vector< unsigned int > numbersInserted_
For keeping track of how much of each prototype we have inserted.
std::vector< BaseParticle * > generanda_
Prototypes of the particles that can be generated.
BaseParticle* PolydisperseInsertionBoundary::getGenerandum ( unsigned int  spec) const

Get the particles that need to be copied.

std::string PolydisperseInsertionBoundary::getName ( ) const
overridevirtual

Returns the name of the object.

Implements BaseObject.

Definition at line 226 of file PolydisperseInsertionBoundary.cc.

227 {
228  return "PolydisperseInsertionBoundary";
229 }
void PolydisperseInsertionBoundary::placeParticle ( BaseParticle p,
RNG random 
)
overridevirtual

Places the particle in a random position with a random velocity.

Implements InsertionBoundary.

Definition at line 172 of file PolydisperseInsertionBoundary.cc.

References RNG::getRandomNumber(), posMax_, posMin_, BaseInteractable::setPosition(), BaseInteractable::setVelocity(), velMax_, velMin_, Vec3D::X, Vec3D::Y, and Vec3D::Z.

173 {
174  Vec3D pos, vel;
175  pos.X = random.getRandomNumber(posMin_.X, posMax_.X);
176  pos.Y = random.getRandomNumber(posMin_.Y, posMax_.Y);
177  pos.Z = random.getRandomNumber(posMin_.Z, posMax_.Z);
178  vel.X = random.getRandomNumber(velMin_.X, velMax_.X);
179  vel.Y = random.getRandomNumber(velMin_.Y, velMax_.Y);
180  vel.Z = random.getRandomNumber(velMin_.Z, velMax_.Z);
181  P->setPosition(pos);
182  P->setVelocity(vel);
183 }
Mdouble X
the vector components
Definition: Vector.h:65
Mdouble getRandomNumber()
This is a random generating routine can be used for initial positions.
Definition: RNG.cc:143
Vec3D posMin_
As in CubeInsertionBoundary. JMFT: TODO: Later we should completely separate InsertionBoundary geomet...
Mdouble Y
Definition: Vector.h:65
Definition: Vector.h:49
Mdouble Z
Definition: Vector.h:65
void PolydisperseInsertionBoundary::read ( std::istream &  is)
overridevirtual

reads boundary properties from istream

Reimplemented from InsertionBoundary.

Definition at line 186 of file PolydisperseInsertionBoundary.cc.

References InsertionBoundary::read().

187 {
189  /*
190  for (int i = 0; i < generanda_.size(); i++)
191  {
192  BaseParticle* particleToCopy = new SphericalParticle;
193  // BaseParticle::write writes the extra word 'BaseParticle', which will be
194  // ignored by BaseParticle::read. To avoid an off-by-one error, we need to
195  // get rid of this extra word first...
196  std::string dummy;
197  is >> dummy;
198 
199  // Now read the particleToCopy.
200  particleToCopy->read(is);
201  generanda_[i] = particleToCopy->copy();
202  delete particleToCopy;
203  generanda_[i]->setSpecies(getHandler()->getDPMBase()->speciesHandler.getObject(
204  particleToCopy_->getIndSpecies()
205  ));
206  }
207  */
208 }
void read(std::istream &is) override
Reads the boundary's id_ and maxFailed_.
void PolydisperseInsertionBoundary::setGenerandum ( unsigned int  spec,
BaseParticle generandum,
double  probability,
double  sizeDispersity 
)

Change a particle to be copied.

Definition at line 105 of file PolydisperseInsertionBoundary.cc.

References BaseParticle::copy(), ERROR, generanda_, INFO, logger, massesInserted_, numbersInserted_, probabilitates_, sizeDispersities_, volumesInserted_, and WARN.

107 {
108  if (spec < generanda_.size())
109  logger(INFO, "Setting the %-th species of a PolydisperseInsertionBoundary that so far has % species",
110  spec, generanda_.size());
111  else
112  logger(ERROR,
113  "Setting the %-th species of a PolydiserseInsertionBoundary with only % species is illegal. Use addGenerandum instead.",
114  spec, generanda_.size());
115 
116  if (probability == 0)
117  logger(WARN, "PolydisperseInsertionBoundary: Are you sure you want to set the probability to be 0?");
118 
119  generanda_[spec] = generandum->copy();
120  probabilitates_[spec] = probability;
121  sizeDispersities_[spec] = sizeDispersity;
122 
123  // Reset the counters for number, mass and volume
124  numbersInserted_[spec] = 0;
125  massesInserted_[spec] = 0;
126  volumesInserted_[spec] = 0;
127 }
Logger< MERCURY_LOGLEVEL > logger("MercuryKernel")
virtual BaseParticle * copy() const =0
Particle copy method. It calls to copy constructor of this Particle, useful for polymorfism.
std::vector< Mdouble > sizeDispersities_
The dispersity allowed in the particle size.
std::vector< Mdouble > probabilitates_
The probabilities of generating each type of particle. These probabilities are not normalised...
std::vector< unsigned int > numbersInserted_
For keeping track of how much of each prototype we have inserted.
std::vector< BaseParticle * > generanda_
Prototypes of the particles that can be generated.
void PolydisperseInsertionBoundary::setGeometry ( int  maxFailed,
Vec3D  posMin,
Vec3D  posMax,
Vec3D  velMin,
Vec3D  velMax 
)

Set position and velocity of inserted particles.

Definition at line 82 of file PolydisperseInsertionBoundary.cc.

References posMax_, posMin_, InsertionBoundary::setMaxFailed(), velMax_, and velMin_.

83 {
84  setMaxFailed(maxFailed);
85  posMin_ = posMin;
86  posMax_ = posMax;
87  velMin_ = velMin;
88  velMax_ = velMax;
89 }
void setMaxFailed(unsigned int maxFailed)
Sets the number of times that the wall may fail to insert a particle.
Vec3D posMin_
As in CubeInsertionBoundary. JMFT: TODO: Later we should completely separate InsertionBoundary geomet...
void PolydisperseInsertionBoundary::write ( std::ostream &  os) const
overridevirtual

writes boundary properties to ostream

Reimplemented from InsertionBoundary.

Definition at line 211 of file PolydisperseInsertionBoundary.cc.

References generanda_, constants::i, logger, posMax_, posMin_, probabilitates_, sizeDispersities_, velMax_, velMin_, VERBOSE, and InsertionBoundary::write().

212 {
213  logger(VERBOSE, "In PolydisperseInsertionBoundary::write");
215  os << " numberOfGeneranda " << generanda_.size() << " ";
216  for (int i = 0; i < generanda_.size(); i++)
217  {
218  generanda_[i]->write(os);
219  os << " weight " << probabilitates_[i] << " sizeDispersity " << sizeDispersities_[i];
220  }
221  os << " posMin " << posMin_ << " posMax " << posMax_
222  << " velMin " << velMin_ << " velMax " << velMax_
223  << " ";
224 }
Logger< MERCURY_LOGLEVEL > logger("MercuryKernel")
const std::complex< Mdouble > i
Definition: ExtendedMath.h:50
Vec3D posMin_
As in CubeInsertionBoundary. JMFT: TODO: Later we should completely separate InsertionBoundary geomet...
void write(std::ostream &os) const override
Writes the boundary's id_ and maxFailed_.
std::vector< Mdouble > sizeDispersities_
The dispersity allowed in the particle size.
std::vector< Mdouble > probabilitates_
The probabilities of generating each type of particle. These probabilities are not normalised...
std::vector< BaseParticle * > generanda_
Prototypes of the particles that can be generated.

Member Data Documentation

std::vector<BaseParticle*> PolydisperseInsertionBoundary::generanda_

Prototypes of the particles that can be generated.

Definition at line 119 of file PolydisperseInsertionBoundary.h.

Referenced by addGenerandum(), generateParticle(), PolydisperseInsertionBoundary(), setGenerandum(), write(), and ~PolydisperseInsertionBoundary().

std::vector<Mdouble> PolydisperseInsertionBoundary::massesInserted_
std::vector<unsigned int> PolydisperseInsertionBoundary::numbersInserted_

For keeping track of how much of each prototype we have inserted.

Definition at line 143 of file PolydisperseInsertionBoundary.h.

Referenced by addGenerandum(), generateParticle(), PolydisperseInsertionBoundary(), and setGenerandum().

Vec3D PolydisperseInsertionBoundary::posMax_
Vec3D PolydisperseInsertionBoundary::posMin_

As in CubeInsertionBoundary. JMFT: TODO: Later we should completely separate InsertionBoundary geometry from their 'intrinsics', so that the code from CubeInsertionBoundary can be recycled.

Definition at line 138 of file PolydisperseInsertionBoundary.h.

Referenced by placeParticle(), PolydisperseInsertionBoundary(), setGeometry(), and write().

std::vector<Mdouble> PolydisperseInsertionBoundary::probabilitates_

The probabilities of generating each type of particle. These probabilities are not normalised.

Definition at line 125 of file PolydisperseInsertionBoundary.h.

Referenced by addGenerandum(), generateParticle(), PolydisperseInsertionBoundary(), setGenerandum(), and write().

std::vector<Mdouble> PolydisperseInsertionBoundary::sizeDispersities_

The dispersity allowed in the particle size.

Definition at line 130 of file PolydisperseInsertionBoundary.h.

Referenced by addGenerandum(), generateParticle(), PolydisperseInsertionBoundary(), setGenerandum(), and write().

Vec3D PolydisperseInsertionBoundary::velMax_
Vec3D PolydisperseInsertionBoundary::velMin_
std::vector<Mdouble> PolydisperseInsertionBoundary::volumesInserted_

The documentation for this class was generated from the following files: