BaseClusterInsertionBoundary Class Reference

#include <BaseClusterInsertionBoundary.h>

+ Inheritance diagram for BaseClusterInsertionBoundary:

Public Member Functions

 BaseClusterInsertionBoundary ()
 Constructor; sets everything to 0. More...
 
 BaseClusterInsertionBoundary (const BaseClusterInsertionBoundary &other)
 Copy constructor with deep copy. More...
 
 ~BaseClusterInsertionBoundary () override
 Destructor: default destructor. More...
 
BaseClusterInsertionBoundarycopy () const override
 Creates a copy on the heap and returns a pointer. More...
 
void setRandomised (bool randomised)
 this turns off the randomise(): created for UnitTests. More...
 
bool getRandomised ()
 this returns a bool which indicates if the process is randomised (true) or not (false). More...
 
unsigned int getNumberOfClusterInserted ()
 this returns the number of cluster inserted. More...
 
void setRadiusMicroParticle (Mdouble rMP)
 this sets the radius of the micro particle composing the cluster. More...
 
void setGeometry (Vec3D posMin, Vec3D posMax)
 Sets the geometry (position and velocity distribution) of the ClusterInsertionBoundary. More...
 
void setVelocityRange (Vec3D velMin, Vec3D velMax)
 Sets the velocity range of the ClusterInsertionBoundary. More...
 
void setAdditionalClusterProperties (Mdouble collisionTimeOverTimeStep, Mdouble velocityDampingModulus, Mdouble energyRatioTolerance)
 sets additional cluster properties as: More...
 
void setOutputClusterProperties (bool doCdatOutput, bool doOverlOutput, bool doAmatOutput, bool doIntStrucOutput, bool doVtkOutput, bool doRestartOutput, bool doFStatOutput, bool doEneOutput)
 sets cluster whether or not cluster output files will be created, for example: More...
 
void placeParticle (BaseParticle *p, RNG &random) override
 Generates a random position, velocity for the cluster p. More...
 
void checkBoundaryBeforeTimeStep (DPMBase *md) override
 Fills the boundary with clusters. 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...
 
- Public Member Functions inherited from InsertionBoundary
 InsertionBoundary ()
 
 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...
 
virtual BaseParticlegenerateParticle (RNG &random)
 Sets the properties of the InsertionBoundary for a single particle type ‍/ virtual void set(BaseParticle* particleToCopy, unsigned int maxFailed, Vec3D velMin, Vec3D velMax, double radMin, double radMax)=0;. More...
 
virtual void shiftBoundary (Vec3D shift)
 virtual function that shifts the boundary. More...
 
virtual void rotateBoundary (Vec3D angle)
 virtual function that rotates the boundary. More...
 
void checkBoundaryBeforeTimeStep (DPMBase *md) override
 Fills the boundary with particles. More...
 
void insertParticles (DPMBase *md)
 Fill a certain domain with particles. More...
 
unsigned int getNumberOfParticlesInserted () const
 Gets the number of particles inserted by the boundary. More...
 
Mdouble getMassOfParticlesInserted () const
 Gets the mass of particles inserted by the boundary. More...
 
Mdouble getVolumeOfParticlesInserted () const
 Gets the volume of particles inserted by the boundary. More...
 
void reset ()
 resets particle property counter variables. More...
 
void activate ()
 Turns on the InsertionBoundary. More...
 
void deactivate ()
 Turns off the InsertionBoundary. More...
 
bool isActivated ()
 Returns whether the InsertionBoundary is activated. More...
 
unsigned int getMaxFailed () const
 Gets the number of times that the boundary may fail to insert a particle. More...
 
void setParticleToCopy (std::vector< BaseParticle * > particleToCopy)
 Sets multiple different particles that will be inserted through the insertion boundary. More...
 
void setParticleToCopy (BaseParticle *particleToCopy)
 Sets the particle that will be inserted through the insertion boundary. More...
 
std::vector< BaseParticle * > getParticleToCopy ()
 Gets the particles that will be inserted through the insertion boundary. More...
 
void read (std::istream &is) override
 Reads the boundary's id_ and maxFailed_. More...
 
void write (std::ostream &os) const override
 Writes the boundary's id_ and maxFailed_. More...
 
Mdouble getVolumeFlowRate () const
 Gets the volume flow rate of the insertion routine. More...
 
void setVolumeFlowRate (Mdouble volumeFlowRate)
 Sets the volume flow rate of the insertion routine. More...
 
Mdouble getInitialVolume () const
 Gets the initialVolume() . More...
 
void setInitialVolume (Mdouble initialVolume)
 Gets the Volume which should be inserted by the insertion routine. More...
 
void setPSD (const PSD psd)
 Sets the range of particle radii that may be generated from a user defined PSD. More...
 
void setPSD (std::vector< PSD > psd, std::vector< Mdouble > probability)
 Sets the ranges of particle radii that may be generated from user defined PSDs. More...
 
std::vector< PSDgetPSD ()
 Gets the particle size distributions set by the user. More...
 
void setVariableVolumeFlowRate (const std::vector< Mdouble > &variableCumulativeVolumeFlowRate, Mdouble samplingInterval)
 Sets a variable volume flow rate. More...
 
bool insertParticle (Mdouble time)
 Checks the inserted total volume and returns if a particle is still allowed to be inserted. More...
 
bool getCheckParticleForInteraction () const
 Gets the variable that checks if a particle has an interaction. More...
 
void setCheckParticleForInteraction (bool checkParticleForInteraction)
 Sets the variable that checks if a particle has an interaction. More...
 
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
 

Protected Attributes

unsigned int nClusterInserted_
 
Mdouble radiusParticle_
 
int nParticles_
 
LinearPlasticViscoelasticFrictionSpeciesclusterSpecies_
 
bool isCdatOutputOn_
 
bool isOverlOutputOn_
 
bool isAmatOutputOn_
 
bool isIntStrucOutputOn_
 
bool isVtkOutputOn_
 
bool isRestartOutputOn_
 
bool isFStatOutputOn_
 
bool isEneOutputOn_
 
Mdouble sizeDispersityParticle_
 
Mdouble velocityDampingModulus_
 
int nInternalStructurePoints_
 
Mdouble energyRatioTolerance_
 
Mdouble collisionTimeOverTimeStep_
 
Vec3D posMin_
 
Vec3D posMax_
 
Vec3D velMin_
 
Vec3D velMax_
 
bool setRadiusParticleAndNotNumberOfParticles_
 
std::vector< Vec3DclusterPositions_
 
std::vector< MdoubleclusterRadii_
 
bool randomised_
 

Private Member Functions

std::string getName () const override
 Returns the name of the object. More...
 

Private Attributes

Vec3D position_
 

Additional Inherited Members

- Public Attributes inherited from InsertionBoundary
std::vector< BaseParticle * > particleToCopy_
 read Distribution class from file. ‍/ friend std::istream& operator>>(std::istream& is, InsertionBoundary::Distribution& type); 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_
 Checks if a particle has an interaction with a wall or other particles. More...
 
std::vector< PSDparticleSizeDistributionVector_
 Defines a particle size distribution as an object of the PSD class; if particleSizeDistributionVector_ is empty, distribution_ is used instead. More...
 
Vec3D velMin_
 Minimum and maximum velocity of the particles to be inserted. More...
 
Vec3D velMax_
 
bool isManuallyInserting_
 A flag to enable a top-down class-by-class manual insertion of a PSD; default is FALSE. More...
 
std::vector< Mdoubleprobability_
 vector of probabilities in range [0,1] which determine the mixing ratio of partice size distributions. More...
 
int chosenSpecies_
 stores the chosen species for each timestep. More...
 
BaseParticlep0 = nullptr
 pointer to the next particle that should be inserted (needs to be stored across time steps). More...
 

Constructor & Destructor Documentation

◆ BaseClusterInsertionBoundary() [1/2]

BaseClusterInsertionBoundary::BaseClusterInsertionBoundary ( )

Constructor; sets everything to 0.

Default constructor;

14 {
15  /*
16  * CLUSTER VALUES
17  */
18 
20 
21  //Position
22  position_ = {0,0,0};
23 
25 
26  // Time
28 
29  // Particles
31  radiusParticle_ = 0;
32  nParticles_ = 0;
33 
34 
35  // Central force
37 
38  // Data analysis
39  nInternalStructurePoints_ = 1000000;
40 
41  // Energy
42  energyRatioTolerance_ = 1.0e-7;
43 
44  // File
45  isCdatOutputOn_ = false;
46  isOverlOutputOn_ = false;
47  isAmatOutputOn_ = false;
48  isIntStrucOutputOn_ = false;
49  isVtkOutputOn_ = false;
50  isRestartOutputOn_ = false;
51  isFStatOutputOn_ = false;
52  isEneOutputOn_ = false;
53 
54  radiusParticle_ = 0;
55 
56 
57  /*
58  * TYPICAL INSERTION BOUNDARY VALUES
59  */
60 
61  posMin_ = Vec3D(0.0, 0.0, 0.0);
62  posMax_ = Vec3D(0.0, 0.0, 0.0);
63  velMin_ = Vec3D(0.0, 0.0, 0.0);
64  velMax_ = Vec3D(0.0, 0.0, 0.0);
65 
67 
68  randomised_ = true;
69 
70  logger(DEBUG, "BaseClusterInsertionBoundary::BaseClusterInsertionBoundary() finished");
71 
72 }
Species< LinearPlasticViscoelasticNormalSpecies, FrictionSpecies > LinearPlasticViscoelasticFrictionSpecies
Definition: LinearPlasticViscoelasticFrictionSpecies.h:12
Logger< MERCURYDPM_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
@ DEBUG
bool isIntStrucOutputOn_
Definition: BaseClusterInsertionBoundary.h:156
bool isFStatOutputOn_
Definition: BaseClusterInsertionBoundary.h:162
bool isOverlOutputOn_
Definition: BaseClusterInsertionBoundary.h:152
int nInternalStructurePoints_
Definition: BaseClusterInsertionBoundary.h:172
bool isCdatOutputOn_
Definition: BaseClusterInsertionBoundary.h:150
Vec3D velMin_
Definition: BaseClusterInsertionBoundary.h:183
Mdouble energyRatioTolerance_
Definition: BaseClusterInsertionBoundary.h:174
bool isRestartOutputOn_
Definition: BaseClusterInsertionBoundary.h:160
Vec3D position_
Definition: BaseClusterInsertionBoundary.h:130
bool isAmatOutputOn_
Definition: BaseClusterInsertionBoundary.h:154
Mdouble velocityDampingModulus_
Definition: BaseClusterInsertionBoundary.h:170
unsigned int nClusterInserted_
Definition: BaseClusterInsertionBoundary.h:136
Mdouble collisionTimeOverTimeStep_
Definition: BaseClusterInsertionBoundary.h:177
LinearPlasticViscoelasticFrictionSpecies * clusterSpecies_
Definition: BaseClusterInsertionBoundary.h:146
bool isVtkOutputOn_
Definition: BaseClusterInsertionBoundary.h:158
Mdouble sizeDispersityParticle_
Definition: BaseClusterInsertionBoundary.h:168
Mdouble radiusParticle_
Definition: BaseClusterInsertionBoundary.h:139
bool isEneOutputOn_
Definition: BaseClusterInsertionBoundary.h:164
bool randomised_
Definition: BaseClusterInsertionBoundary.h:194
int nParticles_
Definition: BaseClusterInsertionBoundary.h:143
Vec3D posMax_
Definition: BaseClusterInsertionBoundary.h:183
Vec3D velMax_
Definition: BaseClusterInsertionBoundary.h:183
Vec3D posMin_
Definition: BaseClusterInsertionBoundary.h:183
bool setRadiusParticleAndNotNumberOfParticles_
Definition: BaseClusterInsertionBoundary.h:187
InsertionBoundary()
Definition: InsertionBoundary.cc:17
Definition: Kernel/Math/Vector.h:30

References clusterSpecies_, collisionTimeOverTimeStep_, DEBUG, energyRatioTolerance_, isAmatOutputOn_, isCdatOutputOn_, isEneOutputOn_, isFStatOutputOn_, isIntStrucOutputOn_, isOverlOutputOn_, isRestartOutputOn_, isVtkOutputOn_, logger, nClusterInserted_, nInternalStructurePoints_, nParticles_, position_, posMax_, posMin_, radiusParticle_, randomised_, setRadiusParticleAndNotNumberOfParticles_, sizeDispersityParticle_, velMax_, velMin_, and velocityDampingModulus_.

Referenced by copy().

◆ BaseClusterInsertionBoundary() [2/2]

BaseClusterInsertionBoundary::BaseClusterInsertionBoundary ( const BaseClusterInsertionBoundary other)

Copy constructor with deep copy.

Copy constructor

78  : InsertionBoundary(other)
79 {
80  /*
81  * CLUSTER VALUES
82  */
83 
85 
86  //Position
87  position_ = other.position_;
88 
90 
91  // Time
93 
94  // Particles
97  nParticles_ = other.nParticles_;
98 
99  nParticles_ = other.nParticles_;
100 
101 
102  // Central force
104 
105  // Data analysis
107 
108  // Energy
110 
111  // File
120 
121 
122 
124  /*
125  * TYPICAL INSERTION BOUNDARY VALUES
126  */
127 
128  posMin_ = other.posMin_;
129  posMax_ = other.posMax_;
130  velMin_ = other.velMin_;
131  velMax_ = other.velMax_;
132 
134 
135  randomised_=other.randomised_;
136 
137 }

References clusterSpecies_, collisionTimeOverTimeStep_, energyRatioTolerance_, isAmatOutputOn_, isCdatOutputOn_, isEneOutputOn_, isFStatOutputOn_, isIntStrucOutputOn_, isOverlOutputOn_, isRestartOutputOn_, isVtkOutputOn_, nClusterInserted_, nInternalStructurePoints_, nParticles_, position_, posMax_, posMin_, radiusParticle_, randomised_, setRadiusParticleAndNotNumberOfParticles_, sizeDispersityParticle_, velMax_, velMin_, and velocityDampingModulus_.

◆ ~BaseClusterInsertionBoundary()

BaseClusterInsertionBoundary::~BaseClusterInsertionBoundary ( )
overridedefault

Destructor: default destructor.

Destructor. Since there are no pointers in this class, there is no need for any actions here.

Member Function Documentation

◆ checkBoundaryBeforeTimeStep()

void BaseClusterInsertionBoundary::checkBoundaryBeforeTimeStep ( DPMBase md)
overridevirtual

Fills the boundary with clusters.

Is used to fill the insides of the boundary with clusters until it is filled up. Function overridden in children classes FixedClusterInsertionBoundary and RandomClusterInsertionBoundary

Parameters
[in,out]mdthe problem's DPMBase object
Todo:
rename to something like "insertUntilMaxFailed"?

Reimplemented from BaseBoundary.

Reimplemented in RandomClusterInsertionBoundary, and FixedClusterInsertionBoundary.

228 {
229 }

◆ copy()

BaseClusterInsertionBoundary * BaseClusterInsertionBoundary::copy ( ) const
overridevirtual

Creates a copy on the heap and returns a pointer.

Copy method; creates a copy on the heap and returns its pointer.

Returns
pointer to the copy on the heap

Implements BaseBoundary.

Reimplemented in RandomClusterInsertionBoundary, and FixedClusterInsertionBoundary.

151 {
152 #ifdef DEBUG_CONSTRUCTOR
153  std::cout << "BaseClusterInsertionBoundary::copy() const finished" << std::endl;
154 #endif
155  return new BaseClusterInsertionBoundary(*this);
156 }
BaseClusterInsertionBoundary()
Constructor; sets everything to 0.
Definition: BaseClusterInsertionBoundary.cc:13

References BaseClusterInsertionBoundary().

◆ getName()

std::string BaseClusterInsertionBoundary::getName ( ) const
overrideprivatevirtual

Returns the name of the object.

Returns the name of the object class

Returns
the object's class' name, i.e. 'ClusterInsertionBoundary'

Implements BaseObject.

Reimplemented in RandomClusterInsertionBoundary, and FixedClusterInsertionBoundary.

307 {
308  return "BaseClusterInsertionBoundary";
309 }

◆ getNumberOfClusterInserted()

unsigned int BaseClusterInsertionBoundary::getNumberOfClusterInserted ( )

this returns the number of cluster inserted.

167  {
168  return nClusterInserted_;
169 }

References nClusterInserted_.

◆ getRandomised()

bool BaseClusterInsertionBoundary::getRandomised ( )

this returns a bool which indicates if the process is randomised (true) or not (false).

163  {
164  return randomised_;
165 }

References randomised_.

Referenced by FixedClusterInsertionBoundary::checkBoundaryBeforeTimeStep(), RandomClusterInsertionBoundary::checkBoundaryBeforeTimeStep(), FixedClusterInsertionBoundary::placeParticle(), and RandomClusterInsertionBoundary::placeParticle().

◆ placeParticle()

void BaseClusterInsertionBoundary::placeParticle ( BaseParticle p,
RNG random 
)
overridevirtual

Generates a random position, velocity for the cluster p.

function overridden in children classes FixedClusterInsertionBoundary and RandomClusterInsertionBoundary

Implements InsertionBoundary.

Reimplemented in RandomClusterInsertionBoundary, and FixedClusterInsertionBoundary.

217 {
218 }

◆ read()

void BaseClusterInsertionBoundary::read ( std::istream &  is)
overridevirtual

reads boundary properties from istream

Reads the boundary properties from an istream

Parameters
[in,out]isthe istream

Implements BaseBoundary.

236 {
238  std::string dummy;
239 
240  is >> dummy >> posMin_
241  >> dummy >> posMax_;
242  is >> dummy >> velMin_
243  >> dummy >> velMax_;
244 
245  is >> dummy >> nClusterInserted_
246  >> dummy >> radiusParticle_;
247  is >> dummy >> sizeDispersityParticle_
248  >> dummy >> velocityDampingModulus_
249  >> dummy >> nInternalStructurePoints_;
250  is >> dummy >> energyRatioTolerance_
251  >> dummy >> collisionTimeOverTimeStep_
253  is >> dummy >> isCdatOutputOn_
254  >> dummy >> isOverlOutputOn_
255  >> dummy >> isAmatOutputOn_
256  >> dummy >> isIntStrucOutputOn_
257  >> dummy >> isVtkOutputOn_
258  >> dummy >> isRestartOutputOn_
259  >> dummy >> isFStatOutputOn_
260  >> dummy >> isEneOutputOn_;
261 
262 }
void read(std::istream &is) override
Reads the boundary's id_ and maxFailed_.
Definition: InsertionBoundary.cc:448
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286

References collisionTimeOverTimeStep_, energyRatioTolerance_, isAmatOutputOn_, isCdatOutputOn_, isEneOutputOn_, isFStatOutputOn_, isIntStrucOutputOn_, isOverlOutputOn_, isRestartOutputOn_, isVtkOutputOn_, nClusterInserted_, nInternalStructurePoints_, posMax_, posMin_, radiusParticle_, InsertionBoundary::read(), setRadiusParticleAndNotNumberOfParticles_, sizeDispersityParticle_, oomph::Global_string_for_annotation::string(), velMax_, velMin_, and velocityDampingModulus_.

◆ setAdditionalClusterProperties()

void BaseClusterInsertionBoundary::setAdditionalClusterProperties ( Mdouble  collisionTimeOverTimeStep,
Mdouble  velocityDampingModulus,
Mdouble  energyRatioTolerance 
)

sets additional cluster properties as:

  • collision time over time step ratio
  • velocity damping modulus
  • energy ratio tolerance
194 {
195  collisionTimeOverTimeStep_ = collisionTimeOverTimeStep;
196  velocityDampingModulus_ = velocityDampingModulus;
197  energyRatioTolerance_ = energyRatioTolerance;
198 
199 }

References collisionTimeOverTimeStep_, energyRatioTolerance_, and velocityDampingModulus_.

◆ setGeometry()

void BaseClusterInsertionBoundary::setGeometry ( Vec3D  posMin,
Vec3D  posMax 
)

Sets the geometry (position and velocity distribution) of the ClusterInsertionBoundary.

182 {
183  posMin_ = posMin;
184  posMax_ = posMax;
185 }

References posMax_, and posMin_.

Referenced by RandomClusterInsertionBoundary::set().

◆ setOutputClusterProperties()

void BaseClusterInsertionBoundary::setOutputClusterProperties ( bool  doCdatOutput,
bool  doOverlOutput,
bool  doAmatOutput,
bool  doIntStrucOutput,
bool  doVtkOutput,
bool  doRestartOutput,
bool  doFStatOutput,
bool  doEneOutput 
)

sets cluster whether or not cluster output files will be created, for example:

  • cluster data
  • overlap output
  • adjacensy matrix output
  • internal structure output
  • vtk output
  • restart file output
  • fstat file output
  • ene file output For more information and details see class BaseCluster.
203 {
204  isCdatOutputOn_ = doCdatOutput;
205  isOverlOutputOn_ = doOverlOutput;
206  isAmatOutputOn_ = doAmatOutput;
207  isIntStrucOutputOn_ = doIntStrucOutput;
208  isVtkOutputOn_ = doVtkOutput;
209  isRestartOutputOn_ = doRestartOutput;
210  isFStatOutputOn_ = doFStatOutput;
211  isEneOutputOn_ = doEneOutput;
212 
213 }

References isAmatOutputOn_, isCdatOutputOn_, isEneOutputOn_, isFStatOutputOn_, isIntStrucOutputOn_, isOverlOutputOn_, isRestartOutputOn_, and isVtkOutputOn_.

◆ setRadiusMicroParticle()

void BaseClusterInsertionBoundary::setRadiusMicroParticle ( Mdouble  rMP)

this sets the radius of the micro particle composing the cluster.

172 {
173  if (radiusMicroParticle <= 0)
174  logger(ERROR, "radiusParticle must be greater than zero. radiusMicroParticle = %", radiusMicroParticle);
175  else {
176  radiusParticle_ = radiusMicroParticle;
178  }
179 }
@ ERROR

References ERROR, logger, radiusParticle_, and setRadiusParticleAndNotNumberOfParticles_.

Referenced by RandomClusterInsertionBoundary::set(), and FixedClusterInsertionBoundary::set().

◆ setRandomised()

void BaseClusterInsertionBoundary::setRandomised ( bool  randomised)

this turns off the randomise(): created for UnitTests.

159  {
160  randomised_ = randomised;
161 }

References randomised_.

Referenced by RandomClusterInsertionBoundarySelfTest::setupInitialConditions().

◆ setVelocityRange()

void BaseClusterInsertionBoundary::setVelocityRange ( Vec3D  velMin,
Vec3D  velMax 
)

Sets the velocity range of the ClusterInsertionBoundary.

188 {
189  velMin_ = velMin;
190  velMax_ = velMax;
191 }

References velMax_, and velMin_.

Referenced by FixedClusterInsertionBoundary::set().

◆ write()

void BaseClusterInsertionBoundary::write ( std::ostream &  os) const
overridevirtual

writes boundary properties to ostream

Writes boundary's properties to an ostream

Parameters
[in]osthe ostream

Implements BaseBoundary.

269 {
271  os << " posMin " << posMin_
272  << " posMax " << posMax_
273  << " velMin " << velMin_
274  << " velMax " << velMax_;
275 
276  os << " nClusterInserted " << nClusterInserted_ <<
277  " radiusParticle " << radiusParticle_ <<
278  " sizeDispersityParticle " << sizeDispersityParticle_ <<
279  " velocityDampingModulus " << velocityDampingModulus_ <<
280  " nInternalStructurePoints " << nInternalStructurePoints_ <<
281  " energyRatioTolerance " << energyRatioTolerance_ <<
282  " collisionTimeOverTimeStep " << collisionTimeOverTimeStep_ <<
283  " setRadiusParticle " << setRadiusParticleAndNotNumberOfParticles_ <<
284  " isCdatOutputOn " << isCdatOutputOn_ <<
285  " isOverlOutputOn " << isOverlOutputOn_ <<
286  " isAmatOutputOn " << isAmatOutputOn_ <<
287  " isIntStrucOutputOn " << isIntStrucOutputOn_ <<
288  " isVtkOutputOn " << isVtkOutputOn_ <<
289  " isRestartOutputOn " << isRestartOutputOn_ <<
290  " isFStatOutputOn " << isFStatOutputOn_ <<
291  " isEneOutputOn " << isEneOutputOn_;
292 
293 }
void write(std::ostream &os) const override
Writes the boundary's id_ and maxFailed_.
Definition: InsertionBoundary.cc:536

References collisionTimeOverTimeStep_, energyRatioTolerance_, isAmatOutputOn_, isCdatOutputOn_, isEneOutputOn_, isFStatOutputOn_, isIntStrucOutputOn_, isOverlOutputOn_, isRestartOutputOn_, isVtkOutputOn_, nClusterInserted_, nInternalStructurePoints_, posMax_, posMin_, radiusParticle_, setRadiusParticleAndNotNumberOfParticles_, sizeDispersityParticle_, velMax_, velMin_, velocityDampingModulus_, and InsertionBoundary::write().

Member Data Documentation

◆ clusterPositions_

std::vector<Vec3D> BaseClusterInsertionBoundary::clusterPositions_
protected

◆ clusterRadii_

◆ clusterSpecies_

LinearPlasticViscoelasticFrictionSpecies* BaseClusterInsertionBoundary::clusterSpecies_
protected

◆ collisionTimeOverTimeStep_

◆ energyRatioTolerance_

◆ isAmatOutputOn_

◆ isCdatOutputOn_

◆ isEneOutputOn_

◆ isFStatOutputOn_

◆ isIntStrucOutputOn_

◆ isOverlOutputOn_

◆ isRestartOutputOn_

◆ isVtkOutputOn_

◆ nClusterInserted_

◆ nInternalStructurePoints_

◆ nParticles_

◆ position_

Vec3D BaseClusterInsertionBoundary::position_
private

◆ posMax_

Vec3D BaseClusterInsertionBoundary::posMax_
protected

◆ posMin_

Vec3D BaseClusterInsertionBoundary::posMin_
protected

◆ radiusParticle_

◆ randomised_

bool BaseClusterInsertionBoundary::randomised_
protected

◆ setRadiusParticleAndNotNumberOfParticles_

◆ sizeDispersityParticle_

◆ velMax_

◆ velMin_

◆ velocityDampingModulus_


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