PeriodicBoundaryEnteringMpiDomainMPI2Test.cpp File Reference

Classes

class  PeriodicBounaryEnteringMPIDomainTest
 

Functions

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

Function Documentation

◆ main()

int main ( int argc  ,
char argv[] 
)
50 {
51  //Create the problem
53  problem.setName("PeriodicBounaryEnteringMPIDomainTest");
54 
55  //Create a species
56  LinearViscoelasticFrictionSpecies* species = problem.speciesHandler.copyAndAddObject(
58  species->setDensity(1.0);
59 
60  //Set domain accordingly (domain boundaries are not walls!)
61  problem.setXMin(0);
62  problem.setXMax(20);
63  problem.setYMin(-10.0);
64  problem.setYMax(10.0);
65  problem.setZMin(0.0);
66  problem.setZMax(100.0);
67 
68  //specify particle properties
69  species->setDensity(6.0 / constants::pi);
70 
71  //specify body forces
72  problem.setGravity(Vec3D(0.0, 0.0, 0.0));
73 
74  //Set the number of domains for parallel decomposition
75  problem.setNumberOfDomains({2, 1, 1});
76 
77  //specify contact properties
78  //normal forces
79  species->setStiffness(1e5);
80  species->setDissipation(0.63);
81  //tangential (sliding) forces
83 
84  //set other simulation parameters
85  Mdouble MinParticleMass = species->getDensity() * 4.0 / 3.0 * constants::pi;
86  //Mdouble tc = species->getCollisionTime(MinParticleMass);
87  Mdouble tc = 0.02;
88  logger(INFO, "tc: %", tc);
89  problem.setTimeStep(tc / 50.0);
90  problem.setTimeMax(3);
91  problem.setSaveCount(500);
92 
93  //Set output to paraview
94  problem.setParticlesWriteVTK(true);
95 
96  problem.solve(argc, argv);
97 
98  return 0;
99 }
Species< LinearViscoelasticNormalSpecies, FrictionSpecies > LinearViscoelasticFrictionSpecies
Definition: LinearViscoelasticFrictionSpecies.h:12
Logger< MERCURYDPM_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
void setDissipation(Mdouble dissipation)
Allows the normal dissipation to be changed.
Definition: LinearViscoelasticNormalSpecies.cc:96
void setStiffness(Mdouble new_k)
Allows the spring constant to be changed.
Definition: LinearViscoelasticNormalSpecies.cc:72
void setDensity(Mdouble density)
Definition: ParticleSpecies.cc:88
Mdouble getDensity() const
Allows density_ to be accessed.
Definition: ParticleSpecies.cc:98
Definition: PeriodicBoundaryEnteringMpiDomainMPI2Test.cpp:17
void setSlidingFrictionCoefficient(Mdouble new_mu)
Allows the (dynamic) Coulomb friction coefficient to be changed; also sets mu_s by default.
Definition: SlidingFrictionSpecies.cc:120
Definition: Kernel/Math/Vector.h:30
#define INFO(i)
Definition: mumps_solver.h:54
const Mdouble pi
Definition: ExtendedMath.h:23
Constructor for SteadyAxisymAdvectionDiffusion problem
Definition: steady_axisym_advection_diffusion.cc:213

References ParticleSpecies::getDensity(), INFO, logger, constants::pi, problem, ParticleSpecies::setDensity(), LinearViscoelasticNormalSpecies::setDissipation(), SlidingFrictionSpecies::setSlidingFrictionCoefficient(), and LinearViscoelasticNormalSpecies::setStiffness().