chute_periodic_autorun.cpp File Reference
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cmath>
#include <sys/types.h>
#include <sys/stat.h>
#include <Boundaries/PeriodicBoundary.h>
#include <Species/LinearViscoelasticFrictionSpecies.h>
#include "Chute.h"

Classes

class  ChutePeriodic
 

Functions

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

Function Documentation

◆ main()

int main ( int argc  UNUSED,
char *argv[]  UNUSED 
)
121 {
123  problem.setup();
124  logger.assert_always(argc > 1, "Argument needed!");
125  problem.setChuteAngle(atof(argv[1]));
126  logger(INFO, "Chute Angle: %", problem.getChuteAngle());
127  problem.setZMax(5e-3);
128  problem.solve();
129  problem.write(std::cout, false);
130  problem.writeRestartFile();
131 
132  ChutePeriodic problem2;
133  problem2.setup();
134  logger.assert_always(argc > 1, "Argument needed!");
135  problem2.setChuteAngle(atof(argv[1]));
136 
137  logger(INFO, "Chute Angle: %", problem2.getChuteAngle());
138  problem2.setZMax(10e-3);
139  problem2.solve();
140  problem2.write(std::cout, false);
141  problem2.writeRestartFile();
142 
143  ChutePeriodic problem3;
144  problem3.setup();
145  logger.assert_always(argc > 1, "Argument needed!");
146  problem3.setChuteAngle(atof(argv[1]));
147  logger(INFO, "Chute Angle: %", problem3.getChuteAngle());
148  problem3.setZMax(15e-3);
149  problem3.solve();
150  problem3.write(std::cout, false);
151  problem3.writeRestartFile();
152 
153  ChutePeriodic problem4;
154  problem4.setup();
155  logger.assert_always(argc > 1, "Argument needed!");
156  problem4.setChuteAngle(atof(argv[1]));
157  logger(INFO, "Chute Angle: %" , problem4.getChuteAngle());
158  problem4.setZMax(20e-3);
159  problem4.solve();
160  problem4.write(std::cout, false);
161  problem4.writeRestartFile();
162 
163  ChutePeriodic problem5;
164  problem5.setup();
165  logger.assert_always(argc > 1, "Argument needed!");
166  problem5.setChuteAngle(atof(argv[1]));
167  logger(INFO, "Chute Angle: %", problem5.getChuteAngle());
168  problem5.setZMax(25e-3);
169  problem5.solve();
170  problem5.write(std::cout, false);
171  problem5.writeRestartFile();
172 }
Array< double, 1, 3 > e(1./3., 0.5, 2.)
Logger< MERCURYDPM_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
Definition: chute_periodic_autorun.cpp:16
void setup()
Definition: chute_periodic_autorun.cpp:79
void write(std::ostream &os, bool writeAllParticles=true) const override
This function writes the Chute properties to an ostream, and adds the properties of ALL chute particl...
Definition: Chute.cc:185
void setChuteAngle(Mdouble chuteAngle)
Sets gravity vector according to chute angle (in degrees)
Definition: Chute.cc:747
Mdouble getChuteAngle() const
Returns the chute angle (in radians)
Definition: Chute.cc:786
virtual void writeRestartFile()
Stores all the particle data for current save time step to a "restart" file, which is a file simply i...
Definition: DPMBase.cc:2979
void setZMax(Mdouble newZMax)
Sets the value of ZMax, the upper bound of the problem domain in the z-direction.
Definition: DPMBase.cc:1208
void solve()
The work horse of the code.
Definition: DPMBase.cc:4334
#define INFO(i)
Definition: mumps_solver.h:54
Constructor for SteadyAxisymAdvectionDiffusion problem
Definition: steady_axisym_advection_diffusion.cc:213

References e(), Chute::getChuteAngle(), INFO, logger, problem, Chute::setChuteAngle(), ChutePeriodic::setup(), DPMBase::setZMax(), DPMBase::solve(), Chute::write(), and DPMBase::writeRestartFile().