MaserChuteUnitTestMPI.cpp File Reference

Classes

class  MpiMaserChuteTest
 

Functions

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

Function Documentation

◆ main()

int main ( int argc  ,
char argv[] 
)
65 {
66  //Create the problem
68  problem.setName("MaserChuteTestMPI");
69 
70  //Create a species
71  LinearViscoelasticFrictionSpecies* species = problem.speciesHandler.copyAndAddObject(LinearViscoelasticFrictionSpecies());
72  species->setDensity(1.0);
73 
74  //Set domain accordingly (domain boundaries are not walls!)
75  problem.setXMin(-10.0);
76  problem.setXMax(150.0);
77  problem.setYMin(-10.0);
78  problem.setYMax(100.0);
79  problem.setZMin(-10.0);
80  problem.setZMax(100.0);
81 
82  //specify particle properties
83  species->setDensity(6.0/constants::pi);
84 
85  //specify body forces
86  problem.setGravity(Vec3D(1.0*0.37460659341, 0.0, -1.0*0.92718385456));
87 
88  //Set the number of domains for parallel decomposition
89  problem.setNumberOfDomains({2,1,1});
90 
91  //specify contact properties
92  //normal forces
93  species->setStiffness(1e5);
94  species->setDissipation(0.63);
95  //tangential (sliding) forces
96  species->setSlidingFrictionCoefficient(0.5);
97  species->setSlidingStiffness(1.2e4);
98  species->setSlidingDissipation(0.16);
99  //tangential (rolling) torques
100  species->setRollingFrictionCoefficient(0.2);
101  species->setRollingStiffness(1.2e4);
102  species->setRollingDissipation(6.3e-2);
103  //normal (torsion/spin) torques
104  species->setTorsionFrictionCoefficient(0.1);
105  species->setTorsionStiffness(1.2e4);
106  species->setSlidingDissipation(6.3e-2);
107 
108  //set other simulation parameters
109  Mdouble MinParticleMass = species->getDensity()*4.0 / 3.0 * constants::pi ;
110  //Mdouble tc = species->getCollisionTime(MinParticleMass);
111  Mdouble tc = 0.02;
112  logger(INFO,"tc: %",tc);
113  problem.setTimeStep(tc / 50.0);
114  problem.setTimeMax(52.4);
115  problem.setSaveCount(250); //used to be 500
116 
117  //Set output to paraview
118  problem.setParticlesWriteVTK(true);
119 
120  problem.solve(argc, argv);
121 
122  return 0;
123 }
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 setRollingFrictionCoefficient(Mdouble new_mu)
Allows the (dynamic) Coulomb friction coefficient to be changed; also sets mu_s by default.
Definition: FrictionSpecies.cc:165
void setTorsionStiffness(Mdouble new_kt)
Allows the torsion stiffness to be changed.
Definition: FrictionSpecies.cc:201
void setRollingDissipation(Mdouble new_dispt)
Allows the tangential viscosity to be changed.
Definition: FrictionSpecies.cc:147
void setTorsionFrictionCoefficient(Mdouble new_mu)
Allows the (dynamic) Coulomb torsion friction coefficient to be changed; also sets mu_s by default.
Definition: FrictionSpecies.cc:238
void setRollingStiffness(Mdouble new_kt)
Allows the spring constant to be changed.
Definition: FrictionSpecies.cc:128
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
Definition: MaserChuteUnitTestMPI.cpp:15
void setDensity(Mdouble density)
Definition: ParticleSpecies.cc:88
Mdouble getDensity() const
Allows density_ to be accessed.
Definition: ParticleSpecies.cc:98
void setSlidingStiffness(Mdouble new_kt)
Allows the spring constant to be changed.
Definition: SlidingFrictionSpecies.cc:83
void setSlidingDissipation(Mdouble new_dispt)
Allows the tangential viscosity to be changed.
Definition: SlidingFrictionSpecies.cc:102
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(), FrictionSpecies::setRollingDissipation(), FrictionSpecies::setRollingFrictionCoefficient(), FrictionSpecies::setRollingStiffness(), SlidingFrictionSpecies::setSlidingDissipation(), SlidingFrictionSpecies::setSlidingFrictionCoefficient(), SlidingFrictionSpecies::setSlidingStiffness(), LinearViscoelasticNormalSpecies::setStiffness(), FrictionSpecies::setTorsionFrictionCoefficient(), and FrictionSpecies::setTorsionStiffness().