ObliqueImpactSelfTest.cpp File Reference

Classes

class  ObliqueImpactSelfTest
 

Functions

int main (int argc, char *argv[])
 

Function Documentation

◆ main()

int main ( int argc  ,
char argv[] 
)
42 {
43  logger(INFO, "Single particle hitting the bottom plate in an oblique impact");
44  // Make the problem and set the name
45  ObliqueImpactSelfTest ObliqueImpactSelfTestProblem;
46  ObliqueImpactSelfTestProblem.setName("ObliqueImpactSelfTest");
47 
48  //Set the species of the particle and wall, and its properties
50  species.setDensity(6./constants::pi);
51  ObliqueImpactSelfTestProblem.setParticleDimensions(3);
52  species.setEffectiveElasticModulusAndPoissonRatio(1e5, 0.3);
53 // species.setDissipation(0.2);
54 // species.setSlidingDissipation(0.9);
55  species.setSlidingFrictionCoefficient(0.1);
56  ObliqueImpactSelfTestProblem.speciesHandler.copyAndAddObject(species);
57 
58  //set the parameters for the solver
59  ObliqueImpactSelfTestProblem.setSaveCount(500);
60  ObliqueImpactSelfTestProblem.setFileType(FileType::ONE_FILE);
61  ObliqueImpactSelfTestProblem.fStatFile.setFileType(FileType::ONE_FILE);
62 // ObliqueImpactSelfTestProblem.wallHandler.setWriteVTK(FileType::NO_FILE);
63  ObliqueImpactSelfTestProblem.setTimeStep(0.25e-8);
64 
65  //solve the system, the single particle will now bounce on the plate
66  ObliqueImpactSelfTestProblem.solve(argc, argv);
67  helpers::writeToFile(ObliqueImpactSelfTestProblem.getName() + ".gnu", "plot '" + ObliqueImpactSelfTestProblem.getName() + ".fstat' u 8:($10*$14) w lp");
68  logger(INFO, "finished oblique impact test: run 'gnuplot %.gnu' to view output", ObliqueImpactSelfTestProblem.getName());
69 }
@ ONE_FILE
all data will be written into/ read from a single file called name_
Logger< MERCURYDPM_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
std::enable_if<!std::is_pointer< U >::value, U * >::type copyAndAddObject(const U &object)
Creates a copy of a Object and adds it to the BaseHandler.
Definition: BaseHandler.h:360
void setSaveCount(unsigned int saveCount)
Sets File::saveCount_ for all files (ene, data, fstat, restart, stat)
Definition: DPMBase.cc:386
SpeciesHandler speciesHandler
A handler to that stores the species type i.e. LinearViscoelasticSpecies, etc.
Definition: DPMBase.h:1433
File fStatFile
An instance of class File to handle in- and output into a .fstat file.
Definition: DPMBase.h:1489
void setName(const std::string &name)
Allows to set the name of all the files (ene, data, fstat, restart, stat)
Definition: DPMBase.cc:400
void setParticleDimensions(unsigned int particleDimensions)
Sets the particle dimensionality.
Definition: DPMBase.cc:1439
const std::string & getName() const
Returns the name of the file. Does not allow to change it though.
Definition: DPMBase.cc:377
void setFileType(FileType fileType)
Sets File::fileType_ for all files (ene, data, fstat, restart, stat)
Definition: DPMBase.cc:437
void setTimeStep(Mdouble newDt)
Sets a new value for the simulation time step.
Definition: DPMBase.cc:1225
void solve()
The work horse of the code.
Definition: DPMBase.cc:4334
void setFileType(FileType fileType)
Sets the type of file needed to write into or read from. File::fileType_.
Definition: File.cc:193
Definition: ObliqueImpactSelfTest.cpp:13
void setDensity(Mdouble density)
Definition: ParticleSpecies.cc:88
Contains material and contact force properties.
Definition: Species.h:14
#define INFO(i)
Definition: mumps_solver.h:54
const Mdouble pi
Definition: ExtendedMath.h:23
bool writeToFile(const std::string &filename, const std::string &filecontent)
Writes a string to a file.
Definition: FileIOHelpers.cc:29

References BaseHandler< T >::copyAndAddObject(), DPMBase::fStatFile, DPMBase::getName(), INFO, logger, ONE_FILE, constants::pi, ParticleSpecies::setDensity(), DPMBase::setFileType(), File::setFileType(), DPMBase::setName(), DPMBase::setParticleDimensions(), DPMBase::setSaveCount(), DPMBase::setTimeStep(), DPMBase::solve(), DPMBase::speciesHandler, and helpers::writeToFile().