HorizontalMixerWalls.cpp File Reference
#include "HorizontalMixer.h"

Classes

class  HorizontalMixerWalls
 

Functions

int main ()
 

Function Documentation

◆ main()

int main ( )
61 {
62  Mdouble revolutionsPerSecond = 0.25;
63  Mdouble rotationSpeed = 0.25*constants::pi*revolutionsPerSecond;
64  Mdouble particleRadius = 0.2;
65  Mdouble timeMin = 0.0;
66  Mdouble fillHeight = 0;
67  HorizontalMixerWalls mixer(particleRadius, rotationSpeed, timeMin, fillHeight);
68 
69  //set name
70  mixer.setName("HorizontalMixerWalls");
71 
72  //remove old files (note this is a bit dangerous)
73  //mixer.removeOldFiles();
74 
75  //set species
76  auto s = mixer.speciesHandler.copyAndAddObject(LinearViscoelasticSlidingFrictionSpecies());
77  s->setDensity(2000);
78  Mdouble mass = s->getMassFromRadius(particleRadius);
79  s->setCollisionTimeAndRestitutionCoefficient(0.01, 0.5, mass);
80  s->setSlidingFrictionCoefficient(0.5);
81  s->setSlidingStiffness(2.0 / 7.0 * s->getStiffness());
82  s->setSlidingDissipation(2.0 / 7.0 * s->getDissipation());
83 
84  //set timestep
85  mixer.setTimeStep(0.2 * s->getCollisionTime(mass));
86  //save every 2 collision times for smooth viewable output
87  mixer.setSaveCount((unsigned) (20.0 * s->getCollisionTime(mass) / mixer.getTimeStep()));
88  logger(INFO, "Savecount: %", mixer.dataFile.getSaveCount());
89 
90  mixer.setTimeMax(100);
91 
92  mixer.solve();
93  return 0;
94 }
Species< LinearViscoelasticNormalSpecies, SlidingFrictionSpecies > LinearViscoelasticSlidingFrictionSpecies
Definition: LinearViscoelasticSlidingFrictionSpecies.h:12
Logger< MERCURYDPM_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
Definition: HorizontalMixerWalls.cpp:8
RealScalar s
Definition: level1_cplx_impl.h:130
#define INFO(i)
Definition: mumps_solver.h:54
const Mdouble pi
Definition: ExtendedMath.h:23

References BaseHandler< T >::copyAndAddObject(), DPMBase::dataFile, File::getSaveCount(), DPMBase::getTimeStep(), INFO, logger, constants::pi, s, DPMBase::setName(), DPMBase::setSaveCount(), DPMBase::setTimeMax(), DPMBase::setTimeStep(), DPMBase::solve(), and DPMBase::speciesHandler.