MonodisperseSmoothInclinedChute.cpp File Reference

Classes

class  SmoothChute
 

Functions

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

Function Documentation

◆ main()

int main ( int argc  ,
char argv[] 
)
106 {
107  logger(INFO, "Chute flow over a smooth bottom");
108 
109  //set the problem parameters: name, simulation time and time step
111  problem.setName("MonodisperseSmoothInclinedChute");
112  problem.setTimeMax(100);
113  problem.setTimeStep(1e-4);
114 
115  //set the direction of the gravity as 30 degrees, and magnitude 9.81 m/s^2
116  problem.setChuteAngleAndMagnitudeOfGravity(30.0, 9.81);
117 
118  problem.numberOfParticlesToBeInserted = 286;
119  problem.insertTime = 0.006;
120  problem.insertTimeInterval = problem.insertTime;
121  //
122  auto particleSpecies = problem.speciesHandler.copyAndAddObject(LinearViscoelasticFrictionSpecies());
123  auto wallSpecies = problem.speciesHandler.copyAndAddObject(LinearViscoelasticFrictionSpecies());
124  auto wallParticleSpecies = problem.speciesHandler.getMixedObject(wallSpecies, particleSpecies);
125 
126  // Mdouble effectiveMass = 0.5*particleSpecies->getMassFromRadius(0.5*0.003);
127  // std::cout << "Mass" << 2.0*effectiveMass << std::endl;
128  // helpers::KAndDisp kAndDispPP = helpers::computeKAndDispFromCollisionTimeAndRestitutionCoefficientAndEffectiveMass(0.005,0.97,effectiveMass);
129  //helpers::KAndDisp kAndDispPW = helpers::computeKAndDispFromCollisionTimeAndRestitutionCoefficientAndEffectiveMass(0.005,0.95,effectiveMass);
130 
131  //std::cout << "Stifness" << kAndDispPP.k << std::endl;
132 
133  //set parameters for the particle species: density, stiffness, dissipation and sliding friction coefficient
134  particleSpecies->setDensity(2550.0);
135  particleSpecies->setStiffness(1000.0);
136  particleSpecies->setSlidingStiffness(2.0 / 7.0 * particleSpecies->getStiffness());
137  particleSpecies->setDissipation(0.0);
138  particleSpecies->setSlidingFrictionCoefficient(0.12);
139 
140  //set the parameters for the wall species
141  wallParticleSpecies->setStiffness(979.38);
142  wallParticleSpecies->setDissipation(particleSpecies->getDissipation());
143  wallParticleSpecies->setSlidingStiffness(2. / 7.0 * wallParticleSpecies->getStiffness());
144  wallParticleSpecies->setSlidingFrictionCoefficient(0.22);
145 
146  //set the output parameters: how many time steps should be skipped before a next time step is written to the files,
147  //and which files should be written.
148  problem.setSaveCount(100);
149  problem.dataFile.setFileType(FileType::ONE_FILE);
150  problem.restartFile.setFileType(FileType::ONE_FILE);
151  problem.fStatFile.setFileType(FileType::NO_FILE);
152  problem.eneFile.setFileType(FileType::NO_FILE);
153  //
154  //problem.autoNumber();
155  problem.setXBallsAdditionalArguments("-solidf -v0");
156 
157  //run the simulation with all parameters given before
158  problem.solve(argc, argv);
159 
160  return 0;
161 }
Array< double, 1, 3 > e(1./3., 0.5, 2.)
@ NO_FILE
file will not be created/read
@ ONE_FILE
all data will be written into/ read from a single file called name_
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.
Definition: MonodisperseSmoothInclinedChute.cpp:16
#define INFO(i)
Definition: mumps_solver.h:54
Constructor for SteadyAxisymAdvectionDiffusion problem
Definition: steady_axisym_advection_diffusion.cc:213

References e(), INFO, logger, NO_FILE, ONE_FILE, and problem.