47 logger(
DEBUG,
"BoundaryHandler::BoundaryHandler() finished");
59 logger(
DEBUG,
"BoundaryHandler::BoundaryHandler(const BoundaryHandler &BH) finished");
74 logger(
DEBUG,
"BoundaryHandler BoundaryHandler::operator =(const BoundaryHandler& rhs)");
81 logger(
DEBUG,
"BoundaryHandler::~BoundaryHandler() finished");
102 if (type ==
"AngledPeriodicBoundary")
105 is >> AngledPeriodicBoundary;
108 else if (type ==
"ChuteInsertionBoundary")
111 is >> chuteInsertionBoundary;
114 else if (type ==
"CubeInsertionBoundary")
117 is >> cubeInsertionBoundary;
120 else if (type ==
"CircularPeriodicBoundary")
123 is >> circularPeriodicBoundary;
126 else if (type ==
"DeletionBoundary")
129 is >> deletionBoundary;
132 else if (type ==
"HopperInsertionBoundary")
135 is >> hopperInsertionBoundary;
138 else if (type ==
"PeriodicBoundary")
141 is >> periodicBoundary;
144 else if (type.compare(
"LeesEdwardsBoundary") == 0)
147 is >> leesEdwardsBoundary;
151 else if (type ==
"normal")
157 logger(
ERROR,
"Boundary type: % not understood in restart file.", type);
168 std::stringstream line(std::stringstream::in | std::stringstream::out);
173 Mdouble positionLeft, positionRight;
176 line >> normal >> dummy >> positionLeft >> dummy >> positionRight;
177 periodicBoundary.
set(normal, positionLeft, positionRight);
184 return "BoundaryHandler";
void set(Vec3D normal, Mdouble distanceLeft, Mdouble distanceRight)
Defines a periodic wall.
Container to store pointers to all BaseBoundary objects.
Class which creates a boundary with Lees-Edwards type periodic boundary conditions.
Logger< MERCURY_LOGLEVEL > logger("MercuryKernel")
BoundaryHandler()
Default constructor, it creates an empty BoundaryHandler.
void readOldObject(std::istream &is)
Reads a periodic boundary from old-style restart data.
Used for removing particles from the problem. Inherits from BaseBoundary.
std::string getName() const
Returns the name of the handler, namely the string "BoundaryHandler".
used to create a circular periodic boundary
Defines a pair of periodic walls. Inherits from BaseBoundary.
void readObject(std::istream &is)
Reads BaseBoundary into the BoundaryHandler from restart data.
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.
void getLineFromStringStream(std::istream &in, std::stringstream &out)
Reads a line from one stringstream into another, and prepares the latter for reading in...
void setHandler(BoundaryHandler *handler)
Sets the boundary's BoundaryHandler.
virtual void addObject(T *O)
Adds a new Object to the BaseHandler.
Container to store the pointers to all objects that one creates in a simulation.
Inherits from InsertionBoundary Some images are useful to better understand the structure of both the...
BoundaryHandler operator=(const BoundaryHandler &rhs)
Assignment operator, copies only the vector of BaseBoundary and sets the other variables to 0/nullptr...
Used for modeling chute inflow. Inherits from InsertionBoundary.
void copyContentsFromOtherHandler(const BaseHandler< BaseBoundary > &BH)
Function that copies the contents (vector of pointers, maxObject_, nextId_, DPMBase_) from one handle...
Implementation of a 3D vector (by Vitaliy).
void addObject(BaseBoundary *P)
Adds a BaseBoundary to the BoundaryHandler.
~BoundaryHandler()
Destructor, it destructs the BoundaryHandler and all BaseBoundary it contains.
void clear()
Empties the whole BaseHandler by removing all Objects and setting all other variables to 0...