57 Coil coil(
Vec3D(0.1, 0.2, 0.3), 0.4, 0.5, 0.6, 0.7, 0.8);
60 cylindricalWall.
set(0.1);
71 infiniteWall.
set(
Vec3D(0.1, 0.2, 0.3), 0.4*
Vec3D(0.1, 0.2, 0.3));
74 infiniteWallWithHole.
set(
Vec3D(0.1, 0.2, 0.3), 0.4, 0.5);
76 Screw screw(
Vec3D(0.1, 0.2, 0.3), 0.4, 0.5, 0.6, 0.7, 0.8);
87 angledPeriodicBoundary.
set(
Vec3D(0.1, 0.2, 0.3),
Vec3D(0.4, 0.5, 0.6),
Vec3D(0.7, 0.8, 0.9));
90 chuteInsertionBoundary.
set(
new BaseParticle, 13,
Vec3D(0.1, 0.2, 0.3),
Vec3D(0.4, 0.5, 0.6), 0.33, 0.44, 0.55, 1.1, 1.2);
93 cubeInsertionBoundary.
set(
new BaseParticle, 13,
Vec3D(0.1, 0.2, 0.3),
Vec3D(0.4, 0.5, 0.6),
Vec3D(0.11, 0.22, 0.33),
Vec3D(0.44, 0.55, 0.66), 0.77, 0.88);
96 hopperInsertionBoundary.
set(
new BaseParticle, 13, 0.2, 0.3, 0.66, 0.77, 3.1, 0.69,
false, 3, 0.11, 0.21, 0.09, 2.31, 0.001, 30);
99 periodicBoundary.
set(
Vec3D(0.1, 0.2, 0.3), 1.1, 2.2,
Vec3D(0.4, 0.5, 0.6));
104 deletionBoundary.
set(
Vec3D(0.1, 0.2, 0.3), 3.14);
107 leesEdwardsBoundary.
set(
110 [&] (
double time
UNUSED) {
132 normal.
setName(
"FullRestartTest_Normal");
139 restart.
setName(
"FullRestartTest_Restart");
144 restart.
write(std::cout);
void setupInitialConditions()
This function allows to set the initial conditions for our problem to be solved, by default particle ...
virtual void write(std::ostream &os, bool writeAllParticles=true) const
Loads all MD data and plots statistics for all timesteps in the .data file.
void set(Vec3D normal, Mdouble distanceLeft, Mdouble distanceRight)
Defines a periodic wall.
The DPMBase header includes quite a few header files, defining all the handlers, which are essential...
void set(std::function< double(double)> shift, std::function< double(double)> velocity, Mdouble left, Mdouble right, Mdouble down, Mdouble up)
Sets all boundary properties.
Class which creates a boundary with Lees-Edwards type periodic boundary conditions.
A IntersectionOfWalls is convex polygon defined as an intersection of InfiniteWall's.
This function defines an Archimedes' screw in the z-direction from a (constant) starting point...
void setOrientation(const Vec3D &orientation)
Sets the orientation of this BaseInteractable.
File restartFile
An instance of class File to handle in- and output into a .restart file.
Used for removing particles from the problem. Inherits from BaseBoundary.
void addObject(Vec3D normal, Vec3D point)
Adds a wall to the set of infinite walls, given an outward normal vector s.t. normal*x=normal*point.
used to create a circular periodic boundary
void set(BaseParticle *particleToCopy, int maxFailed, Vec3D posMin, Vec3D posMax, Vec3D velMin, Vec3D velMax, double radMin, double radMax)
Sets the properties of the cuboidal insertion boundary.
Defines a pair of periodic walls. Inherits from BaseBoundary.
void set(Vec3D normal, Mdouble position, Mdouble holeRadius)
Defines a standard wall, given an outward normal vector s. t. normal*x=position.
void close()
Closes the file by calling fstream_.close()
int readRestartFile()
Reads all the particle data corresponding to the current saved time step. Which is what the restart f...
void setName(const std::string &name)
Allows to set the name of all the files (ene, data, fstat, restart, stat)
It's an insertion boundary which has cuboidal shape (yes, 'CuboidalInsertionBoundary' would have been...
U * copyAndAddObject(const U &O)
Creates a copy of a Object and adds it to the BaseHandler.
BoundaryHandler boundaryHandler
An object of the class BoundaryHandler which concerns insertion and deletion of particles into or fro...
int main(int argc UNUSED, char *argv[] UNUSED)
ParticleHandler particleHandler
An object of the class ParticleHandler, contains the pointers to all the particles created...
void set(Vec3D normalLeft, Vec3D normalRight, Vec3D origin)
Defines a periodic wall.
Species< LinearViscoelasticNormalSpecies > LinearViscoelasticSpecies
SpeciesHandler speciesHandler
A handler to that stores the species type i.e. elastic, linear visco-elastic... et cetera...
A AxisymmetricIntersectionOfWalls is a axisymmetric wall, defined by rotating a twodimensional Inters...
WallHandler wallHandler
An object of the class WallHandler. Contains pointers to all the walls created.
void setPosition(const Vec3D &position)
Sets the position of this BaseInteractable.
bool open()
Checks if the file stream fstream_ has any issues while opening. Alongside, it also increments the ne...
Inherits from InsertionBoundary Some images are useful to better understand the structure of both the...
void set(Vec3D normal, Vec3D point)
Defines a standard wall, given an outward normal vector s.t. normal*x=normal*point for all x of the w...
void set(BaseParticle *particleToCopy, int maxFailed, double yMin, double yMax, double radMin, double radMax, double chuteAngle, double fixedParticleRadius, bool isHopperCentred_, int hopperDim, double hopperAngle, double hopperLength, double hopperExitLength, double hopperHeight, double lift, double fillPercent)
Sets all boundary properties at once.
Used for modeling chute inflow. Inherits from InsertionBoundary.
virtual void writeRestartFile()
Stores all the particle data for current save time step. Calls the write function.
This is a class defining walls.
Implementation of a 3D vector (by Vitaliy).
void set(Mdouble radius)
Defines a standard wall, given an outward normal vector s. t. normal*x=position.
void set(BaseParticle *particleToCopy, unsigned int maxFailed, Vec3D posMin, Vec3D posMax, double radMin, double radMax, double fixedParticleRadius, double inflowVelocity, double inflowVelocityVariance)
Sets all boundary properties at once.
This class defines a coil in the z-direction from a (constant) starting point, a (constant) length L...
void setOpenMode(std::fstream::openmode openMode)
Allows the user to Sets File::openMode_.
void set(const Vec3D &normal, Mdouble distance)
Sets boundary position based on a normal and distance.