MarbleRunWithSeesaw.cpp File Reference
#include <iostream>
#include <Species/LinearViscoelasticFrictionSpecies.h>
#include <Walls/TriangleWall.h>
#include "Mercury3D.h"
#include "Walls/InfiniteWall.h"

Classes

class  MarbleRun
 

Functions

int main ()
 

Function Documentation

◆ main()

int main ( )
276  {
277 
278  // Set up a problem of type MarbleRun
279  MarbleRun dpm;
280  // Set name of output files
281  dpm.setName("MarbleRun");
282  // Set name of output files
283  dpm.loadSTLFile("MarbleRunV12_complete_without_seasaw_new.STL"); // KnikkerbaanV12_compleet_without_seasaw_org.STL
284  dpm.loadBigSeesaw();
285  dpm.loadSmallSeesaw();
286  // Set physical particle properties
287  //
288  // example settings for: Demo sWood bWood bSteel bounce bGlas sGlas Styrof
289  // dpm.setParticleRadius 0.01 0.07625 0.01027 0.01262 0.01567 0.01262 0.0665 0.01485
290  // dpm.setParticleDensity 1000 568 682 7689 930 2373 2435 22
291  // dpm.setSlidingFrictionCoefficient 0.5 0.35 0.37 0.37 0.58 0.31 0.32 0.60
292  // dpm.setRollingFrictionCoefficient 1e-4 8.39e-3 6.99e-3 4.09e-3 8.46e-3 3.96e-3 3.60e-3 1.46e02
293  // dpm.setRestitutionCoefficient 0.5 0.46 0.42 0.22 0.86 0.28 0.33 0.47
294  //
295  dpm.setParticlePosition(Vec3D(0.6,0.8,0.03)); //(0.6,0.8,0.03)
296  //dpm.setParticlePosition(Vec3D(0.24,0.23,0.03)); //position above big seesaw
297  //dpm.setParticlePosition(Vec3D(0.52,0.25,0.03)); //position above small seesaw
298  dpm.setParticleRadius(0.010);
299  // Set material particle properties
300  dpm.setParticleDensity(1000);
301  // Set contact properties
303  dpm.setRollingFrictionCoefficient(1.00e-4);
305  dpm.setRestitutionCoefficient(0.50);
306  // set gravity direction
307  dpm.setGravity(Vec3D(0,-9.8,0));
308  // Set simulation time
309  dpm.setTimeMax(15);
310  // start the solver
311  dpm.solve();
312 }
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 setTimeMax(Mdouble newTMax)
Sets a new value for the maximum simulation duration.
Definition: DPMBase.cc:864
void solve()
The work horse of the code.
Definition: DPMBase.cc:4334
void setGravity(Vec3D newGravity)
Sets a new value for the gravitational acceleration.
Definition: DPMBase.cc:1374
Definition: MarbleRun.cpp:14
void setTorsionFrictionCoefficient(double coeff)
Definition: MarbleRun.cpp:50
void loadSmallSeesaw()
Definition: MarbleRunWithSeesaw.cpp:132
void setRestitutionCoefficient(double coeff)
Definition: MarbleRun.cpp:58
void setSlidingFrictionCoefficient(double coeff)
Definition: MarbleRun.cpp:42
void setParticleRadius(double radius)
Definition: MarbleRun.cpp:34
void loadBigSeesaw()
Definition: MarbleRunWithSeesaw.cpp:93
void setRollingFrictionCoefficient(double coeff)
Definition: MarbleRun.cpp:46
void setParticleDensity(double density)
Definition: MarbleRun.cpp:38
void loadSTLFile(std::string stlFile)
Definition: MarbleRun.cpp:62
void setParticlePosition(Vec3D pos)
Definition: MarbleRun.cpp:30
Definition: Kernel/Math/Vector.h:30

References MarbleRun::loadBigSeesaw(), MarbleRun::loadSmallSeesaw(), MarbleRun::loadSTLFile(), DPMBase::setGravity(), DPMBase::setName(), MarbleRun::setParticleDensity(), MarbleRun::setParticlePosition(), MarbleRun::setParticleRadius(), MarbleRun::setRestitutionCoefficient(), MarbleRun::setRollingFrictionCoefficient(), MarbleRun::setSlidingFrictionCoefficient(), DPMBase::setTimeMax(), MarbleRun::setTorsionFrictionCoefficient(), and DPMBase::solve().