SquarePackingSelfTest.cpp File Reference
#include "Mercury3D.h"
#include "StatisticsVector.h"
#include "Walls/InfiniteWall.h"
#include <cmath>
#include <iostream>
#include <iomanip>
#include <Species/LinearViscoelasticSpecies.h>

Classes

class  SquarePacking
 

Functions

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

Function Documentation

◆ main()

int main ( int argc  UNUSED,
char *argv[]  UNUSED 
)
59 {
61  problem.setName("SquarePackingSelfTest");
62  auto species = problem.speciesHandler.copyAndAddObject(LinearViscoelasticSpecies());
63  //set the number of particles
64  problem.N = 5;
65  problem.setSystemDimensions(2);
66  problem.setParticleDimensions(2);
67  species->setDensity(6.0 / constants::pi * 2. / 3.);
68  //species->setDensity(1.9098593*2/3);
69  problem.setGravity(Vec3D(0., -1, 0.));
70  species->setCollisionTimeAndRestitutionCoefficient(.01, .1, 1.);
71  problem.setTimeStep(.0002);
72  problem.setTimeMax(1.0);
73  problem.setSaveCount(1000);
74 
75  problem.setCGTimeMin(problem.getTimeMax() * .98);
76  problem.setTimeMaxStat(1e20);
77 
78  logger(INFO, "Relax the packing");
79  problem.solve();
80 
81  logger(INFO, "Get statistics");
82  StatisticsVector<Y> stats("SquarePackingSelfTest");
83  stats.statFile.setName("SquarePackingSelfTest.Y.stat");
84  double n = 500;
85  stats.setN(n);
86  stats.setCGWidth(.1);
87  stats.setCGTimeMin(problem.getTimeMax() * .98);
88  stats.setTimeMaxStat(1e20);
89  //stats.verbose();
90  //stats.set_boundedDomain(true);
91  stats.statistics_from_fstat_and_data();
92 
93  logger(INFO, "Get fully averaged statistics");
94  StatisticsVector<O> statsO("SquarePackingSelfTest");
95  statsO.statFile.setName("SquarePackingSelfTest.O.stat");
96  statsO.setCGTimeMin(problem.getTimeMax() * .98);
97  statsO.setTimeMaxStat(1e20);
98  statsO.statistics_from_fstat_and_data();
99  // should give you Density 1
100 }
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
Species< LinearViscoelasticNormalSpecies > LinearViscoelasticSpecies
Definition: LinearViscoelasticSpecies.h:11
Logger< MERCURYDPM_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
Definition: SquarePackingSelfTest.cpp:14
This class is used to extract statistical data from MD simulations.
Definition: StatisticsVector.h:41
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 INFO, logger, n, constants::pi, problem, StatisticsVector< T >::setCGTimeMin(), StatisticsVector< T >::setCGWidth(), StatisticsVector< T >::setN(), File::setName(), StatisticsVector< T >::setTimeMaxStat(), DPMBase::statFile, and StatisticsVector< T >::statistics_from_fstat_and_data().