Logger.cc File Reference
#include "Logger.h"
#include <cstdlib>
#include <iostream>
#include <csignal>

Functions

static void printInfo (std::string module, std::string msg, Flusher doFlush)
 Prints messages of loglevel INFO. More...
 
static void printWarn (std::string module, std::string msg, Flusher doFlush)
 Prints messages of loglevel WARN. More...
 
static void printError (std::string module, std::string msg, Flusher doFlush)
 Prints messages of loglevel ERROR. More...
 
static void printFatalError (const std::string &module, const std::string &msg, Flusher doFlush)
 Prints messages of loglevel FATAL. More...
 

Variables

LL< Log::FATAL > FATAL
 Definition of the different loglevels by its wrapper class LL. These are used as tags in template metaprogramming for the Logger class. More...
 
LL< Log::ERROR > ERROR
 Error log level. More...
 
LL< Log::WARN > WARN
 Warning log level. More...
 
LL< Log::INFO > INFO
 Info log level. More...
 
LL< Log::DEFAULT > DEFAULT
 Default log level. More...
 
LL< Log::VERBOSE > VERBOSE
 Verbose information. More...
 
LL< Log::DEBUG > DEBUG
 Debug information. More...
 
Logger< MERCURYDPM_LOGLEVELlogger ("MercuryKernel")
 Definition of different loggers with certain modules. A user can define its own custom logger here. More...
 
Logger< CG_LOGLEVELcgLogger ("MercuryCG")
 
LoggerOutput loggerOutputDefaultImpl
 
LoggerOutputloggerOutput = &loggerOutputDefaultImpl
 Declaration of the output functions. More...
 

Function Documentation

◆ printError()

static void printError ( std::string  module,
std::string  msg,
Flusher  doFlush 
)
static

Prints messages of loglevel ERROR.

Parameters
[in]moduleThe module name of the current logger invocation.
[in]msgformatted message to be printed.
[in]doFlushFlusher enum class object to enable/disable flushing of the output.
131 {
132 #ifdef MERCURYDPM_USE_MPI
133  //Check if MPI is initialised
134  initialiseMPI();
135  MPIContainer& communicator = MPIContainer::Instance();
136  std::cout << "\033[1;33mError " << module << ":\033[0m\n" << "[Processor: " << communicator.getProcessorID() << "]" << msg << std::endl;
137 #else
138  std::cout << "\033[1;31mAn error has occured"
139  << "\n\033[1;31mModule :" << module
140  << "\n\033[1;31mMessage :" << msg << std::endl;
141 #endif
142 #ifdef MERCURYDPM_STACKTRACE_SHOW
143  std::cerr << "\n-----------------[Stack Trace]-----------------\n";
144 
145  void* stackBuffer[64]; //This should be enough for all purposes..
146  //First, we retrieve the addresses of the entire stack...
147  int nStackFrames = backtrace(stackBuffer, 64);
148 #ifndef MERCURYDPM_STACKTRACE_DEMANGLE
149  //We don't have the demangling infra, so just use backtrace_symbols.
150  char** functionNames = backtrace_symbols(stackBuffer, nStackFrames);
151  for( int i = 0; i < nStackFrames; i++ )
152  {
153  std::cerr << '\t' << functionNames[i] << '\n';
154  }
155  std::cerr << "Exiting.\n" << std::endl;
156 
157  //DO NOT USE DELETE HERE. THIS SHOULD BE free()'d!
158  // -- dducks
159  free(functionNames);
160 #else
161  //We request the symbol information ourselves, in order to be able to demangle it.
162  //And request the function names using dladdr.
163  Dl_info infoStruct;
164  for (int i = 4; i < nStackFrames; i++)
165  {
166  if (dladdr(stackBuffer[i], &infoStruct))
167  { // We succesfully loaded the address...
168  int demangleStatus;
169  char* fnDemangled = abi::__cxa_demangle(infoStruct.dli_sname, NULL, NULL, &demangleStatus);
170  if (infoStruct.dli_sname == nullptr)
171  continue;
172 
173  //We even succesfully demangled the symbol...
174  if (demangleStatus == 0)
175  {
176  std::cerr << fnDemangled << " +" << (void*) ((char*) stackBuffer[i] - (char*) infoStruct.dli_saddr) << "\t(" << infoStruct.dli_fname << ")\n";
177  free(fnDemangled);
178  }
179  else
180  { //Well, we tried. Lets output at least our raw symbol name.
181  std::cerr << infoStruct.dli_sname << " +" << (void*) ((char*) stackBuffer[i] - (char*) infoStruct.dli_saddr) << "\t(" << infoStruct.dli_fname << ")\n";
182  }
183  }
184  else
185  { //Name lookup failed.
186  std::cerr << stackBuffer[i] << ": ?????" << std::endl;
187  }
188  }
189 #endif
190 #endif
191  //send a signal first, in case a debugger can catch it
192  std::raise(SIGTERM);
193  //call exit() for the specific loglevel
194  std::exit(static_cast<int>(Log::ERROR));
195 }
@ ERROR
void initialiseMPI()
Inialises the MPI library.
Definition: MpiContainer.cc:137
This class contains all information and functions required for communication between processors.
Definition: MpiContainer.h:130
static MPIContainer & Instance()
fetch the instance to be used for communication
Definition: MpiContainer.h:134
std::size_t getProcessorID()
Reduces a scalar on all processors to one scalar on a target processor.
Definition: MpiContainer.cc:113
const std::complex< Mdouble > i
Definition: ExtendedMath.h:51

References ERROR, MPIContainer::getProcessorID(), constants::i, initialiseMPI(), and MPIContainer::Instance().

◆ printFatalError()

static void printFatalError ( const std::string &  module,
const std::string &  msg,
Flusher  doFlush 
)
static

Prints messages of loglevel FATAL.

Parameters
[in]moduleThe module name of the current logger invocation.
[in]msgformatted message to be printed.
[in]doFlushFlusher enum class object to enable/disable flushing of the output.
207 {
208 #ifdef MERCURYDPM_USE_MPI
209  //Check if MPI is initialised
210  initialiseMPI();
211  MPIContainer& communicator = MPIContainer::Instance();
212  std::cout << "\033[1;33mError " << module << ":\033[0m\n" << "[Processor: " << communicator.getProcessorID() << "]" << msg << std::endl;
213 #else
214  std::cout << "\033[1;31mA fatal error has occured"
215  << "\n\033[1;31mModule :" << module
216  << "\n\033[1;31mMessage :" << msg << std::endl;
217 #endif
218 #ifdef MERCURYDPM_STACKTRACE_SHOW
219  std::cerr << "\n-----------------[Stack Trace]-----------------\n";
220 
221  void* stackBuffer[64]; //This should be enough for all purposes..
222  //First, we retrieve the addresses of the entire stack...
223  int nStackFrames = backtrace(stackBuffer, 64);
224 #ifndef MERCURYDPM_STACKTRACE_DEMANGLE
225  //We don't have the demangling infra, so just use backtrace_symbols.
226  char** functionNames = backtrace_symbols(stackBuffer, nStackFrames);
227  for( int i = 0; i < nStackFrames; i++ )
228  {
229  std::cerr << '\t' << functionNames[i] << '\n';
230  }
231  std::cerr << "Exiting.\n" << std::endl;
232 
233  //DO NOT USE DELETE HERE. THIS SHOULD BE free()'d!
234  // -- dducks
235  free(functionNames);
236 #else
237  //We request the symbol information ourselves, in order to be able to demangle it.
238  //And request the function names using dladdr.
239  Dl_info infoStruct;
240  for (int i = 4; i < nStackFrames; i++)
241  {
242  if (dladdr(stackBuffer[i], &infoStruct))
243  { // We succesfully loaded the address...
244  int demangleStatus;
245  char* fnDemangled = abi::__cxa_demangle(infoStruct.dli_sname, NULL, NULL, &demangleStatus);
246  if (infoStruct.dli_sname == nullptr)
247  continue;
248 
249  //We even succesfully demangled the symbol...
250  if (demangleStatus == 0)
251  {
252  std::cerr << fnDemangled << " +" << (void*) ((char*) stackBuffer[i] - (char*) infoStruct.dli_saddr) << "\t(" << infoStruct.dli_fname << ")\n";
253  free(fnDemangled);
254  }
255  else
256  { //Well, we tried. Lets output at least our raw symbol name.
257  std::cerr << infoStruct.dli_sname << " +" << (void*) ((char*) stackBuffer[i] - (char*) infoStruct.dli_saddr) << "\t(" << infoStruct.dli_fname << ")\n";
258  }
259  }
260  else
261  { //Name lookup failed.
262  std::cerr << stackBuffer[i] << ": ?????" << std::endl;
263  }
264  }
265 #endif
266 #endif
267  //send a signal first, in case a debugger can catch it
268  std::raise(SIGTERM);
269  //call exit for the specific loglevel
270  std::exit(static_cast<int>(Log::FATAL));
271 }
@ FATAL

References FATAL, MPIContainer::getProcessorID(), constants::i, initialiseMPI(), and MPIContainer::Instance().

◆ printInfo()

static void printInfo ( std::string  module,
std::string  msg,
Flusher  doFlush 
)
static

Prints messages of loglevel INFO.

Parameters
[in]moduleThe module name of the current logger invocation.
[in]msgformatted message to be printed.
[in]doFlushFlusher enum class object to enable/disable flushing of the output.
77 {
78 #ifdef MERCURYDPM_USE_MPI
79  //Check if MPI is initialised
80  initialiseMPI();
81  MPIContainer& communicator = MPIContainer::Instance();
82  std::cout << "[Process: " << communicator.getProcessorID() << "]: " << msg;
83  if (doFlush == Flusher::FLUSH)
84  {
85  std::cout << std::endl;
86  }
87 #else
88  std::cout << msg;
89  if (doFlush == Flusher::FLUSH)
90  {
91  std::cout << std::endl;
92  }
93 #endif
94 }

References FLUSH, MPIContainer::getProcessorID(), initialiseMPI(), and MPIContainer::Instance().

◆ printWarn()

static void printWarn ( std::string  module,
std::string  msg,
Flusher  doFlush 
)
static

Prints messages of loglevel WARN.

Parameters
[in]moduleThe module name of the current logger invocation.
[in]msgformatted message to be printed.
[in]doFlushFlusher enum class object to enable/disable flushing of the output.
104 {
105 #ifdef MERCURYDPM_USE_MPI
106  //Check if MPI is initialised
107  initialiseMPI();
108  MPIContainer& communicator = MPIContainer::Instance();
109  std::cout << "\033[1;33mModule " << module << ":\033[0m\n" << "[Processor: " << communicator.getProcessorID() << "]" << msg;
110  if (doFlush == Flusher::FLUSH)
111  {
112  std::cout << std::endl;
113  }
114 #else
115  std::cout << "\033[1;33mMessage " << module << ":\033[0m\n" << msg;
116  if (doFlush == Flusher::FLUSH)
117  {
118  std::cout << std::endl;
119  }
120 #endif
121 }

References FLUSH, MPIContainer::getProcessorID(), initialiseMPI(), and MPIContainer::Instance().

Variable Documentation

◆ cgLogger

◆ DEBUG

LL<Log::DEBUG> DEBUG

Debug information.

Only used for internal development. Can be very cryptic, as it is only meant for finding bugs / oddities by the internal development team.

Example: Collision found between Particle #38201 and Wall #5

Default behaviour: ignore.

Referenced by BaseHandler< T >::BaseHandler(), load(), main(), SmallMatrix< numberOfRows, numberOfColumns >::operator*(), operator*(), CGFields::OrientationField::OrientationField(), CGFields::OrientationField::setFields(), BaseHandler< T >::~BaseHandler(), MixedSpecies< NormalForceSpecies, FrictionForceSpecies, AdhesiveForceSpecies >::~MixedSpecies(), and Species< NormalForceSpecies, FrictionForceSpecies, AdhesiveForceSpecies >::~Species().

◆ DEFAULT

LL<Log::DEFAULT> DEFAULT

Default log level.

Only useful for defining the loglevel of the logger itself. Should not actually be used.

◆ ERROR

LL<Log::ERROR> ERROR

Error log level.

Error, as in, the program has found a severe problem which it cannot resolve any further. It does not know how to recover in a sane way. The difference to FATAL is mainly that this type of failure is most often caused by human error.

Example: Negative time step, Infinite end time and no override of the continuation function.

Default behaviour: log to std::cerr, followed by std::exit().

Referenced by addObject(), CLiveStatistics< T >::CLiveStatistics(), commandLineCG(), SmallMatrix< numberOfRows, numberOfColumns >::computeWedgeStuffVector(), SmallMatrix< numberOfRows, numberOfColumns >::determinant(), SolidProblem< ELEMENT_TYPE >::get_x(), BaseHandler< T >::getObjectById(), BaseHandler< T >::getObjectsById(), helpers::getSaveCountFromNumberOfSavesAndTimeMaxAndTimeStep(), main(), Species< NormalForceSpecies, FrictionForceSpecies, AdhesiveForceSpecies >::mixAll(), helpers::more(), operator<<(), operator>>(), helpers::readArrayFromFile(), NurbsSurface::set(), Statistics(), statistics_while_running< T >::statistics_while_running(), test1(), test2(), and SolidProblem< ELEMENT_TYPE >::writeToVTK().

◆ FATAL

LL<Log::FATAL> FATAL

Definition of the different loglevels by its wrapper class LL. These are used as tags in template metaprogramming for the Logger class.

Fatal log level.

Referenced by compareParticles(), main(), and transformMercuryToVTK().

◆ INFO

LL<Log::INFO> INFO

Info log level.

Useful information, small oddities and statistics which should be of no real effect to the user, but still give useful information about the current state and progress of the program.

Example: Finished inserting 381 particles.

Default behaviour: log to std::cout, returns afterwards.

Referenced by helpers::addToFile(), checkTemplate(), CLiveStatistics< T >::CLiveStatistics(), commandLineCG(), helpers::compare(), computeFFc(), SCoupling< M, O >::computeOneTimeStepForSCoupling(), computeSimpleFFc(), SolidProblem< ELEMENT_TYPE >::countPinned(), NurbsUtils::extendKnotVector(), SolidProblem< ELEMENT_TYPE >::get_x(), getLinearFit(), SCoupling< M, O >::getSCoupledElements(), mathsFunc::goldenSectionSearch(), helpers::readFromCommandLine< std::string >(), HstopCurve(), ScaleCoupling< M, O >::initialiseCoupledElements(), load(), LoadClumps(), loadingTest(), LoadMass(), LoadPD(), LoadPebbles(), SolidProblem< ELEMENT_TYPE >::loadSolidMesh(), LoadTOI(), main(), helpers::more(), normalAndTangentialLoadingTest(), objectivenessTest(), particleParticleTest(), SolidProblem< ELEMENT_TYPE >::pinBoundaries(), SolidProblem< ELEMENT_TYPE >::pinBoundary(), PointIsAboveCurve(), SolidProblem< ELEMENT_TYPE >::prepareForSolve(), helpers::readArrayFromCommandLine(), helpers::readFromCommandLine(), helpers::readFromFile(), helpers::readVectorFromCommandLine(), SolidProblem< ELEMENT_TYPE >::saveSolidMesh(), NurbsSurface::set(), SolidProblem< ELEMENT_TYPE >::setBodyForceAsGravity(), SolidProblem< ELEMENT_TYPE >::setDensity(), SolidProblem< ELEMENT_TYPE >::setElasticModulus(), SolidProblem< ELEMENT_TYPE >::setIsPinned(), SolidProblem< ELEMENT_TYPE >::setName(), SolidProblem< ELEMENT_TYPE >::setOomphGravity(), SolidProblem< ELEMENT_TYPE >::setPoissonRatio(), SolidProblem< ELEMENT_TYPE >::setSolidCubicMesh(), Thermal< Particle >::setTimeDependentTemperature(), SolidProblem< ELEMENT_TYPE >::SolidProblem(), ScaleCoupling< M, O >::solveScaleCoupling(), SolidProblem< ELEMENT_TYPE >::solveSteady(), SCoupling< M, O >::solveSurfaceCoupling(), SCoupling< M, O >::solveSurfaceCouplingFixedSolid(), SolidProblem< ELEMENT_TYPE >::solveUnsteady(), Statistics(), statistics_while_running< T >::statistics_while_running(), test1(), test2(), testCGHandler(), transformMercuryToVTK(), wallParticleTest(), and SolidProblem< ELEMENT_TYPE >::writeToVTK().

◆ logger

Logger<MERCURYDPM_LOGLEVEL> logger("MercuryKernel") ( "MercuryKernel"  )

Definition of different loggers with certain modules. A user can define its own custom logger here.

Referenced by SilbertHstop::actionAfterTimeStep(), ShearStage::actionsAfterSolve(), DPM::actionsAfterSolve(), ForceLawsMPI2Test::actionsAfterSolve(), MaserRepeatedOutInMPI2Test::actionsAfterSolve(), ParameterStudy1DDemo::actionsAfterSolve(), ParameterStudy2DDemo::actionsAfterSolve(), ParameterStudy3DDemo::actionsAfterSolve(), PSDManualInsertionSelfTest::actionsAfterSolve(), HertzianBSHPInteractionTwoParticleElasticCollision::actionsAfterSolve(), Contact::actionsAfterSolve(), SphericalSuperQuadricCollision::actionsAfterSolve(), SpeciesTest::actionsAfterSolve(), BaseCluster::actionsAfterSolve(), RotatingDrumWet::actionsAfterTimeStep(), GranuHeap::actionsAfterTimeStep(), ShearStage::actionsAfterTimeStep(), NozzleDemo::actionsAfterTimeStep(), TwoByTwoMPIDomainMPI4Test::actionsAfterTimeStep(), HourGlass::actionsAfterTimeStep(), LeesEdwardsDemo::actionsAfterTimeStep(), TimeDependentPeriodicBoundary3DSelfTest::actionsAfterTimeStep(), TimeDependentPeriodicBoundaryTest::actionsAfterTimeStep(), Chutebelt::actionsAfterTimeStep(), NozzleSelfTest::actionsAfterTimeStep(), PolydisperseInsertionBoundarySelfTest::actionsAfterTimeStep(), SphericalIndenter::actionsAfterTimeStep(), BouncingSuperQuadric::actionsAfterTimeStep(), GranularCollapse::actionsAfterTimeStep(), SphericalSuperQuadricCollision::actionsAfterTimeStep(), ContactDetectionNormalSpheresTest::actionsAfterTimeStep(), ContactDetectionRotatedSpheresTest::actionsAfterTimeStep(), MercuryProblem::actionsAfterTimeStep(), Tutorial11::actionsAfterTimeStep(), DrivenParticleClass::actionsAfterTimeStep(), BaseCluster::actionsAfterTimeStep(), VolumeCoupling::actionsAfterTimeStep(), BaseBoundary::actionsBeforeTimeLoop(), ParameterStudy1DDemo::actionsBeforeTimeLoop(), ParameterStudy2DDemo::actionsBeforeTimeLoop(), ParameterStudy3DDemo::actionsBeforeTimeLoop(), SphericalIndenter::actionsBeforeTimeLoop(), DropletBoundary::actionsBeforeTimeLoop(), LawinenBox::actionsBeforeTimeStep(), DPM::actionsBeforeTimeStep(), SmoothChute::actionsBeforeTimeStep(), ForceLawsMPI2Test::actionsBeforeTimeStep(), Chutebelt::actionsBeforeTimeStep(), DrumRot::actionsBeforeTimeStep(), RotatingDrum::actionsBeforeTimeStep(), PeriodicWallsWithSlidingFrictionUnitTest::actionsBeforeTimeStep(), SaveCountUnitTest::actionsBeforeTimeStep(), AirySavageHutter::actionsOnRestart(), Chutebelt::actionsOnRestart(), DrumRot::actionsOnRestart(), BaseCluster::actionsOnRestart(), ConstantMassFlowMaserBoundary::activateMaser(), SubcriticalMaserBoundary::activateMaser(), SubcriticalMaserBoundaryTEST::activateMaser(), IntersectionOfWalls::add3PointObject(), ChutePeriodic::add_flow_particles(), PossibleContactList::add_PossibleContact(), ParticleHandler::addExistingObject(), Chute::addFlowParticlesCompactly(), PolydisperseInsertionBoundary::addGenerandum(), ParticleHandler::addGhostObject(), LocalExpansion::addLocalExpansionCoefficients(), Multipole::addMultipoleCoefficients(), ParticleHandler::addObject(), WallHandler::addObject(), addObject(), NautaMixer::addParticles(), NautaMixer::addParticlesAtWall(), BaseWall::addParticlesAtWall(), Domain::addParticlesToLists(), ConstantMassFlowMaserBoundary::addParticleToMaser(), SubcriticalMaserBoundary::addParticleToMaser(), IntersectionOfWalls::addPlate(), NautaMixer::addSpeciesAndSetTimeStepAndSaveCount(), Thermal< Particle >::addTemperature(), IntersectionOfWalls::addTetra(), IntersectionOfWalls::addTetraSTL(), helpers::addToFile(), Membrane::applyPressure(), HGridOptimiser::applyStep(), Membrane::Edge::applyStretchForce(), AxisymmetricIntersectionOfWalls::AxisymmetricIntersectionOfWalls(), BaseBoundary::BaseBoundary(), BaseCG::BaseCG(), BaseCluster::BaseCluster(), BaseClusterInsertionBoundary::BaseClusterInsertionBoundary(), BaseHandler< T >::BaseHandler(), BaseInteractable::BaseInteractable(), BaseParticle::BaseParticle(), BaseSpecies::BaseSpecies(), BaseWall::BaseWall(), BasicIntersectionOfWalls::BasicIntersectionOfWalls(), BasicUnionOfWalls::BasicUnionOfWalls(), SolidBag::bendBag(), BondedInteraction::BondedInteraction(), BoundaryHandler::BoundaryHandler(), HGridOptimiser::calcDfDx(), HGridOptimiser::calculateDiffWork(), BaseCluster::calculateTimeStep(), HGridOptimiser::calculateWork(), CFile::CFile(), ChargedBondedInteraction::ChargedBondedInteraction(), mathsFunc::chebyshev(), Funnel::check_funnel(), Beam::checkBeamDeflection(), DeletionBoundary::checkBoundaryAfterParticleMoved(), SubcriticalMaserBoundaryTEST::checkBoundaryAfterParticleMoved(), StressStrainControlBoundary::checkBoundaryAfterParticlesMove(), DropletBoundary::checkBoundaryAfterParticlesMove(), SubcriticalMaserBoundaryTEST::checkBoundaryAfterParticlesMove(), FixedClusterInsertionBoundary::checkBoundaryBeforeTimeStep(), InsertionBoundary::checkBoundaryBeforeTimeStep(), RandomClusterInsertionBoundary::checkBoundaryBeforeTimeStep(), MeshTriangle::checkInteractions(), HGridOptimiser::checkLimit(), MercuryBase::checkParticleForInteractionLocal(), DPMBase::checkSettings(), checkTemplate(), Chute::Chute(), CircularPeriodicBoundary::CircularPeriodicBoundary(), Chute::cleanChute(), BaseCG::clear(), CLiveStatistics< T >::CLiveStatistics(), ClosedCSCRestart::ClosedCSCRestart(), ClosedCSCRun::ClosedCSCRun(), ClosedCSCStats::ClosedCSCStats(), ClosedCSCWalls::ClosedCSCWalls(), ConstantMassFlowMaserBoundary::closeMaser(), ClumpParticle::ClumpParticle(), ClusterGenerator::ClusterGenerator(), Coil::Coil(), commandLineCG(), helpers::compare(), compareParticles(), ChargedBondedInteraction::computeAdhesionForce(), DPMBase::computeAllForces(), Mercury3Dclump::computeAllForces(), LinearPlasticViscoelasticNormalSpecies::computeBondNumberMax(), SuperQuadricParticle::computeContactPoint(), ScaleCoupling< M, O >::computeCouplingForce(), ScrewsymmetricIntersectionOfWalls::computeDeltaZ(), computeFFc(), Box::computeFlow(), FrictionInteraction::computeFrictionForce(), BaseCluster::computeInternalStructure(), ParticleHandler::computeLargestParticle(), SuperQuadricParticle::computeMass(), ScaleCoupling< M, O >::computeNodalCouplingForces(), SinterInteraction::computeNormalForce(), DPMBase::computeOneTimeStep(), SCoupling< M, O >::computeOneTimeStepForSCoupling(), computeSimpleFFc(), HertzianSinterInteraction::computeSinterForce(), SlidingFrictionInteraction::computeSlidingSpringSuperQuadric(), ParticleHandler::computeSmallestParticle(), HertzianSinterNormalSpecies::computeTimeStep(), SinterNormalSpecies::computeTimeStep(), Mercury3D::computeWallForces(), SmallMatrix< numberOfRows, numberOfColumns >::computeWedgeStuffVector(), ConstantMassFlowMaserBoundary::ConstantMassFlowMaserBoundary(), DPMBase::constructor(), MercuryLogo::constructTextAsParticles(), PSD::convertCumulativeToCumulativeNumberDistribution(), PSD::convertProbabilityDensityToProbabilityDensityNumberDistribution(), PSDContinuous::convertSubtractiveNumberToVolume(), PSDContinuous::convertSubtractiveToCumulative(), PSDContinuous::convertSubtractiveVolumeToNumber(), AngledPeriodicBoundary::copy(), PolydisperseInsertionBoundary::copy(), CFile::copy(), CFile::copy_data(), CFile::copy_fstat(), SubcriticalMaserBoundaryTEST::copyExtraParticles(), MPIInteraction< NormalForceInteraction, FrictionForceInteraction, AdhesiveForceInteraction >::copyFromInteraction(), MixedSpecies< NormalForceSpecies, FrictionForceSpecies, AdhesiveForceSpecies >::copyInto(), Species< NormalForceSpecies, FrictionForceSpecies, AdhesiveForceSpecies >::copyInto(), SolidProblem< ELEMENT_TYPE >::countPinned(), CoupledBeam::CoupledBeam(), CoupledProblem::CoupledProblem(), Funnel::create_funnel(), Slide::create_rough_wall(), Chute::createBottom(), CurvyChute::createBottom(), DomainHandler::createMesh(), BaseInteraction::createMPIInteractionDataArray(), BoundaryHandler::createObject(), ParticleHandler::createObject(), WallHandler::createObject(), PSDContinuous::createPSDFromRadiiAndProbabilities(), CSCInit::CSCInit(), CSCRestart::CSCRestart(), CSCStats::CSCStats(), CSCWalls::CSCWalls(), CubeDeletionBoundary::CubeDeletionBoundary(), PSD::cutHighSizeRatio(), PSD::cutoffCumulativeNumber(), DataFiles::DataFiles(), SubcriticalMaserBoundary::deactivateMaser(), SubcriticalMaserBoundaryTEST::deactivateMaser(), Domain::debugInformation(), DPMBase::decompose(), BaseInteraction::deleteMPIInteractionDataArray(), DeletionBoundary::DeletionBoundary(), SmallMatrix< numberOfRows, numberOfColumns >::determinant(), MPIContainer::directReceive(), MPIContainer::directSend(), DomainHandler::DomainHandler(), Box::downwardPass(), ElementAnalysis::ElementAnalysis(), CGHandler::evaluateDataFiles(), CGHandler::evaluateRestartFiles(), SubcriticalMaserBoundaryTEST::extendBottom(), NurbsUtils::extendKnotVector(), FileReader::FileReader(), DPMBase::fillDomainWithParticles(), PeriodicBoundaryHandler::findNewParticle(), DPMBase::findNextExistingDataFile(), FixedClusterInsertionBoundary::FixedClusterInsertionBoundary(), MembraneSelfTest::fixMembraneEdges(), Domain::flushParticlesFromList(), LiquidMigrationLSInteraction::form(), LiquidMigrationWilletInteraction::form(), InsertionBoundary::generateParticle(), PolydisperseInsertionBoundary::generateParticle(), DPMBase::get1DParametersFromRunNumber(), DPMBase::get2DParametersFromRunNumber(), DPMBase::get3DParametersFromRunNumber(), SolidProblem< ELEMENT_TYPE >::get_x(), CoupledBeam::getBeamDeflection(), SphericalIndenter::getBedHeight(), SinterNormalSpecies::getCollisionTime(), LinearPlasticViscoelasticNormalSpecies::getCollisionTime(), LinearViscoelasticNormalSpecies::getCollisionTime(), SmallMatrix< numberOfRows, numberOfColumns >::getColumn(), Quaternion::getComponent(), Vec3D::getComponent(), SuperQuadricParticle::getContactPointPlanB(), NurbsSurface::getDistance(), AxisymmetricIntersectionOfWalls::getDistanceAndNormal(), HorizontalBaseScrew::getDistanceAndNormal(), ScrewsymmetricIntersectionOfWalls::getDistanceAndNormal(), BasicIntersectionOfWalls::getDistanceAndNormal(), SimpleDrumSuperquadrics::getDistanceAndNormal(), VChute::getDistanceAndNormal(), IntersectionOfWalls::getDistanceAndNormal(), Screw::getDistanceAndNormalLabCoordinates(), BaseWall::getDistanceNormalOverlapSuperquadric(), SimpleDrumSuperquadrics::getDistanceNormalOverlapSuperquadric(), SolidProblem< ELEMENT_TYPE >::getDomainSize(), BaseInteraction::getEffectiveMass(), BaseInteraction::getEffectiveRadius(), ChargedBondedInteraction::getElasticEnergy(), SCoupling< M, O >::getElementBoundingBox(), ParticleHandler::getFastestParticle(), ParticleHandler::getFastestParticleLocal(), BaseWall::getFurthestPointSuperQuadric(), ParticleHandler::getHighestPositionComponentParticle(), ParticleHandler::getHighestPositionComponentParticleLocal(), ParticleHandler::getHighestVelocityComponentParticle(), ParticleHandler::getHighestVelocityComponentParticleLocal(), BaseInteraction::getI(), BaseInteraction::getInteractionDetails(), BaseWall::getInteractionWith(), MeshTriangle::getInteractionWith(), BaseWall::getInteractionWithSuperQuad(), ParticleSpecies::getLargestInverseParticleMassLocal(), ParticleHandler::getLargestParticle(), getLinearFit(), LiquidMigrationPeriodicBoundaryInteraction::getLiquidBridgeVolume(), LiquidMigrationPeriodicBoundaryInteraction::getLiquidFilmVolume(), ParticleHandler::getLowestPositionComponentParticle(), ParticleHandler::getLowestPositionComponentParticleLocal(), ParticleHandler::getLowestVelocityComponentParticle(), ParticleHandler::getLowestVelocityComponentParticleLocal(), helpers::getMaximumNumberOfOMPThreads(), Sintering::getMeanPlasticOverlap(), regimeForceUnitTest::getMeanRelativeContactRadius(), SpeciesHandler::getMixedObject(), getName(), PossibleContact::getNext(), RNG::getNormalVariate(), ParticleHandler::getNumberOfRealObjectsLocal(), BaseHandler< T >::getObject(), BasicIntersectionOfWalls::getObject(), BasicUnionOfWalls::getObject(), BaseHandler< T >::getObjectById(), BaseHandler< T >::getObjectsById(), HGridOptimiser::getOptimalDistribution(), PossibleContact::getOtherParticle(), BaseInteraction::getOverlapVolume(), BaseInteraction::getP(), ParticleHandler::getParticleAttribute(), ParticleHandler::getParticleAttributeLocal(), InsertionBoundary::getParticleToCopy(), helpers::getPath(), TimeDependentPeriodicBoundary::getPlanewiseShift(), RNG::getPoissonVariate(), PossibleContact::getPrevious(), PSDContinuous::getQuantile(), PSD::getRadiusByQuantile(), RNG::getRandomNumber(), SmallMatrix< numberOfRows, numberOfColumns >::getRow(), helpers::getSaveCountFromNumberOfSavesAndTimeMaxAndTimeStep(), SCoupling< M, O >::getSCoupledElements(), ParticleHandler::getSmallestParticle(), Time2Finish::getTime2Finish(), ChuteWithHopper::getTimeStepRatio(), AreaVTK::getTotalsurfaceAreaFromFile(), BaseParticle::getVolume(), SuperQuadricParticle::getVolume(), ParticleSpecies::getVolumeFromRadius(), DPMBase::getWallsWriteVTK(), Mercury3DRestart::getWallTime(), helpers::gnuplot(), mathsFunc::goldenSectionSearch(), HGridOptimiser::goldenSectionSearch(), GranuDrum::GranuDrum(), GranuHeap::GranuHeap(), helpers::readFromCommandLine< std::string >(), HGrid::HGrid(), Mercury3D::hGridFindContactsWithTargetCell(), Mercury2D::hGridFindContactsWithTargetCell(), Mercury2D::hGridFindParticleContacts(), Mercury3D::hGridFindParticleContacts(), Mercury3D::hGridGetInteractingParticleList(), Mercury2D::hGridHasParticleContacts(), Mercury3D::hGridHasParticleContacts(), MercuryBase::hGridNeedsRebuilding(), MercuryBase::hGridRebuild(), HGridOptimiser::histNumberParticlesPerCell(), HorizontalBaseScrew::HorizontalBaseScrew(), HorizontalScrew::HorizontalScrew(), HstopCurve(), Indenter::Indenter(), InfiniteWall::InfiniteWall(), HGrid::info(), InitialConditions< SpeciesType >::InitialConditions(), HGridOptimiser::initialise(), ScaleCoupling< M, O >::initialiseCoupledElements(), HGridOptimiser::initialisePolyFunc(), DPMBase::initialiseSolve(), MembraneDemo::initializeSpecies(), MembraneSelfTest::initializeSpecies(), InsertionBoundary::insertParticle(), BaseCluster::insertParticles(), InsertionBoundary::insertParticles(), HGrid::insertParticleToHgrid(), InteractionHandler::InteractionHandler(), IntersectionOfWalls::IntersectionOfWalls(), BaseWall::intersectVTK(), HorizontalMixer::introduceParticlesAtWall(), ContactDetectionIntersectionOfWallsTest::introduceParticlesAtWall(), HorizontalMixer::introduceParticlesInDomain(), HorizontalMixer::introduceSingleParticle(), MatrixSymmetric3D::inverse(), SmallMatrix< numberOfRows, numberOfColumns >::inverse(), ConstantMassFlowMaserBoundary::isCopying(), LawinenBox::LawinenBox(), LeesEdwardsBoundary::LeesEdwardsBoundary(), LeesEdwardsDemo::LeesEdwardsDemo(), SmallVector< numberOfRows >::length(), LevelSetWall::LevelSetWall(), LiquidMigrationLSInteraction::LiquidMigrationLSInteraction(), LiquidMigrationLSSpecies::LiquidMigrationLSSpecies(), load(), LoadClumps(), Membrane::loadFromSTL(), loadingTest(), LoadMass(), LoadPD(), LoadPebbles(), SolidProblem< ELEMENT_TYPE >::loadSolidMesh(), LoadTOI(), Membrane::loadVertexPositions(), main(), ChuteBottom::makeRoughBottom(), BaseVTKWriter< H >::makeVTKFileWithHeader(), VTKData::makeVTKFileWithHeader(), Membrane::Membrane(), Mercury2D::Mercury2D(), Mercury3D::Mercury3D(), MercuryBase::MercuryBase(), LinearPlasticViscoelasticNormalSpecies::mix(), MixedSpecies< NormalForceSpecies, FrictionForceSpecies, AdhesiveForceSpecies >::mixAll(), Species< NormalForceSpecies, FrictionForceSpecies, AdhesiveForceSpecies >::mixAll(), MixedSpecies< NormalForceSpecies, FrictionForceSpecies, AdhesiveForceSpecies >::MixedSpecies(), SubcriticalMaserBoundaryTEST::modifyPeriodicComplexity(), helpers::more(), TriangleMeshWall::moveVerticesToMatchVolume(), MovingWalls::MovingWalls(), MPIContainer::MPIContainer(), normalAndTangentialLoadingTest(), Quaternion::normalise(), Vec3D::normalise(), NurbsWall::NurbsWall(), objectivenessTest(), BaseParticle::oldRead(), BinaryReader::openFile(), NumericalVector< T >::operator()(), SmallVector< numberOfRows >::operator()(), SmallMatrix< numberOfRows, numberOfColumns >::operator()(), NumericalVector< T >::operator*(), SmallMatrix< numberOfRows, numberOfColumns >::operator*(), operator*(), NumericalVector< T >::operator+(), NumericalVector< T >::operator+=(), NumericalVector< T >::operator-(), NumericalVector< T >::operator-=(), operator<<(), BoundaryHandler::operator=(), DomainHandler::operator=(), InteractionHandler::operator=(), IntersectionOfWalls::operator=(), ParticleHandler::operator=(), PeriodicBoundaryHandler::operator=(), SpeciesHandler::operator=(), TriangulatedWall::operator=(), WearableTriangulatedWall::operator=(), operator>>(), SmallMatrix< numberOfRows, numberOfColumns >::operator[](), NumericalVector< T >::operator[](), SmallVector< numberOfRows >::operator[](), CGFields::OrientationField::OrientationField(), STLReader::output(), DPMBase::outputInteractionDetails(), DPMBase::outputXBallsData(), LiquidMigrationSelfTest::outputXBallsData(), SuperQuadricParticle::overlapFromContactPoint(), ParabolaChute::ParabolaChute(), ParhamiMcMeekingSinterInteraction::ParhamiMcMeekingSinterInteraction(), ParticleBeam::ParticleBeam(), ParticleCreation::ParticleCreation(), ParticleHandler::ParticleHandler(), ParticleInclusion::ParticleInclusion(), particleParticleTest(), SubcriticalMaserBoundaryTEST::performActionsBeforeAddingParticles(), PeriodicBoundary::PeriodicBoundary(), PeriodicBoundaryHandler::PeriodicBoundaryHandler(), SolidProblem< ELEMENT_TYPE >::pinBoundaries(), SolidProblem< ELEMENT_TYPE >::pinBoundary(), PointIsAboveCurve(), PolydisperseInsertionBoundary::PolydisperseInsertionBoundary(), PossibleContactList::PossibleContactList(), SolidProblem< ELEMENT_TYPE >::prepareForSolve(), PSD::printPSD(), DPMBase::printTime(), LawinenBox::printTime(), GranuDrum::printTime(), GranuHeap::printTime(), ShearStage::printTime(), ClosedCSCRestart::printTime(), ClosedCSCRun::printTime(), ClosedCSCStats::printTime(), ClosedCSCWalls::printTime(), CSCInit::printTime(), CSCRestart::printTime(), CSCRun::printTime(), CSCStats::printTime(), CSCWalls::printTime(), HorizontalMixer::printTime(), NozzleDemo::printTime(), Drum::printTime(), RotatingDrumWet::printTime(), VerticalMixer::printTime(), ForceLawsMPI2Test::printTime(), LiquidMigrationMPI2Test::printTime(), ParticleInclusion::printTime(), ParticleBeam::printTime(), SilbertPeriodic::printTime(), CLiveStatistics< T >::printTime(), statistics_while_running< T >::printTime(), vibratedBed::printTime(), ConstantMassFlowMaserBoundaryMixedSpeciesSelfTest::printTime(), ConstantMassFlowMaserSelfTest::printTime(), CubeDeletionBoundarySelfTest::printTime(), DeletionBoundarySelfTest::printTime(), DistributionSelfTest::printTime(), DistributionToPSDSelfTest::printTime(), InsertionBoundarySelfTest::printTime(), MultiplePSDSelfTest::printTime(), NozzleSelfTest::printTime(), PolydisperseInsertionBoundarySelfTest::printTime(), PSDManualInsertionSelfTest::printTime(), PSDSelfTest::printTime(), LiquidMigrationSelfTest::printTime(), TwoParticleElasticCollisionInteraction::printTime(), InitialConditions< SpeciesType >::printTime(), SinterPair::printTime(), SphericalIndenter::printTime(), DPM::printTime(), protectiveWall::printTime(), EvaporationAndHeatTest::printTime(), RandomClusterInsertionBoundarySelfTest::printTime(), viscoElasticUnitTest::printTime(), LiquidMigrationPeriodicBoundaryInteraction::printTime(), MultiParticlesInsertion::printTime(), regimeForceUnitTest::printTime(), TangentialSpringEnergyConservationUnitTest::printTime(), BaseCluster::printTime(), Chute::printTime(), PeriodicBoundaryHandler::processLocalGhostParticles(), PeriodicBoundaryHandler::processLocalInteractionData(), Domain::processReceivedBoundaryParticleData(), PeriodicBoundaryHandler::processReceivedGhostParticleData(), Domain::processReceivedInteractionData(), HGridOptimiser::radius2Cell(), RandomClusterInsertionBoundary::RandomClusterInsertionBoundary(), FileReader::read(), csvReader::read(), BaseHandler< T >::read(), InteractionHandler::read(), ConstantMassFlowMaserBoundary::read(), SubcriticalMaserBoundary::read(), SubcriticalMaserBoundaryTEST::read(), Domain::read(), SuperQuadricParticle::read(), Membrane::read(), DPMBase::read(), Funnel::read(), Chute::read(), BoundaryHandler::readAndAddObject(), InteractionHandler::readAndAddObject(), SpeciesHandler::readAndAddObject(), ParticleHandler::readAndCreateObject(), WallHandler::readAndCreateObject(), WallHandler::readAndCreateOldObject(), DPMBase::readArguments(), helpers::readArrayFromCommandLine(), helpers::readArrayFromFile(), DPMBase::readDataFile(), helpers::readFromCommandLine(), helpers::readFromFile(), DPMBase::readNextArgument(), SilbertPeriodic::readNextArgument(), Mercury3DRestart::readNextArgument(), DPMBase::readNextDataFile(), DPMBase::readNextFStatFile(), SpeciesHandler::readOldObject(), DPMBase::readParAndIniFiles(), DPMBase::readRestartFile(), WallHandler::readTriangleWall(), helpers::readVectorFromCommandLine(), TriangulatedWall::readVTK(), MPIContainer::receive(), regimeForceUnitTest::regimeForceUnitTest(), RegimeSinterInteraction::RegimeSinterInteraction(), PossibleContactList::remove_ParticlePosibleContacts(), ScaleCoupling< M, O >::CoupledParticle::removeCoupledElement(), ParticleHandler::removeGhostObject(), BaseInteractable::removeInteraction(), BaseHandler< T >::removeLastObject(), BaseHandler< T >::removeObject(), ParticleHandler::removeObject(), DPMBase::removeOldFiles(), ClosedCSCRestart::restart(), CSCRestart::restart(), CGHandler::restart(), RestrictedWall::RestrictedWall(), Detail::round(), FlowRule::run(), statistics_while_running< T >::run(), AngleOfRepose::run(), vibratedBed::run(), LiquidMigrationLSInteraction::rupture(), LiquidMigrationWilletInteraction::rupture(), CSCInit::save(), Membrane::saveAsSTL(), SaveCountUnitTest::SaveCountUnitTest(), ParticleHandler::saveNumberPSDtoCSV(), SolidProblem< ELEMENT_TYPE >::saveSolidMesh(), ClosedCSCWalls::saveWalls(), CSCWalls::saveWalls(), ScaleCoupledBeam::ScaleCoupledBeam(), SingleParticle< SpeciesType >::scaleMass(), InitialConditions< SpeciesType >::scaleMass(), Screw::Screw(), ScrewsymmetricIntersectionOfWalls::ScrewsymmetricIntersectionOfWalls(), MPIContainer::send(), Domain::sendAndReceiveCount(), StressStrainControlBoundary::set(), NurbsSurface::set(), ParhamiMcMeekingSinterSpecies::set(), PeriodicBoundary::set(), InfiniteWall::set(), Funnel::set_funfr(), AxisymmetricHopper::set_FunnelInflowHeight(), Chutebelt::set_particle_numbers(), Cstatic2d::set_particle_properties(), Cstatic3D::set_particle_properties(), Chutebelt::set_radiusLarge(), AngleOfRepose::set_study(), SilbertPeriodic::set_study(), Slide::set_Walls(), ChargedBondedSpecies::setAdhesionForceMax(), ReversibleAdhesiveSpecies::setAdhesionForceMax(), ChargedBondedSpecies::setAdhesionStiffness(), ReversibleAdhesiveSpecies::setAdhesionStiffness(), HeatFluidCoupledSpecies< NormalForceSpecies >::setAmbientEquilibriumMoistureContent(), HeatFluidCoupledSpecies< NormalForceSpecies >::setAmbientHumidity(), HeatFluidCoupledSpecies< NormalForceSpecies >::setAmbientTemperature(), HeatFluidCoupledSpecies< NormalForceSpecies >::setAmbientVapourConcentration(), SuperQuadricParticle::setAxesAndExponents(), CurvyChute::setBasalDensity(), CurvyChute::setBasalDisorder(), CurvyChute::setBasalSizeDispersity(), SolidProblem< ELEMENT_TYPE >::setBodyForceAsGravity(), BondedSpecies::setBondDissipation(), ChargedBondedSpecies::setBondDissipation(), BondedSpecies::setBondForceMax(), ChargedBondedSpecies::setBondForceMax(), ChargedBondedSpecies::setCharge(), Chute::setChuteAngle(), Chute::setChuteAngleAndMagnitudeOfGravity(), ChuteWithHopper::setChuteLength(), BaseCluster::setClusterId(), SlidingFrictionSpecies::setCollisionTimeAndNormalAndTangentialRestitutionCoefficient(), SlidingFrictionSpecies::setCollisionTimeAndNormalAndTangentialRestitutionCoefficientNoDispt(), LinearViscoelasticNormalSpecies::setCollisionTimeAndRestitutionCoefficient(), SPHNormalSpecies::setCollisionTimeAndRestitutionCoefficient(), BaseCluster::setCollisionTimeOverTimeStep(), SinterLinNormalSpecies::setComplianceZero(), SinterNormalSpecies::setComplianceZero(), Quaternion::setComponent(), Vec3D::setComponent(), SinterNormalSpecies::setConstantC1(), BaseNormalForce::setConstantRestitution(), LiquidBridgeWilletSpecies::setContactAngle(), LiquidMigrationLSSpecies::setContactAngle(), LiquidMigrationWilletSpecies::setContactAngle(), ScaleCoupling< M, O >::CoupledParticle::setCoupledElement(), SolidProblem< ELEMENT_TYPE >::setDensity(), ParticleSpecies::setDensity(), FlowRule::setDensityVariation(), HertzianSinterNormalSpecies::setDissipation(), LinearPlasticViscoelasticNormalSpecies::setDissipation(), LinearViscoelasticNormalSpecies::setDissipation(), SinterLinNormalSpecies::setDissipation(), SinterNormalSpecies::setDissipation(), LiquidMigrationLSSpecies::setDistributionCoefficient(), LiquidMigrationWilletSpecies::setDistributionCoefficient(), PSD::setDistributionNormal(), DPMBase::setDomain(), BaseCluster::setDomainLimits(), HertzianBSHPViscoelasticNormalSpecies::setEffectiveElasticModulusAndRestitutionCoefficient(), MindlinSpecies::setEffectiveShearModulus(), SolidProblem< ELEMENT_TYPE >::setElasticModulus(), BaseCluster::setEnergyRatioTolerance(), HeatFluidCoupledSpecies< NormalForceSpecies >::setEvaporationCoefficientA(), HeatFluidCoupledSpecies< NormalForceSpecies >::setEvaporationCoefficientB(), SuperQuadricParticle::setExponents(), CGFields::LiquidMigrationFields::setFields(), CGFields::OrientationField::setFields(), Chute::setFixedParticleRadius(), Chute::setFixedParticleSpacing(), SinterLinNormalSpecies::setFluidity(), PolydisperseInsertionBoundary::setGenerandum(), AxisymmetricWallSelfTest::setGeometry(), BaseCG::setH(), ThermalSpecies< NormalForceSpecies >::setHeatCapacity(), ChuteWithHopper::setHopper(), ChuteWithHopper::setHopperShift(), BaseCG::setHX(), BaseCG::setHY(), BaseCG::setHZ(), BaseParticle::setIndSpecies(), BaseWall::setIndSpecies(), Chute::setInflowParticleRadius(), Chute::setInflowVelocity(), Chute::setInflowVelocityVariance(), ChargedBondedSpecies::setInteractionDistance(), ReversibleAdhesiveSpecies::setInteractionDistance(), DomainHandler::setInteractionDistance(), DPMBase::setInteractionsWriteVTK(), SinterNormalSpecies::setInverseSinterViscosity(), SolidProblem< ELEMENT_TYPE >::setIsPinned(), HeatFluidCoupledSpecies< NormalForceSpecies >::setLatentHeatVaporization(), LiquidBridgeWilletSpecies::setLiquidBridgeVolume(), LiquidMigrationLSSpecies::setLiquidBridgeVolumeMax(), LiquidMigrationWilletSpecies::setLiquidBridgeVolumeMax(), LiquidMigrationLSSpecies::setLiquidBridgeVolumeMin(), LiquidMigrationWilletSpecies::setLiquidBridgeVolumeMin(), HeatFluidCoupledSpecies< NormalForceSpecies >::setLiquidDensity(), File::setlogarithmicSaveCount(), BaseParticle::setMass(), MeshTriangle::setMass(), BaseParticle::setMassForP3Statistics(), HeatFluidCoupledSpecies< NormalForceSpecies >::setMassTransferCoefficient(), DPMBase::setMax(), Chute::setMaxInflowParticleRadius(), DPMBase::setMeanVelocityAndKineticEnergy(), DPMBase::setMin(), Chute::setMinInflowParticleRadius(), File::setName(), SolidProblem< ELEMENT_TYPE >::setName(), PossibleContact::setNextPosition(), DPMBase::setNumberOfDomains(), BaseCluster::setNumberOfInternalStructurePoints(), DPMBase::setNumberOfOMPThreads(), BaseCluster::setNumberOfParticles(), RandomClusterInsertionBoundary::setNumberOfParticlesPerCluster(), StatisticsVector< T >::setNZ(), SolidProblem< ELEMENT_TYPE >::setOomphGravity(), SinterNormalSpecies::setParhamiMcKeeping(), DPMBase::setParticleDimensions(), Membrane::setParticleRadius(), InsertionBoundary::setParticleToCopy(), HertzianSinterNormalSpecies::setPlasticParameters(), LinearPlasticViscoelasticNormalSpecies::setPlasticParameters(), SinterNormalSpecies::setPlasticParameters(), IntersectionOfWalls::setPointsAndLines(), SolidProblem< ELEMENT_TYPE >::setPoissonRatio(), MindlinSpecies::setPoissonRatio(), FlowRule::setPolydispersity(), FixedClusterInsertionBoundary::setPositionsAndRadii(), PossibleContact::setPreviousPosition(), Calibration::setPSD(), Material::setPSD(), InsertionBoundary::setPSD(), PSD::setPSDFromCSV(), SimpleDrumSuperquadrics::setRadius(), SuperQuadricParticle::setRadius(), SphericalWall::setRadius(), BaseCluster::setRadiusCluster(), BaseClusterInsertionBoundary::setRadiusMicroParticle(), BaseCluster::setRadiusParticle(), Domain::setRange(), FrictionSpecies::setRollingDissipation(), MindlinRollingTorsionSpecies::setRollingDissipation(), FrictionSpecies::setRollingFrictionCoefficient(), MindlinRollingTorsionSpecies::setRollingFrictionCoefficient(), FrictionSpecies::setRollingFrictionCoefficientStatic(), MindlinRollingTorsionSpecies::setRollingFrictionCoefficientStatic(), FrictionSpecies::setRollingStiffness(), Chute::setRoughBottomType(), SinterLinNormalSpecies::setSeparationDis(), SinterNormalSpecies::setSeparationDis(), LevelSetWall::setShapeCube(), LevelSetWall::setShapeCylinder(), LevelSetWall::setShapeDiamond(), LevelSetWall::setShapeFourSided(), LevelSetWall::setShapeSphere(), SinterLinNormalSpecies::setSinterAdhesion(), SinterNormalSpecies::setSinterAdhesion(), SinterNormalSpecies::setSinterForceAndTime(), HertzianSinterNormalSpecies::setSinterRate(), SinterLinNormalSpecies::setSinterRate(), SinterNormalSpecies::setSinterRate(), SinterLinNormalSpecies::setSinterType(), SinterNormalSpecies::setSinterType(), Penetration::setSize(), BaseCluster::setSizeDispersityParticle(), MindlinSpecies::setSlidingDissipation(), SlidingFrictionSpecies::setSlidingDissipation(), MindlinSpecies::setSlidingFrictionCoefficient(), SlidingFrictionSpecies::setSlidingFrictionCoefficient(), MindlinSpecies::setSlidingFrictionCoefficientStatic(), SlidingFrictionSpecies::setSlidingFrictionCoefficientStatic(), SlidingFrictionSpecies::setSlidingStiffness(), DPMBase::setSoftStop(), SolidProblem< ELEMENT_TYPE >::setSolidCubicMesh(), BaseCluster::setSpecies(), BaseInteractable::setSpecies(), Calibration::setSpecies(), Material::setSpecies(), Membrane::setSpringConstant(), LinearViscoelasticNormalSpecies::setStiffness(), SolidBag::setSuctionAsBodyForce(), CurvyChute::setSurface(), LiquidBridgeWilletSpecies::setSurfaceTension(), LiquidMigrationLSSpecies::setSurfaceTension(), LiquidMigrationWilletSpecies::setSurfaceTension(), SinterLinNormalSpecies::setSurfTension(), SinterNormalSpecies::setSurfTension(), DPMBase::setSystemDimensions(), Thermal< Particle >::setTemperature(), ThermalSpecies< NormalForceSpecies >::setThermalConductivity(), ChuteBottom::setThickness(), Membrane::setThickness(), Thermal< Particle >::setTimeDependentTemperature(), DPMBase::setTimeMax(), DPMBase::setTimeStep(), FrictionSpecies::setTorsionDissipation(), MindlinRollingTorsionSpecies::setTorsionDissipation(), FrictionSpecies::setTorsionFrictionCoefficient(), MindlinRollingTorsionSpecies::setTorsionFrictionCoefficient(), FrictionSpecies::setTorsionFrictionCoefficientStatic(), MindlinRollingTorsionSpecies::setTorsionFrictionCoefficientStatic(), FrictionSpecies::setTorsionStiffness(), ChutePeriodic::setup(), LawinenBox::setupInitialConditions(), ClosedCSCWalls::setupInitialConditions(), CSCInit::setupInitialConditions(), CSCRun::setupInitialConditions(), CSCWalls::setupInitialConditions(), AirySavageHutter::setupInitialConditions(), MercuryLogo::setupInitialConditions(), SmoothChute::setupInitialConditions(), my_problem::setupInitialConditions(), free_cooling::setupInitialConditions(), restart::setupInitialConditions(), NozzleDemo::setupInitialConditions(), RotatingDrumWet::setupInitialConditions(), Funnel::setupInitialConditions(), Binary::setupInitialConditions(), ForceLawsMPI2Test::setupInitialConditions(), LiquidMigrationMPI2Test::setupInitialConditions(), CubicCell::setupInitialConditions(), FreeCooling2DinWalls::setupInitialConditions(), LeesEdwardsDemo::setupInitialConditions(), MarbleRun::setupInitialConditions(), StressStrainControl::setupInitialConditions(), TimeDependentPeriodicBoundaryTest::setupInitialConditions(), SilbertPeriodic::setupInitialConditions(), GetDistanceAndNormalForIntersectionOfWalls::setupInitialConditions(), GetDistanceAndNormalForScrew::setupInitialConditions(), GetDistanceAndNormalForTriangleWall::setupInitialConditions(), Drum::setupInitialConditions(), Penetration::setupInitialConditions(), Silo::setupInitialConditions(), SegregationPeriodic::setupInitialConditions(), Chutebelt::setupInitialConditions(), LeesEdwardsSelfTest::setupInitialConditions(), NozzleSelfTest::setupInitialConditions(), PSDSelfTest::setupInitialConditions(), NewtonsCradleSelfTest::setupInitialConditions(), SquarePacking::setupInitialConditions(), ParticleCreation::setupInitialConditions(), DPM::setupInitialConditions(), TwoParticleElasticCollisionInteraction::setupInitialConditions(), CoilSelfTest::setupInitialConditions(), GetDistanceAndNormalForTriangleWalls::setupInitialConditions(), TriangulatedScrewSelfTest::setupInitialConditions(), TriangulatedStepWallSelfTest::setupInitialConditions(), TriangulatedWallSelfTest::setupInitialConditions(), UnionOfWalls::setupInitialConditions(), DrumRot::setupInitialConditions(), RotatingDrum::setupInitialConditions(), SingleParticle< SpeciesType >::setupInitialConditions(), InitialConditions< SpeciesType >::setupInitialConditions(), SphericalIndenter::setupInitialConditions(), Wall::setupInitialConditions(), BouncingSuperQuadric::setupInitialConditions(), EllipticalSuperQuadricCollision::setupInitialConditions(), SlidingSpheresUnitTest::setupInitialConditions(), SphericalSuperQuadricCollision::setupInitialConditions(), ContactDetectionNormalSpheresTest::setupInitialConditions(), ContactDetectionRotatedSpheresTest::setupInitialConditions(), VisualisationTest::setupInitialConditions(), ArcWallUnitTest::setupInitialConditions(), HertzianSinterForceUnitTest::setupInitialConditions(), MovingWalls::setupInitialConditions(), MpiPeriodicBoundaryUnitTest::setupInitialConditions(), BaseCluster::setupInitialConditions(), Chute::setupInitialConditions(), ChuteBottom::setupInitialConditions(), MembraneDemo::setUpMembrane(), MembraneSelfTest::setUpMembrane(), CoupledBeam::setupMercury(), CoupledBeam::setupOomph(), CoupledProblem::setupOomph(), ChargedBondedSpecies::setVanDerWaalsForceMax(), InsertionBoundary::setVariableVolumeFlowRate(), BaseCluster::setVelocityDampingModulus(), LiquidMigrationLSSpecies::setViscosity(), DPMBase::setWallsWriteVTK(), DPMBase::setXMax(), DPMBase::setXMin(), DPMBase::setYMax(), DPMBase::setYMin(), DPMBase::setZMax(), DPMBase::setZMin(), ShearStage::ShearStage(), Siegen::Siegen(), DPMBase::signalHandler(), SimpleDrumSuperquadrics::SimpleDrumSuperquadrics(), SineWall::SineWall(), SingleParticleIndenter::SingleParticleIndenter(), SinterPair::SinterPair(), Slide::Slide(), SmallMatrix< numberOfRows, numberOfColumns >::SmallMatrix(), SmallVector< numberOfRows >::SmallVector(), SolidBag::SolidBag(), SolidProblem< ELEMENT_TYPE >::SolidProblem(), SmallMatrix< numberOfRows, numberOfColumns >::solve(), VolumeCoupling::solveFirstHalfTimeStep(), solveQuad(), ScaleCoupling< M, O >::solveScaleCoupling(), VolumeCoupling::solveSecondHalfTimeStep(), SolidProblem< ELEMENT_TYPE >::solveSteady(), SCoupling< M, O >::solveSurfaceCoupling(), SCoupling< M, O >::solveSurfaceCouplingFixedSolid(), SolidProblem< ELEMENT_TYPE >::solveUnsteady(), CGCoordinates::spaceEvenly(), Species< NormalForceSpecies, FrictionForceSpecies, AdhesiveForceSpecies >::Species(), SpeciesHandler::SpeciesHandler(), SphericalIndenter::SphericalIndenter(), SphericalWall::SphericalWall(), Statistics(), statistics_while_running< T >::statistics_while_running(), StressStrainControlBoundary::StressStrainControlBoundary(), SubcriticalMaserBoundary::SubcriticalMaserBoundary(), SubcriticalMaserBoundaryTESTMPI2Test::SubcriticalMaserBoundaryTESTMPI2Test(), SuperQuadricParticle::SuperQuadricParticle(), SlidingSpheresUnitTest::test(), BoundingRadiusTester::test(), ContactDetectionNormalSpheresTest::test(), ContactDetectionRotatedSpheresTest::test(), ContactDetectionTester::test(), ContactDetectionWithWallTester::test(), InertiaTensorTester::test(), ShapeGradientHessianTester::test(), VolumeTest::test(), Packing::test(), HertzContactRestitutionUnitTest::test(), RNG::test(), test1(), test2(), testCGHandler(), ShapeGradientHessianTester::testCushion(), ShapeGradientHessianTester::testEllipsoid(), ContactDetectionTester::testEllipsoidsContact(), ContactDetectionWithWallTester::testEllipsoidsContact(), ShapeGradientHessianTester::testRoundedBeam(), ShapeGradientHessianTester::testSphere(), ContactDetectionTester::testSpheresContact(), ContactDetectionWithWallTester::testSpheresContact(), TimeDependentPeriodicBoundary::TimeDependentPeriodicBoundary(), TimeDependentPeriodicBoundary3DSelfTest::TimeDependentPeriodicBoundary3DSelfTest(), TimeDependentPeriodicBoundaryTest::TimeDependentPeriodicBoundaryTest(), transformMercuryToVTK(), Multipole::TranslateMultipoleExpansionTo(), TriangulatedWall::TriangulatedWall(), Tutorial11::Tutorial11(), Funnel::update_funnel(), ScaleCoupling< M, O >::updateCoupledElements(), DPMBase::updateGhostGrid(), PeriodicBoundaryHandler::updateMaserParticle(), Domain::updateParticlePosition(), PeriodicBoundaryHandler::updateParticles(), Domain::updateParticles(), PeriodicBoundaryHandler::updateParticleStatus(), MeshTriangle::updateVertexAndNormal(), Box::upwardPass(), MercuryBase::userHGridCellSize(), PSD::validateCumulativeDistribution(), PSDContinuous::validateCumulativeDistribution(), PSD::validateProbabilityDensityDistribution(), viscoElasticUnitTest::viscoElasticUnitTest(), wallParticleTest(), WearableNurbsWall::WearableNurbsWall(), WearableTriangulatedWall::WearableTriangulatedWall(), DataFiles::write(), InsertionBoundary::write(), PolydisperseInsertionBoundary::write(), Domain::write(), SuperQuadricParticle::writeDebugMessageMiddleOfLoop(), SuperQuadricParticle::writeDebugMessageStep1(), SuperQuadricParticle::writeDebugMessageStep2(), SuperQuadricParticle::writeDebugMessageStep3(), SingleParticle< SpeciesType >::writeEneTimeStep(), Mercury3DRestarter::writeOutputFiles(), Mercury3DRestart::writeOutputFiles(), CFile::writeP4C(), CFile::writeP4P(), CFile::writeP4W(), Calibration::writePSDToFile(), DPMBase::writePythonFileForVTKVisualisation(), CFile::writeRestart(), GranuDrum::writeResults(), HorizontalMixer::writeScript(), DataFiles::writeTimeStep(), LevelSetWall::writeToFile(), helpers::writeToFile(), ChutePeriodic::writeToLocalFolder(), SolidProblem< ELEMENT_TYPE >::writeToVTK(), BaseWall::writeVTK(), AxisymmetricIntersectionOfWalls::~AxisymmetricIntersectionOfWalls(), BaseBoundary::~BaseBoundary(), BaseCluster::~BaseCluster(), BaseHandler< T >::~BaseHandler(), BaseInteractable::~BaseInteractable(), BaseInteraction::~BaseInteraction(), BaseParticle::~BaseParticle(), BaseSpecies::~BaseSpecies(), BaseWall::~BaseWall(), BasicIntersectionOfWalls::~BasicIntersectionOfWalls(), BasicUnionOfWalls::~BasicUnionOfWalls(), BoundaryHandler::~BoundaryHandler(), CFile::~CFile(), ClusterGenerator::~ClusterGenerator(), Coil::~Coil(), CubeDeletionBoundary::~CubeDeletionBoundary(), DeletionBoundary::~DeletionBoundary(), DomainHandler::~DomainHandler(), DropletBoundary::~DropletBoundary(), FileReader::~FileReader(), HeaterBoundary::~HeaterBoundary(), HGrid::~HGrid(), HorizontalBaseScrew::~HorizontalBaseScrew(), HorizontalScrew::~HorizontalScrew(), InfiniteWall::~InfiniteWall(), InteractionHandler::~InteractionHandler(), IntersectionOfWalls::~IntersectionOfWalls(), LevelSetWall::~LevelSetWall(), LiquidMigrationLSInteraction::~LiquidMigrationLSInteraction(), LiquidMigrationLSSpecies::~LiquidMigrationLSSpecies(), MercuryBase::~MercuryBase(), MixedSpecies< NormalForceSpecies, FrictionForceSpecies, AdhesiveForceSpecies >::~MixedSpecies(), NurbsWall::~NurbsWall(), ParabolaChute::~ParabolaChute(), ParticleHandler::~ParticleHandler(), PeriodicBoundary::~PeriodicBoundary(), PeriodicBoundaryHandler::~PeriodicBoundaryHandler(), RestrictedWall::~RestrictedWall(), Screw::~Screw(), ScrewsymmetricIntersectionOfWalls::~ScrewsymmetricIntersectionOfWalls(), SimpleDrumSuperquadrics::~SimpleDrumSuperquadrics(), SineWall::~SineWall(), Species< NormalForceSpecies, FrictionForceSpecies, AdhesiveForceSpecies >::~Species(), SpeciesHandler::~SpeciesHandler(), SphericalWall::~SphericalWall(), SubcriticalMaserBoundaryTEST::~SubcriticalMaserBoundaryTEST(), SuperQuadricParticle::~SuperQuadricParticle(), TimeDependentPeriodicBoundary::~TimeDependentPeriodicBoundary(), TriangulatedWall::~TriangulatedWall(), WearableNurbsWall::~WearableNurbsWall(), and WearableTriangulatedWall::~WearableTriangulatedWall().

◆ loggerOutput

Declaration of the output functions.

If the output needs to be redirected, please swap the loggerOutput pointer to your preferred LoggerOutput instance, and make sure this exists until AFTER an std::exit() invocation. (e.g. clean up with std::atexit())

Referenced by Logger< L, ASSERTS >::if(), main(), and Logger< L, ASSERTS >::operator()().

◆ loggerOutputDefaultImpl

LoggerOutput loggerOutputDefaultImpl
Initial value:
}
static void printFatalError(const std::string &module, const std::string &msg, Flusher doFlush)
Prints messages of loglevel FATAL.
Definition: Logger.cc:206
static void printWarn(std::string module, std::string msg, Flusher doFlush)
Prints messages of loglevel WARN.
Definition: Logger.cc:103
static void printInfo(std::string module, std::string msg, Flusher doFlush)
Prints messages of loglevel INFO.
Definition: Logger.cc:76
static void printError(std::string module, std::string msg, Flusher doFlush)
Prints messages of loglevel ERROR.
Definition: Logger.cc:130

◆ VERBOSE

LL<Log::VERBOSE> VERBOSE

Verbose information.

Information which is not useful to anybody except those looking for weird behaviour. These should however still be clear in meaning.

Example: Finished creating a particle.

Default behaviour: ignore.

Referenced by ScaleCoupling< M, O >::computeCouplingForce(), ScaleCoupling< M, O >::computeNodalCouplingForces(), NurbsSurface::getDistance(), ScaleCoupling< M, O >::initialiseCoupledElements(), load(), LoadClumps(), main(), BaseHandler< T >::read(), ScaleCoupling< M, O >::CoupledParticle::removeCoupledElement(), ScaleCoupling< M, O >::CoupledParticle::setCoupledElement(), and ScaleCoupling< M, O >::updateCoupledElements().

◆ WARN