26 #ifndef CHUTEWITHHOPPER_H
27 #define CHUTEWITHHOPPER_H
204 virtual void read(std::istream& is);
209 void write(std::ostream& os,
bool writeAllParticles=
true)
const;
void setHopperLowerFillingHeight(Mdouble hopperLowerFillingHeight)
Sets the height above which the hopper is filled with new particles.
The DPMBase header includes quite a few header files, defining all the handlers, which are essential...
void setHopperFillingPercentage(Mdouble hopperFillingPercentage)
Sets the hopper filling percentage.
void addHopper()
This creates the hopper on top of the chute, see diagram in class description for details of the poin...
Mdouble getHopperLength()
Returns the width of the hopper entrance.
Mdouble hopperExitHeight_
Dimension of the hopper exit in vertical direction.
Mdouble getChuteLength()
Allows chute length to be accessed.
Mdouble getHopperShift()
Returns the shift in X-direction of the whole setup after rotation.
void setHopper(Mdouble ExitLength, Mdouble ExitHeight, Mdouble Angle, Mdouble Length, Mdouble Height)
Sets the hopper's geometrical properties.
Mdouble hopperLowestPoint_
The NEGATIVE z coordinate of the right C point (when the left C point is in the origin) ...
void setHopperLowestPoint(Mdouble hopperLowestPoint)
Sets the vertical distance of the lowest hopper point relative to the start of the chute...
Mdouble hopperLowerFillingHeight_
Relative height (in [0,1)) above which the hopper is replenished with new particles.
Mdouble getHopperLowestPoint()
Returns the vertical distance of the lowest hopper point relative to the start of the chute...
bool getIsHopperCentred()
Returns whether the setup is shifted another 40 units in X-direction.
Mdouble getHopperAngle()
Returns the angle of the hopper entrance relative to the vertical.
void setHopperShift(Mdouble hopperShift)
Sets the shift in X-direction of the whole setup after rotation.
void setHopperLift(Mdouble hopperLift)
This lifts the hopper above the plane of the chute (after rotation)
bool isHopperCentred_
If this flag is set, the hopper will be constructed in the xy-center of the domain, and not next to the xmin-domain boundary; by default off.
Creates chutes with different bottoms. Inherits from Mercury3D (-> MercuryBase -> DPMBase)...
This is the base class for both Mercury2D and Mercury3D. Note the actually abstract grid is defined i...
Mdouble hopperShift_
The x position where the Chute starts (defined as the beginning of the hopper)
unsigned int getHopperDimension()
Returns whether the hopper has vertical (1) or inclined (2) walls in Y-direction. ...
unsigned int hopperDimension_
This is the dimension of the hopper, my default it is one dimensional and hence does not have side wa...
Mdouble hopperLength_
Dimension of the hopper in vertical direction.
This adds on the hierarchical grid code for 3D problems.
Mdouble getHopperFillingPercentage()
Returns the vertical percentage of the hopper insertion boundary which is filled. ...
Mdouble getHopperHeight()
Returns the height of the hopper relative to the chute start.
Mdouble getHopperExitHeight()
Returns the height of the lowest hopper point above the chute.
ChuteWithHopper()
This is the default constructor.
bool readNextArgument(int &i, int argc, char *argv[])
Reads setup properties from a string.
ChuteWithHopper has a hopper as inflow.
Mdouble getHopperLift()
Returns the hopper's lift above the chute bottom plane.
virtual void read(std::istream &is)
Reads setup properties from an istream.
Mdouble getHopperExitLength()
Returns the width of the hopper exit.
Mdouble getMaximumVelocityInducedByGravity()
Returns the theoretical maximum particle velocity due to gravity.
void setChuteLength(Mdouble chuteLength)
sets xMax to chuteLength+hopperlength_, and thus specifies the length off the runoff chute ...
bool isHopperAlignedWithBottom_
This is the flag, which sets if the chute bottom is aligned with the hopper, by default it is...
Mdouble hopperHeight_
Dimension of the hopper in horizontal direction.
Mdouble hopperAngle_
Angle between the two pieces of the hopper walls.
Mdouble hopperFillingPercentage_
This is which percentage of the hopper is used for creating new partices;.
void setIsHopperCentred(bool isHopperCentred)
Sets an extra shift in X-direction of the whole system.
virtual void setupInitialConditions()
Sets up the initial conditions for the problem.
void write(std::ostream &os, bool writeAllParticles=true) const
Writes setup properties to an ostream.
void setHopperDimension(Mdouble hopperDimension)
Sets whether the hopper should have vertical (1) or inclined (2) walls in Y-direction.
Mdouble hopperLift_
This is the vertical distance the chute is lifted above the plane.
void constructor()
This is the actually constructor, get called by all constructors above.
void setIsHopperAlignedWithBottom(bool isHopperAlignedWithBottom)
Sets the alignment of hopper with chute bottom.
Mdouble getTimeStepRatio()
Returns smallest particle radius over maximum gravitational velocity.
Mdouble hopperExitLength_
Dimension of the hopper exit in vertical direction.