AxisymmetricHopperSelfTest.cpp File Reference

Functions

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

Function Documentation

◆ main()

int main ( int argc  ,
char argv[] 
)

A three-dimensional, axisymmetric hopper.

10 {
11  //Print description
12  logger(INFO, "\nDescription: A quasi-2D inclined plane with inflow "
13  "conditions on the left boundary, and deletion of particles when "
14  "they exit the domain.");
15 
16  // Problem parameters
17  AxisymmetricHopper axisymmetricHopper;
18  axisymmetricHopper.setName("AxisymmetricHopperSelfTest");
19  axisymmetricHopper.setTimeMax(
20  std::sqrt(6.0 * axisymmetricHopper.getZMax())); //let the particles fall to at most 16 times the domain size
21 
22  // Particle properties
23  axisymmetricHopper.setFixedParticleRadius(0);
24  axisymmetricHopper.setInflowParticleRadius(0.5);
25 
26  // Chute properties
27  axisymmetricHopper.setChuteAngleAndMagnitudeOfGravity(0.0,1.0);
28 
29  //Output parameters
30  axisymmetricHopper.setLastSavedTimeStep(1);
31  axisymmetricHopper.fStatFile.setFileType(FileType::NO_FILE);
32  axisymmetricHopper.setXBallsAdditionalArguments("-sort -v0 -solidf");
33 
34  //solve
35  axisymmetricHopper.solve(argc,argv);
36 }
AnnoyingScalar sqrt(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:134
@ NO_FILE
file will not be created/read
Logger< MERCURYDPM_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
Definition: AxisymmetricHopper.h:15
void setInflowParticleRadius(Mdouble inflowParticleRadius)
Sets the radius of the inflow particles to a single one (i.e. ensures a monodisperse inflow).
Definition: Chute.cc:827
void setChuteAngleAndMagnitudeOfGravity(Mdouble chuteAngle, Mdouble gravity)
Sets gravity vector according to chute angle (in degrees)
Definition: Chute.cc:768
void setFixedParticleRadius(Mdouble fixedParticleRadius)
Sets the particle radius of the fixed particles which constitute the (rough) chute bottom.
Definition: Chute.cc:632
void setLastSavedTimeStep(unsigned int nextSavedTimeStep)
Sets the next time step for all the files (ene, data, fstat, restart, stat) at which the data is to b...
Definition: DPMBase.cc:510
File fStatFile
An instance of class File to handle in- and output into a .fstat file.
Definition: DPMBase.h:1489
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 setXBallsAdditionalArguments(std::string newXBArgs)
Set the additional arguments for xballs.
Definition: DPMBase.cc:1338
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
Mdouble getZMax() const
If the length of the problem domain in z-direction is ZMax - ZMin, then getZMax() returns ZMax.
Definition: DPMBase.h:634
void setFileType(FileType fileType)
Sets the type of file needed to write into or read from. File::fileType_.
Definition: File.cc:193
#define INFO(i)
Definition: mumps_solver.h:54

References DPMBase::fStatFile, DPMBase::getZMax(), INFO, logger, NO_FILE, Chute::setChuteAngleAndMagnitudeOfGravity(), File::setFileType(), Chute::setFixedParticleRadius(), Chute::setInflowParticleRadius(), DPMBase::setLastSavedTimeStep(), DPMBase::setName(), DPMBase::setTimeMax(), DPMBase::setXBallsAdditionalArguments(), DPMBase::solve(), and sqrt().