Vreman.cpp File Reference
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cmath>
#include <sys/types.h>
#include <sys/stat.h>
#include "scr/Chute.h"
#include "scr/Time.h"

Classes

class  Vreman
 

Functions

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

Function Documentation

◆ main()

int main ( int argc  ,
char argv[] 
)
151 {
152  Vreman problem;
153  problem.setName("Vreman");
154  problem.setChuteLength(.7);
155  problem.setChuteWidth(.13);
156  problem.setChuteAngle(19);
157  //problem.makeChutePeriodic();
158  problem.setDensity(2470);
159  problem.setInflowParticleRadius(1e-3/2);
160  problem.setInflowVelocity(.17);
161  problem.setInflowVelocityVariance(.02);
162  problem.setInflowHeight(8e-3);
163  problem.setZMax(10e-3);
164  problem.set_InflowNu(0.29/(problem.getInflowHeight()*problem.getChuteWidth()*problem.getInflowVelocity()*problem.getDensity()));
165  problem.setFixedParticleRadius(0);
166  problem.setStiffnessAndRestitutionCoefficient(100, 0.97, problem.get_mass_from_Radius(problem.getInflowParticleRadius()));
167  problem.set_HGRID_num_buckets_to_power(4e5);
168  problem.set_HGRID_max_levels(1);
169  problem.setXBallsAdditionalArguments("-v0 -solidf -sort");
170  problem.setTimeStep(problem.getCollisionTime()/50);
172  problem.setTimeMax(20);
173  problem.readArguments(argc, argv);
174  problem.solve();
175 }
void setChuteWidth(Mdouble chuteWidth)
Sets the chute width (Y-direction)
Definition: Chute.cc:1039
void setInflowParticleRadius(Mdouble inflowParticleRadius)
Sets the radius of the inflow particles to a single one (i.e. ensures a monodisperse inflow).
Definition: Chute.cc:848
virtual void setChuteLength(Mdouble chuteLength)
Sets the chute length (X-direction)
Definition: Chute.cc:1059
void setInflowVelocityVariance(Mdouble inflowVelocityVariance)
Sets the inflow velocity variance.
Definition: Chute.cc:1010
Mdouble getInflowHeight() const
Returns the maximum inflow height (Z-direction)
Definition: Chute.cc:974
void setInflowVelocity(Mdouble inflowVelocity)
Sets the average inflow velocity.
Definition: Chute.cc:983
Mdouble getInflowParticleRadius() const
Returns the average radius of inflow particles.
Definition: Chute.cc:929
Mdouble getChuteWidth() const
Returns the chute width (Y-direction)
Definition: Chute.cc:1049
Mdouble getInflowVelocity() const
Returns the average inflow velocity.
Definition: Chute.cc:1000
void setChuteAngle(Mdouble chuteAngle)
Sets gravity vector according to chute angle (in degrees)
Definition: Chute.cc:768
void setInflowHeight(Mdouble inflowHeight)
Sets maximum inflow height (Z-direction)
Definition: Chute.cc:957
void setFixedParticleRadius(Mdouble fixedParticleRadius)
Sets the particle radius of the fixed particles which constitute the (rough) chute bottom.
Definition: Chute.cc:653
void setSaveCount(unsigned int saveCount)
Sets File::saveCount_ for all files (ene, data, fstat, restart, stat)
Definition: DPMBase.cc:408
void setName(const std::string &name)
Allows to set the name of all the files (ene, data, fstat, restart, stat)
Definition: DPMBase.cc:422
Mdouble getTimeStep() const
Returns the simulation time step.
Definition: DPMBase.cc:1250
bool readArguments(int argc, char *argv[])
Can interpret main function input arguments that are passed by the driver codes.
Definition: DPMBase.cc:4391
void setXBallsAdditionalArguments(std::string newXBArgs)
Set the additional arguments for xballs.
Definition: DPMBase.cc:1347
void setZMax(Mdouble newZMax)
Sets the value of ZMax, the upper bound of the problem domain in the z-direction.
Definition: DPMBase.cc:1217
void setTimeStep(Mdouble newDt)
Sets a new value for the simulation time step.
Definition: DPMBase.cc:1234
void setTimeMax(Mdouble newTMax)
Sets a new value for the maximum simulation duration.
Definition: DPMBase.cc:873
void solve()
The work horse of the code.
Definition: DPMBase.cc:4270
Mdouble getTimeMax() const
Returns the maximum simulation duration.
Definition: DPMBase.cc:888
Definition: Vreman.cpp:38
void set_InflowNu(double Nu)
Definition: Vreman.cpp:80
unsigned int getSaveCountFromNumberOfSavesAndTimeMaxAndTimeStep(unsigned int numberOfSaves, Mdouble timeMax, Mdouble timeStep)
Returns the correct saveCount if the total number of saves, the final time and the time step is known...
Definition: FormulaHelpers.cc:96

References Chute::getChuteWidth(), Chute::getInflowHeight(), Chute::getInflowParticleRadius(), Chute::getInflowVelocity(), helpers::getSaveCountFromNumberOfSavesAndTimeMaxAndTimeStep(), DPMBase::getTimeMax(), DPMBase::getTimeStep(), DPMBase::readArguments(), Vreman::set_InflowNu(), Chute::setChuteAngle(), Chute::setChuteLength(), Chute::setChuteWidth(), Chute::setFixedParticleRadius(), Chute::setInflowHeight(), Chute::setInflowParticleRadius(), Chute::setInflowVelocity(), Chute::setInflowVelocityVariance(), DPMBase::setName(), DPMBase::setSaveCount(), DPMBase::setTimeMax(), DPMBase::setTimeStep(), DPMBase::setXBallsAdditionalArguments(), DPMBase::setZMax(), and DPMBase::solve().