35 #ifdef MERCURYDPM_USE_MPI
317 void write(std::ostream& os,
bool writeAllParticles)
const override;
const unsigned n
Definition: CG3DPackingUnitTest.cpp:32
Definition: BaseCluster.h:51
Mdouble getRadiusParticle() const
This returns the value of particles' radius if there's no dispersity in size. In case of dispersity !...
Definition: BaseCluster.cc:88
bool isCdatOutputOn_
Definition: BaseCluster.h:518
void makeCdatFile()
Creates the cluster data output file.
Definition: BaseCluster.cc:1137
void setRadiusParticle(Mdouble rP)
This sets the value of particles' radius if there's no dispersity in size.
Definition: BaseCluster.cc:97
Mdouble meanRelativeOverlap_
Definition: BaseCluster.h:566
bool setRadiusCluster_
Definition: BaseCluster.h:497
void doFStatOutput(bool isfStatOutputOn)
This sets the bool variable that defines whether the cluster fStat output will be written or not.
Definition: BaseCluster.cc:362
std::vector< std::vector< int > > adjacencyMatrix_
Definition: BaseCluster.h:560
void setEnergyRatioTolerance(Mdouble eRT)
This sets the value of the value of the energy ratio threshold under which the process can be conside...
Definition: BaseCluster.cc:234
std::ofstream overlFile_
Definition: BaseCluster.h:576
bool isRestartOutputOn_
Definition: BaseCluster.h:528
void doRestartOutput(bool isRestartOutputOn)
This sets the bool variable that defines whether the cluster restart output will be written or not.
Definition: BaseCluster.cc:348
int nInternalStructurePoints_
Definition: BaseCluster.h:509
bool isFStatOutputOn_
Definition: BaseCluster.h:530
Mdouble energyRatioTolerance_
Definition: BaseCluster.h:477
void doEneOutput(bool isEneOutputOn)
This sets the bool variable that defines whether the cluster ene output will be written or not.
Definition: BaseCluster.cc:376
void createAdjacencyMatrix()
This calculates the adjacency matrix of the cluster.
Definition: BaseCluster.cc:1540
void decreaseForce()
This linearly decreases values of forceModulus (stage = 2).
Definition: BaseCluster.cc:1522
bool isVtkOutputOn() const
This returns the bool variable that defines whether the cluster vtk output is written or not.
Definition: BaseCluster.cc:327
Mdouble massParticle_
Definition: BaseCluster.h:548
Mdouble minRelativeOverlap_
Definition: BaseCluster.h:568
void makeDataAnalysis()
This functions computes some important cluster information needed by the program.
Definition: BaseCluster.cc:1256
void setSpecies()
Sets species of particles.
Definition: BaseCluster.cc:1003
void setParticleSpecies(LinearPlasticViscoelasticFrictionSpecies *particleSpecies)
This sets the species of the particle.
Definition: BaseCluster.cc:250
void setPosition(Vec3D p)
This sets the value of position_, which is the position in which the cluster will be inserted.
Definition: BaseCluster.cc:60
int nIntraClusterBonds_
Definition: BaseCluster.h:570
void applyCentralForce()
This applies force on each particle.
Definition: BaseCluster.cc:1481
unsigned int idCluster_
Definition: BaseCluster.h:493
Vec3D centerOfMass_
Definition: BaseCluster.h:556
bool isIntStrucOutputOn_
Definition: BaseCluster.h:524
void writeToCdatFile()
This writes on the cluster data output file.
Definition: BaseCluster.cc:1371
int getNumberOfParticles() const
This returns the value of the number of particles in the cluster.
Definition: BaseCluster.cc:126
void write(std::ostream &os, bool writeAllParticles) const override
Overrides DPMBase write(): in this all variables needed by the program for restarting are written.
Definition: BaseCluster.cc:792
Mdouble forceModulus_
Definition: BaseCluster.h:606
void read(std::istream &is, ReadOptions opt=ReadOptions::ReadAll) override
Overrides DPMBase read(): in this all variables needed by the program for restarting are read.
Definition: BaseCluster.cc:839
Mdouble forceTuningDuration_
Definition: BaseCluster.h:612
Mdouble forceTuningInterval_
Definition: BaseCluster.h:608
bool isOverlOutputOn_
Definition: BaseCluster.h:520
Mdouble getFinalMassFraction()
This gets the final value obtained for the mass fraction;.
Definition: BaseCluster.cc:165
Mdouble getEnergyRatioTolerance() const
This returns the value of the value of the energy ratio threshold under which the process can be cons...
Definition: BaseCluster.cc:226
void increaseForce()
This linearly increases the value of forceModulus (stage = 1).
Definition: BaseCluster.cc:1500
Mdouble t0_
Definition: BaseCluster.h:598
std::ofstream cdatFile_
Definition: BaseCluster.h:574
std::ofstream gnuplotFile_
Definition: BaseCluster.h:578
void actionsOnRestart() override
Overrides DPMBase actionsOnRestart(): in this all variables needed by the program for restarting are ...
Definition: BaseCluster.cc:885
void setRadiusCluster(Mdouble rCR)
This sets the desired value of the cluster radius (there is no getter of this value,...
Definition: BaseCluster.cc:149
Mdouble getAverageOverlap()
this returns the average overlap.
Definition: BaseCluster.cc:390
Mdouble meanCoordinationNumber_
Definition: BaseCluster.h:562
void doCdatOutput(bool iCOO)
This sets the bool variable that defines whether the cluster data output will be written or not.
Definition: BaseCluster.cc:278
void setVelocity(Vec3D v)
This sets the value of velocity after creation.
Definition: BaseCluster.cc:264
Mdouble sizeDispersityParticle_
Definition: BaseCluster.h:485
Mdouble solidFraction_
Definition: BaseCluster.h:590
void setNumberOfParticles(int nP)
This sets the value of the number of particles in the cluster.
Definition: BaseCluster.cc:134
void setupInitialConditions() override
Overrides DPMBase setupInitialConditions(): in this initial conditions for the problem are set.
Definition: BaseCluster.cc:425
bool setNumberOfParticles_
Definition: BaseCluster.h:489
bool setRadiusParticle_
Definition: BaseCluster.h:483
bool isEneOutputOn_
Definition: BaseCluster.h:532
LinearPlasticViscoelasticFrictionSpecies * getParticleSpecies() const
This returns the species of the particle.
Definition: BaseCluster.cc:243
bool isAmatOutputOn() const
This returns the bool variable that defines whether the cluster adjacency matrix output is written or...
Definition: BaseCluster.cc:299
void actionsAfterSolve() override
Overrides DPMBase actionsAfterSolve(): in this cluster data file and cluster overlap file are closed ...
Definition: BaseCluster.cc:734
void dampVelocities()
This damps values of each particle velocity (stage = 1, stage = 2, stage = 3).
Definition: BaseCluster.cc:1509
bool isFStatOutputOn() const
This returns the bool variable that defines whether the cluster fStat output is written or not.
Definition: BaseCluster.cc:355
void setRadii()
Sets all radii according to particleRadius and sizeDispersityParticle.
Definition: BaseCluster.cc:984
Mdouble clusterTimeMax_
Definition: BaseCluster.h:600
Mdouble boxSize_
Definition: BaseCluster.h:554
void setDomainLimits()
Sets domain limits.
Definition: BaseCluster.cc:1045
std::vector< Mdouble > radii_
Definition: BaseCluster.h:544
void setVelocityDampingModulus(Mdouble vDM)
This sets the value of the velocity damping modulus.
Definition: BaseCluster.cc:200
Mdouble maxRelativeOverlap_
Definition: BaseCluster.h:564
Vec3D getPosition() const
This returns the value of position_, which is the position in which the cluster will be inserted.
Definition: BaseCluster.cc:52
void makeOverlFile()
Creates the cluster overlap output file.
Definition: BaseCluster.cc:1180
Mdouble collisionTimeOverTimeStep_
Definition: BaseCluster.h:475
Mdouble getVelocityDampingModulus() const
This returns the value of the velocity damping modulus.
Definition: BaseCluster.cc:192
bool isAmatOutputOn_
Definition: BaseCluster.h:522
Mdouble radiusParticle_
Definition: BaseCluster.h:481
Mdouble solidFractionIntStruct_
Definition: BaseCluster.h:592
std::ofstream intStructFile_
Definition: BaseCluster.h:582
bool isIntStrucOutputOn() const
This returns the bool variable that defines whether the cluster internal structure output is written ...
Definition: BaseCluster.cc:313
void printTime() const override
Overrides DPMBase printTime(): this way variables of interest are shown.
Definition: BaseCluster.cc:945
bool isCdatOutputOn() const
This returns the bool variable that defines whether the cluster data output (which is NOT the mercury...
Definition: BaseCluster.cc:271
void doVtkOutput(bool iVOO)
This sets the bool variable that defines whether the cluster vtk output will be written or not.
Definition: BaseCluster.cc:334
Mdouble dissipationDuration_
Definition: BaseCluster.h:615
Mdouble getSizeDispersityParticle() const
This returns the value of particles' dispersity in size.
Definition: BaseCluster.cc:109
Mdouble totalParticleVolume_
Definition: BaseCluster.h:550
void writeAmatFile()
This writes on the adjacency matrix file.
Definition: BaseCluster.cc:1577
bool isEneOutputOn() const
This returns the bool variable that defines whether the cluster ene output is written or not.
Definition: BaseCluster.cc:369
Vec3D getVelocity()
This gets the value of velocity after creation.
Definition: BaseCluster.cc:257
void setSizeDispersityParticle(Mdouble sDP)
This sets the value of particles' dispersity in size.
Definition: BaseCluster.cc:117
bool isRestartOutputOn() const
This returns the bool variable that defines whether the cluster restart output is written or not.
Definition: BaseCluster.cc:341
Mdouble getMeanClusterRadius()
this returns meanClusterRadius (radius of an ideal perfectly spherical cluster, there's no setter).
Definition: BaseCluster.cc:383
Mdouble velocityDampingInterval_
Definition: BaseCluster.h:610
Mdouble smallestRadius_
Definition: BaseCluster.h:546
BaseCluster()
Default constructor.
Definition: BaseCluster.cc:31
void calculateTimeStep()
Calculates the time step.
Definition: BaseCluster.cc:1060
void actionsAfterTimeStep() override
Overrides DPMBase actionsAfterTimeStep(): in this compression and decompression are computed,...
Definition: BaseCluster.cc:622
Mdouble radiusCluster_
Definition: BaseCluster.h:495
LinearPlasticViscoelasticFrictionSpecies * particleSpecies_
Definition: BaseCluster.h:513
Vec3D clusterVelocity_
Definition: BaseCluster.h:499
int stage_
Definition: BaseCluster.h:596
unsigned int getClusterId() const
This returns the value of the cluster ID.
Definition: BaseCluster.cc:175
void writeToOverlFile()
This writes on the cluster overlap output file.
Definition: BaseCluster.cc:1438
void insertParticles()
Inserts particles inside the domain.
Definition: BaseCluster.cc:1078
Mdouble velocityDampingModulus_
Definition: BaseCluster.h:505
void doAmatOutput(bool iAOO)
This sets the bool variable that defines whether the cluster adjacency matrix output will be written ...
Definition: BaseCluster.cc:306
void setNumberOfInternalStructurePoints(int gL)
This sets the value of the number of particles used to compute the internal structure.
Definition: BaseCluster.cc:217
Mdouble meanClusterRadius_
Definition: BaseCluster.h:501
void makeIntenalStructureFile()
This creates the file needed for writing down datas from computeInternalStructure().
Definition: BaseCluster.cc:1720
~BaseCluster() final
Default destructor.
Definition: BaseCluster.cc:38
Mdouble fileOutputTimeInterval_
Definition: BaseCluster.h:584
void makeGnuplotFile()
This creates the gnuplot file needed for printing force vs overlaps values.
Definition: BaseCluster.cc:1689
std::ofstream amatFile_
Definition: BaseCluster.h:580
void setClusterId(unsigned int iC)
This sets the value of the cluster ID.
Definition: BaseCluster.cc:183
void computeInternalStructure()
This computes the internal structure of the cluster.
Definition: BaseCluster.cc:1603
Mdouble maximumForceModulus_
Definition: BaseCluster.h:604
bool particleInsertionSuccessful(int n)
This function tries to insert the n-th particle (returns true if it manage to do that)....
Definition: BaseCluster.cc:1199
void doIntStrucOutput(bool iISOO)
This sets the bool variable that defines whether the cluster internal structure output will be writte...
Definition: BaseCluster.cc:320
void makeAmatFile()
This creates the adjacency matrix file.
Definition: BaseCluster.cc:1563
bool isOverlOutputOn() const
This returns the bool variable that defines whether the cluster overlap output is written or not.
Definition: BaseCluster.cc:285
Mdouble getCollisionTimeOverTimeStep() const
This returns the value of the ratio between collision time and time step.
Definition: BaseCluster.cc:68
void setCollisionTimeOverTimeStep(Mdouble cTOTS)
This sets the collisionTimeOverTimeStep number (which is the ratio between collision time and time st...
Definition: BaseCluster.cc:76
Vec3D position_
Definition: BaseCluster.h:471
Mdouble forceDampingModulus_
Definition: BaseCluster.h:617
Mdouble radiusForSolidFraction_
Definition: BaseCluster.h:588
void doOverlOutput(bool iOOO)
This sets the bool variable that defines whether the cluster overlap output will be written or not.
Definition: BaseCluster.cc:292
int nParticles_
Definition: BaseCluster.h:487
bool isVtkOutputOn_
Definition: BaseCluster.h:526
void dampForce()
This damps values of forceModulus (stage = 3).
Definition: BaseCluster.cc:1530
int getNumberOfInternalStructurePoints() const
This returns the value of the number of particles used to compute internal structure.
Definition: BaseCluster.cc:209
ReadOptions
Definition: DPMBase.h:254
This adds on the hierarchical grid code for 3D problems.
Definition: Mercury3D.h:37
Contains material and contact force properties.
Definition: Species.h:35