Advanced tutorials

Overview

The directories Drivers/MercurySimpleDemos, Drivers/ChuteDemos, Drivers/SuperQuadricDemo as well as other directories contain many demo codes that illustrate the commonly used features of MercuryDPM:

MercurySimpleDemos:

Description File Name Illustrated Features
Particles driven by a rotating coil CoilSelfTest.cpp Coil
Flow through a 2D hourglass/silo HourGlass2DDemo.cpp IntersectionOfWalls
Flow through a 3D hourglass/silo HourGlass3DDemo.cpp AxisymmetricIntersectionOfWalls
LinearViscoelasticFrictionSpecies
Free cooling granular system (2D) FreeCoolingDemo.cpp PeriodicBoundary (2D)
Homogeneous and inhomogeneous clustering regimes (2D)
Theoretical and Numerical Comparisons
Free cooling granular system (2D) in walls FreeCooling2DinWallsDemo.cpp InfiniteWall (2D)
Homogeneous and inhomogeneous clustering regimes (2D)
Experimental and Numerical Comparisons
Free cooling granular system (3D) FreeCooling3DDemo.cpp PeriodicBoundary (3D)
Homogeneous and inhomogeneous clustering regimes (3D)
Theoretical and Numerical Comparisons
Free cooling granular system (3D) in walls FreeCooling3DinWallsDemo.cpp InfiniteWall (3D)
Homogeneous and inhomogeneous clustering regimes (3D)
Experimental and Numerical Comparisons
Marble Run (with seesaw) MarbleRunWithSeesaw.cpp IntersectionOfWalls
Shows one particle cascading down a Marble run track.

ChuteDemos:

Description File Name Illustrated Features
Particles on an inclined chute ChuteDemo.cpp Chute
RoughBottomDemo roughBottomSelfTest.cpp ChuteBottom
Chute with hopper HopperSelfTest.cpp Chute with hopper

Coarse-Grain Demos:

Description File Name Illustrated Features
Five Particles FiveParticles.cpp Coil
Lees Edward LeesEdwardsSelfTest.cpp LeesEdwardsBoundary

Sintering Demos:

Description File Name Illustrated Features
Simple sintering process SinterPair.cpp Sintering

Deformations in a representative element volume (REV) Demos:

Description File Name Illustrated Features
Isotropic compression of a cuboidal REV REVIsotropicCompressionDemo.cpp StressStrainControlBoundary
Pure shear (constant volume) of a cuboidal REV REVPureShearDemo.cpp StressStrainControlBoundary
Simple shear (constant stress) of a cuboidal REV REVSimpleShearDemo.cpp StressStrainControlBoundary

Parameter study Demos:

Description File Name Illustrated Features
Parameter study in 1D parameter space ParameterStudy1DDemo.cpp DPMBase::autoNumber()
Parameter study in 2D parameter space ParameterStudy2DDemo.cpp DPMBase::autoNumber()
Parameter study in 3D parameter space ParameterStudy3DDemo.cpp DPMBase::autoNumber()
Parameter study using a protective wall ProtectiveWall.cpp DPMBase::autoNumber()

Parallelisation Demos:

Description File Name Illustrated Features
Parallel processing using OpenMP FreeCooling2DinWallsDemo.cpp OpenMP Parallelisation
Parallel processing using MPI testDrum.cpp MPI Parallelisation
Parallel processing for Input-Output, I/O files HourGlass2DDemoMPI.cpp MPI-IO Parallelisation


Coupling Demos:

Description File Name Illustrated Features
Simulating an elastic solid SolidBeamUnitTest.cpp How to run oomph-lib codes in MercuryDPM
Coupling between surface of elastic solid and particle simulation CoupledBeamUnitTest.cpp Surface coupling with oomph-lib


Clump Demos:

Description File Name Illustrated Features
(Rigid_clumps) (code) Gomboc.cpp (Rigid_clumps) (code)
Domino effect Domino.cpp (Rigid_clumps) (code)
Tennisracket or Dzhanibekov theorem TBar.cpp (Rigid_clumps) (code)

If you cannot find the one listed here you can find the directory using the unix command find. For example:

find ~/MercuryDPM/MercurySource/Drivers/ -name FreeCoolingDemo.cpp
string name
Definition: plotDoE.py:33

Then goto the Build directory instead of the listed Source directory and run it.