|
| ParticleParticleCollision () |
|
void | setupInitialConditions () override |
| This function allows to set the initial conditions for our problem to be solved, by default particle locations are randomly set. Remember particle properties must also be defined here. More...
|
|
Vec3D | getRelativeVelocity () |
|
void | getRelativeVelocityComponents (Mdouble &normalRelativeVelocity, Mdouble &tangentialRelativeVelocity) |
|
Mdouble | getCollisionTime (Mdouble mass) |
| Calculates collision time for two copies of a particle of species 0. More...
|
|
void | constructor () |
| A function which initialises the member variables to default values, so that the problem can be solved off the shelf; sets up a basic two dimensional problem which can be solved off the shelf. It is called in the constructor DPMBase(). More...
|
|
| DPMBase () |
| Constructor that calls the "void constructor()". More...
|
|
| DPMBase (const DPMBase &other) |
| Copy constructor type-2. More...
|
|
virtual | ~DPMBase () |
| virtual destructor More...
|
|
void | autoNumber () |
| The autoNumber() function calls three functions: setRunNumber(), readRunNumberFromFile() and incrementRunNumberInFile(). More...
|
|
std::vector< int > | get1DParametersFromRunNumber (int size_x) const |
| This turns a counter into 1 index, which is a useful feature for performing 1D parameter study. The index run from 1:size_x, while the study number starts at 0 (initially the counter=1 in COUNTER_DONOTDEL) More...
|
|
std::vector< int > | get2DParametersFromRunNumber (int size_x, int size_y) const |
| This turns a counter into 2 indices which is a very useful feature for performing a 2D study. The indices run from 1:size_x and 1:size_y, while the study number starts at 0 ( initially the counter=1 in COUNTER_DONOTDEL) More...
|
|
std::vector< int > | get3DParametersFromRunNumber (int size_x, int size_y, int size_z) const |
| This turns a counter into 3 indices, which is a useful feature for performing a 3D parameter study. The indices run from 1:size_x, 1:size_y and 1:size_z, while the study number starts at 0 ( initially the counter=1 in COUNTER_DONOTDEL) More...
|
|
int | launchNewRun (const char *name, bool quick=false) |
| This launches a code from within this code. Please pass the name of the code to run. More...
|
|
void | setRunNumber (int runNumber) |
| This sets the counter/Run number, overriding the defaults. More...
|
|
int | getRunNumber () const |
| This returns the current value of the counter (runNumber_) More...
|
|
virtual void | decompose () |
| Sends particles from processorId to the root processor. More...
|
|
void | solve () |
| The work horse of the code. More...
|
|
void | initialiseSolve () |
| Beginning of the solve routine, before time stepping. More...
|
|
void | finaliseSolve () |
| End of the solve routine, after time stepping. More...
|
|
virtual void | computeOneTimeStep () |
| Performs everything needed for one time step, used in the time-loop of solve(). More...
|
|
void | checkSettings () |
| Checks if the essentials are set properly to go ahead with solving the problem. More...
|
|
void | forceWriteOutputFiles () |
| Writes output files immediately, even if the current time step was not meant to be written. Also resets the last saved time step. More...
|
|
virtual void | writeOutputFiles () |
| Writes simulation data to all the main Mercury files: .data, .ene, .fstat, .xballs and .restart (see the Mercury website for more details regarding these files). More...
|
|
void | solve (int argc, char *argv[]) |
| The work horse of the code. Can handle flags from the command line. More...
|
|
virtual void | writeXBallsScript () const |
| This writes a script which can be used to load the xballs problem to display the data just generated. More...
|
|
virtual Mdouble | getInfo (const BaseParticle &P) const |
| A virtual function that returns some user-specified information about a particle. More...
|
|
ParticleVtkWriter * | getVtkWriter () const |
|
virtual void | writeRestartFile () |
| Stores all the particle data for current save time step to a "restart" file, which is a file simply intended to store all the information necessary to "restart" a simulation from a given time step (see also MercuryDPM.org for more information on restart files). More...
|
|
void | writeDataFile () |
|
void | writeEneFile () |
|
void | writeFStatFile () |
|
void | fillDomainWithParticles (unsigned N=50) |
|
bool | readRestartFile (ReadOptions opt=ReadOptions::ReadAll) |
| Reads all the particle data corresponding to a given, existing . restart file (for more details regarding restart files, refer to the training materials on the MercuryDPM website).Returns true if it is successful, false otherwise. More...
|
|
int | readRestartFile (std::string fileName, ReadOptions opt=ReadOptions::ReadAll) |
| The same as readRestartFile(bool), but also reads all the particle data corresponding to the current saved time step. More...
|
|
virtual void | write (std::ostream &os, bool writeAllParticles=true) const |
|
virtual void | read (std::istream &is, ReadOptions opt=ReadOptions::ReadAll) |
| Reads all data from a restart file, e.g. domain data and particle data. More...
|
|
virtual BaseWall * | readUserDefinedWall (const std::string &type) const |
| Allows you to read in a wall defined in a Driver directory; see USER/Luca/ScrewFiller. More...
|
|
virtual void | readOld (std::istream &is) |
| Reads all data from a restart file, e.g. domain data and particle data; old version. More...
|
|
bool | readDataFile (std::string fileName="", unsigned int format=0) |
| This allows particle data to be reloaded from data files. More...
|
|
bool | readParAndIniFiles (std::string fileName) |
| Allows the user to read par.ini files (useful to read files produced by the MDCLR simulation code - external to MercuryDPM) More...
|
|
bool | readNextDataFile (unsigned int format=0) |
| Reads the next data file with default format=0. However, one can modify the format based on whether the particle data corresponds to 3D or 2D data- see Visualising data in xballs. More...
|
|
void | readNextFStatFile () |
| Reads the next fstat file. More...
|
|
bool | findNextExistingDataFile (Mdouble tMin, bool verbose=true) |
| Finds and opens the next data file, if such a file exists. More...
|
|
bool | readArguments (int argc, char *argv[]) |
| Can interpret main function input arguments that are passed by the driver codes. More...
|
|
virtual bool | readNextArgument (int &i, int argc, char *argv[]) |
| Interprets the i^th command-line argument. More...
|
|
virtual bool | checkParticleForInteraction (const BaseParticle &P) |
| Checks whether a particle P has any interaction with walls or other particles. More...
|
|
virtual bool | checkParticleForInteractionLocal (const BaseParticle &P) |
| Checks if a particle P has any interaction with walls or other particles in the local domain. More...
|
|
bool | checkParticleForInteractionLocalPeriodic (const BaseParticle &P) |
|
void | readSpeciesFromDataFile (bool read=true) |
|
void | importParticlesAs (ParticleHandler &particleHandler, InteractionHandler &interactionHandler, const ParticleSpecies *species) |
| Copies particles, interactions assigning species from a local simulation to a global one. Useful for the creation of a cluster. More...
|
|
MERCURYDPM_DEPRECATED File & | getDataFile () |
| The non const version. Allows one to edit the File::dataFile. More...
|
|
MERCURYDPM_DEPRECATED File & | getEneFile () |
| The non const version. Allows to edit the File::eneFile. More...
|
|
MERCURYDPM_DEPRECATED File & | getFStatFile () |
| The non const version. Allows to edit the File::fStatFile. More...
|
|
MERCURYDPM_DEPRECATED File & | getRestartFile () |
| The non const version. Allows to edit the File::restartFile. More...
|
|
MERCURYDPM_DEPRECATED File & | getStatFile () |
| The non const version. Allows to edit the File::statFile. More...
|
|
File & | getInteractionFile () |
| Return a reference to the file InteractionsFile. More...
|
|
MERCURYDPM_DEPRECATED const File & | getDataFile () const |
| The const version. Does not allow for any editing of the File::dataFile. More...
|
|
MERCURYDPM_DEPRECATED const File & | getEneFile () const |
| The const version. Does not allow for any editing of the File::eneFile. More...
|
|
MERCURYDPM_DEPRECATED const File & | getFStatFile () const |
| The const version. Does not allow for any editing of the File::fStatFile. More...
|
|
MERCURYDPM_DEPRECATED const File & | getRestartFile () const |
| The const version. Does not allow for any editing of the File::restartFile. More...
|
|
MERCURYDPM_DEPRECATED const File & | getStatFile () const |
| The const version. Does not allow for any editing of the File::statFile. More...
|
|
const File & | getInteractionFile () const |
|
const std::string & | getName () const |
| Returns the name of the file. Does not allow to change it though. More...
|
|
void | setName (const std::string &name) |
| Allows to set the name of all the files (ene, data, fstat, restart, stat) More...
|
|
void | setName (const char *name) |
| Calls setName(std::string) More...
|
|
void | setSaveCount (unsigned int saveCount) |
| Sets File::saveCount_ for all files (ene, data, fstat, restart, stat) More...
|
|
void | setFileType (FileType fileType) |
| Sets File::fileType_ for all files (ene, data, fstat, restart, stat) More...
|
|
void | setOpenMode (std::fstream::openmode openMode) |
| Sets File::openMode_ for all files (ene, data, fstat, restart, stat) More...
|
|
void | resetFileCounter () |
| Resets the file counter for each file i.e. for ene, data, fstat, restart, stat) More...
|
|
void | closeFiles () |
| Closes all files (ene, data, fstat, restart, stat) that were opened to read or write. More...
|
|
void | setLastSavedTimeStep (unsigned int nextSavedTimeStep) |
| Sets the next time step for all the files (ene, data, fstat, restart, stat) at which the data is to be written or saved. More...
|
|
Mdouble | getTime () const |
| Returns the current simulation time. More...
|
|
Mdouble | getNextTime () const |
| Returns the current simulation time. More...
|
|
unsigned int | getNumberOfTimeSteps () const |
| Returns the current counter of time-steps, i.e. the number of time-steps that the simulation has undergone so far. More...
|
|
void | setTime (Mdouble time) |
| Sets a new value for the current simulation time. More...
|
|
void | setTimeMax (Mdouble newTMax) |
| Sets a new value for the maximum simulation duration. More...
|
|
Mdouble | getTimeMax () const |
| Returns the maximum simulation duration. More...
|
|
void | setLogarithmicSaveCount (Mdouble logarithmicSaveCountBase) |
| Sets File::logarithmicSaveCount_ for all files (ene, data, fstat, restart, stat) More...
|
|
void | setNToWrite (int nToWrite) |
| set the number of elements to write to the screen More...
|
|
int | getNToWrite () const |
| get the number of elements to write to the More...
|
|
void | setRotation (bool rotation) |
| Sets whether particle rotation is enabled or disabled. More...
|
|
bool | getRotation () const |
| Indicates whether particle rotation is enabled or disabled. More...
|
|
MERCURYDPM_DEPRECATED void | setWallsWriteVTK (FileType writeWallsVTK) |
| Sets whether walls are written into a VTK file. More...
|
|
MERCURYDPM_DEPRECATED void | setWallsWriteVTK (bool) |
| Sets whether walls are written into a VTK file. More...
|
|
MERCURYDPM_DEPRECATED void | setInteractionsWriteVTK (bool) |
| Sets whether interactions are written into a VTK file. More...
|
|
void | setParticlesWriteVTK (bool writeParticlesVTK) |
| Sets whether particles are written in a VTK file. More...
|
|
void | setSuperquadricParticlesWriteVTK (bool writeSuperquadricParticlesVTK) |
|
MERCURYDPM_DEPRECATED FileType | getWallsWriteVTK () const |
| Returns whether walls are written in a VTK file. More...
|
|
bool | getParticlesWriteVTK () const |
| Returns whether particles are written in a VTK file. More...
|
|
bool | getSuperquadricParticlesWriteVTK () const |
|
Mdouble | getXMin () const |
| If the length of the problem domain in x-direction is XMax - XMin, then getXMin() returns XMin. More...
|
|
Mdouble | getXMax () const |
| If the length of the problem domain in x-direction is XMax - XMin, then getXMax() returns XMax. More...
|
|
Mdouble | getYMin () const |
| If the length of the problem domain in y-direction is YMax - YMin, then getYMin() returns YMin. More...
|
|
Mdouble | getYMax () const |
| If the length of the problem domain in y-direction is YMax - YMin, then getYMax() returns XMax. More...
|
|
Mdouble | getZMin () const |
| If the length of the problem domain in z-direction is ZMax - ZMin, then getZMin() returns ZMin. More...
|
|
Mdouble | getZMax () const |
| If the length of the problem domain in z-direction is ZMax - ZMin, then getZMax() returns ZMax. More...
|
|
Mdouble | getXCenter () const |
|
Mdouble | getYCenter () const |
|
Mdouble | getZCenter () const |
|
Vec3D | getMin () const |
|
Vec3D | getMax () const |
|
void | setXMin (Mdouble newXMin) |
| Sets the value of XMin, the lower bound of the problem domain in the x-direction. More...
|
|
void | setYMin (Mdouble newYMin) |
| Sets the value of YMin, the lower bound of the problem domain in the y-direction. More...
|
|
void | setZMin (Mdouble newZMin) |
| Sets the value of ZMin, the lower bound of the problem domain in the z-direction. More...
|
|
void | setXMax (Mdouble newXMax) |
| Sets the value of XMax, the upper bound of the problem domain in the x-direction. More...
|
|
void | setYMax (Mdouble newYMax) |
| Sets the value of YMax, the upper bound of the problem domain in the y-direction. More...
|
|
void | setZMax (Mdouble newZMax) |
| Sets the value of ZMax, the upper bound of the problem domain in the z-direction. More...
|
|
void | setMax (const Vec3D &max) |
| Sets the maximum coordinates of the problem domain. More...
|
|
void | setMax (Mdouble, Mdouble, Mdouble) |
| Sets the maximum coordinates of the problem domain. More...
|
|
void | setDomain (const Vec3D &min, const Vec3D &max) |
| Sets the minimum coordinates of the problem domain. More...
|
|
void | setMin (const Vec3D &min) |
| Sets the minimum coordinates of the problem domain. More...
|
|
void | setMin (Mdouble, Mdouble, Mdouble) |
| Sets the minimum coordinates of the problem domain. More...
|
|
void | setTimeStep (Mdouble newDt) |
| Sets a new value for the simulation time step. More...
|
|
Mdouble | getTimeStep () const |
| Returns the simulation time step. More...
|
|
void | setNumberOfOMPThreads (int numberOfOMPThreads) |
|
int | getNumberOfOMPThreads () const |
|
void | setXBallsColourMode (int newCMode) |
| Set the xballs output mode. More...
|
|
int | getXBallsColourMode () const |
| Get the xballs colour mode (CMode). More...
|
|
void | setXBallsVectorScale (double newVScale) |
| Set the scale of vectors in xballs. More...
|
|
double | getXBallsVectorScale () const |
| Returns the scale of vectors used in xballs. More...
|
|
void | setXBallsAdditionalArguments (std::string newXBArgs) |
| Set the additional arguments for xballs. More...
|
|
std::string | getXBallsAdditionalArguments () const |
| Returns the additional arguments for xballs. More...
|
|
void | setXBallsScale (Mdouble newScale) |
| Sets the scale of the view (either normal, zoom in or zoom out) to display in xballs. The default is fit to screen. More...
|
|
double | getXBallsScale () const |
| Returns the scale of the view in xballs. More...
|
|
void | setGravity (Vec3D newGravity) |
| Sets a new value for the gravitational acceleration. More...
|
|
Vec3D | getGravity () const |
| Returns the gravitational acceleration. More...
|
|
void | setBackgroundDrag (Mdouble backgroundDrag) |
| Simple access function to turn on a background drag. The force of particleVelocity*drag is applied (note, it allowd to be negaitve i.e. create energy) More...
|
|
const Mdouble | getBackgroundDrag () const |
| Return the background drag. More...
|
|
void | setDimension (unsigned int newDim) |
| Sets both the system dimensions and the particle dimensionality. More...
|
|
void | setSystemDimensions (unsigned int newDim) |
| Sets the system dimensionality. More...
|
|
unsigned int | getSystemDimensions () const |
| Returns the system dimensionality. More...
|
|
void | setParticleDimensions (unsigned int particleDimensions) |
| Sets the particle dimensionality. More...
|
|
unsigned int | getParticleDimensions () const |
| Returns the particle dimensionality. More...
|
|
std::string | getRestartVersion () const |
| This is to take into account for different Mercury versions. Returns the version of the restart file. More...
|
|
void | setRestartVersion (std::string newRV) |
| Sets restart_version. More...
|
|
bool | getRestarted () const |
| Returns the flag denoting if the simulation was restarted or not. More...
|
|
void | setRestarted (bool newRestartedFlag) |
| Allows to set the flag stating if the simulation is to be restarted or not. More...
|
|
bool | getAppend () const |
| Returns whether the "append" option is on or off. More...
|
|
void | setAppend (bool newAppendFlag) |
| Sets whether the "append" option is on or off. More...
|
|
Mdouble | getElasticEnergy () const |
| Returns the global elastic energy within the system. More...
|
|
Mdouble | getKineticEnergy () const |
| Returns the global kinetic energy stored in the system. More...
|
|
Mdouble | getGravitationalEnergy () const |
| Returns the global gravitational potential energy stored in the system. More...
|
|
Mdouble | getRotationalEnergy () const |
| JMFT Returns the global rotational energy stored in the system. More...
|
|
Mdouble | getTotalEnergy () const |
|
Mdouble | getTotalMass () const |
| JMFT: Return the total mass of the system, excluding fixed particles. More...
|
|
Vec3D | getCentreOfMass () const |
| JMFT: Return the centre of mass of the system, excluding fixed particles. More...
|
|
Vec3D | getTotalMomentum () const |
| JMFT: Return the total momentum of the system, excluding fixed particles. More...
|
|
double | getCPUTime () |
|
double | getWallTime () |
|
virtual void | hGridInsertParticle (BaseParticle *obj UNUSED) |
|
virtual void | hGridUpdateParticle (BaseParticle *obj UNUSED) |
|
virtual void | hGridRemoveParticle (BaseParticle *obj UNUSED) |
|
virtual void | hGridUpdateMove (BaseParticle *, Mdouble) |
|
bool | mpiIsInCommunicationZone (BaseParticle *particle) |
| Checks if the position of the particle is in an mpi communication zone or not. More...
|
|
bool | mpiInsertParticleCheck (BaseParticle *P) |
| Function that checks if the mpi particle should really be inserted by the current domain. More...
|
|
void | insertGhostParticle (BaseParticle *P) |
| This function inserts a particle in the mpi communication boundaries. More...
|
|
void | updateGhostGrid (BaseParticle *P) |
| Checks if the Domain/periodic interaction distance needs to be updated and updates it accordingly. More...
|
|
virtual void | gatherContactStatistics (unsigned int index1, int index2, Vec3D Contact, Mdouble delta, Mdouble ctheta, Mdouble fdotn, Mdouble fdott, Vec3D P1_P2_normal_, Vec3D P1_P2_tangential) |
| //Not unsigned index because of possible wall collisions. More...
|
|
void | setNumberOfDomains (std::vector< unsigned > direction) |
| Sets the number of domains in x-,y- and z-direction. Required for parallel computations. More...
|
|
void | splitDomain (DomainSplit domainSplit) |
|
std::vector< unsigned > | getNumberOfDomains () |
| returns the number of domains More...
|
|
Domain * | getCurrentDomain () |
| Function that returns a pointer to the domain corresponding to the processor. More...
|
|
void | removeOldFiles () const |
|
virtual void | hGridGetInteractingParticleList (BaseParticle *obj, std::vector< BaseParticle * > &list) |
| Creates a list of neighbour particles obtained from the hgrid. More...
|
|
virtual void | computeWallForces (BaseWall *w) |
|
virtual bool | getHGridUpdateEachTimeStep () const |
|
void | setMeanVelocity (Vec3D V_mean_goal) |
| This function will help you set a fixed kinetic energy and mean velocity in your system. More...
|
|
void | setMeanVelocityAndKineticEnergy (Vec3D V_mean_goal, Mdouble Ek_goal) |
| This function will help you set a fixed kinetic energy and mean velocity in your system. More...
|
|
Mdouble | getTotalVolume () const |
| Get the total volume of the cuboid system. More...
|
|
Matrix3D | getKineticStress () const |
| Calculate the kinetic stress tensor in the system averaged over the whole volume. More...
|
|
Matrix3D | getStaticStress () const |
| Calculate the static stress tensor in the system averaged over the whole volume. More...
|
|
Matrix3D | getTotalStress () const |
| Calculate the total stress tensor in the system averaged over the whole volume. More...
|
|
virtual void | handleParticleRemoval (unsigned int id) |
| Handles the removal of particles from the particleHandler. More...
|
|
virtual void | handleParticleAddition (unsigned int id, BaseParticle *p) |
|
void | writePythonFileForVTKVisualisation () const |
|
void | setWritePythonFileForVTKVisualisation (bool forceWritePythonFileForVTKVisualisation) |
|
bool | getWritePythonFileForVTKVisualisation () const |
|
WallVTKWriter & | getWallVTKWriter () |
|