91 logger(
DEBUG,
"BaseClusterInsertionBoundary::BaseClusterInsertionBoundary() finished");
173 #ifdef DEBUG_CONSTRUCTOR
174 std::cout <<
"BaseClusterInsertionBoundary::copy() const finished" << std::endl;
194 if (radiusMicroParticle <= 0)
195 logger(
ERROR,
"radiusParticle must be greater than zero. radiusMicroParticle = %", radiusMicroParticle);
223 bool doVtkOutput,
bool doRestartOutput,
bool doFStatOutput,
bool doEneOutput)
329 return "BaseClusterInsertionBoundary";
The DPMBase header includes quite a few header files, defining all the handlers, which are essential...
void setGeometry(Vec3D posMin, Vec3D posMax)
Sets the geometry (position and velocity distribution) of the ClusterInsertionBoundary.
void read(std::istream &is) override
reads boundary properties from istream
Species< LinearPlasticViscoelasticNormalSpecies, FrictionSpecies > LinearPlasticViscoelasticFrictionSpecies
Logger< MERCURY_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here...
void checkBoundaryBeforeTimeStep(DPMBase *md) override
Fills the boundary with clusters.
void write(std::ostream &os) const override
writes boundary properties to ostream
bool getRandomised()
this returns a bool which indicates if the process is randomised (true) or not (false).
Mdouble collisionTimeOverTimeStep_
Boundary structure for boundaries used for insertion of particles.
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:
void setRandomised(bool randomised)
this turns off the randomise(): created for UnitTests.
This is a class that generates random numbers i.e. named the Random Number Generator (RNG)...
void setAdditionalClusterProperties(Mdouble collisionTimeOverTimeStep, Mdouble velocityDampingModulus, Mdouble energyRatioTolerance)
sets additional cluster properties as:
void placeParticle(BaseParticle *p, RNG &random) override
Generates a random position, velocity for the cluster p.
void setRadiusMicroParticle(Mdouble rMP)
this sets the radius of the micro particle composing the cluster.
Mdouble velocityDampingModulus_
unsigned int getNumberOfClusterInserted()
this returns the number of cluster inserted.
int nInternalStructurePoints_
std::string getName() const override
Returns the name of the object.
BaseClusterInsertionBoundary()
Constructor; sets everything to 0.
void write(std::ostream &os) const override
Writes the boundary's id_ and maxFailed_.
void setVelocityRange(Vec3D velMin, Vec3D velMax)
Sets the velocity range of the ClusterInsertionBoundary.
LinearPlasticViscoelasticFrictionSpecies * clusterSpecies_
Mdouble energyRatioTolerance_
bool setRadiusParticleAndNotNumberOfParticles_
unsigned int nClusterInserted_
Mdouble sizeDispersityParticle_
BaseClusterInsertionBoundary * copy() const override
Creates a copy on the heap and returns a pointer.
~BaseClusterInsertionBoundary() override
Destructor: default destructor.
void read(std::istream &is) override
Reads the boundary's id_ and maxFailed_.