193 const Vec3D quarterTurn = {2,0,0};
194 blade.
rotate(quarterTurn);
196 blade.
rotate(quarterTurn);
198 blade.
rotate(quarterTurn);
222 const Vec3D quarterTurn = {2,0,0};
223 blade.
rotate(quarterTurn);
226 blade.
rotate(quarterTurn);
229 blade.
rotate(quarterTurn);
252 const Vec3D quarterTurn = {2,0,0};
263 leftBlade.
rotate(quarterTurn);
265 leftBlade.
rotate(quarterTurn);
266 leftBlade.
rotate(quarterTurn);
278 rightBlade.
rotate(quarterTurn);
279 rightBlade.
rotate(quarterTurn);
@ MULTIPLE_FILES
each time-step will be written into/read from separate files numbered consecutively: name_....
Logger< MERCURYDPM_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
@ Z
Definition: StatisticsVector.h:42
Use AxisymmetricIntersectionOfWalls to Screw Screw::read Screw::read Screw::read define axisymmetric ...
Definition: AxisymmetricIntersectionOfWalls.h:126
void setAxis(Vec3D a)
Definition: AxisymmetricIntersectionOfWalls.cc:152
std::enable_if<!std::is_pointer< U >::value, U * >::type copyAndAddObject(const U &object)
Creates a copy of a Object and adds it to the BaseHandler.
Definition: BaseHandler.h:379
virtual void setPosition(const Vec3D &position)
Sets the position of this BaseInteractable.
Definition: BaseInteractable.h:239
virtual void rotate(const Vec3D &angularVelocityDt)
Rotates this BaseInteractable.
Definition: BaseInteractable.cc:230
virtual Mdouble getVolume() const
Get Particle volume function, which required a reference to the Species vector. It returns the volume...
Definition: BaseParticle.cc:143
virtual void setRadius(Mdouble radius)
Sets the particle's radius_ (and adjusts the mass_ accordingly, based on the particle's species)
Definition: BaseParticle.cc:553
void setSpecies(const ParticleSpecies *species)
Definition: BaseParticle.cc:818
Basic class for walls.
Definition: BaseWall.h:49
void setSpecies(const ParticleSpecies *species)
Defines the species of the current wall.
Definition: BaseWall.cc:169
It's an insertion boundary which has cuboidal shape (yes, 'CuboidalInsertionBoundary' would have been...
Definition: CubeInsertionBoundary.h:42
void set(BaseParticle *particleToCopy, unsigned int maxFailed, Vec3D posMin, Vec3D posMax, Vec3D velMin={0, 0, 0}, Vec3D velMax={0, 0, 0})
Sets the properties of the InsertionBoundary for mutliple different particle types.
Definition: CubeInsertionBoundary.cc:107
void setSaveCount(unsigned int saveCount)
Sets File::saveCount_ for all files (ene, data, fstat, restart, stat)
Definition: DPMBase.cc:408
Mdouble getTime() const
Returns the current simulation time.
Definition: DPMBase.cc:808
Mdouble getKineticEnergy() const
Returns the global kinetic energy stored in the system.
Definition: DPMBase.cc:1544
WallHandler wallHandler
An object of the class WallHandler. Contains pointers to all the walls created.
Definition: DPMBase.h:1447
Vec3D getMax() const
Definition: DPMBase.h:670
void setMin(const Vec3D &min)
Sets the minimum coordinates of the problem domain.
Definition: DPMBase.cc:1118
BoundaryHandler boundaryHandler
An object of the class BoundaryHandler which concerns insertion and deletion of particles into or fro...
Definition: DPMBase.h:1452
Vec3D getMin() const
Definition: DPMBase.h:664
ParticleHandler particleHandler
An object of the class ParticleHandler, contains the pointers to all the particles created.
Definition: DPMBase.h:1437
Vec3D getCentreOfMass() const
JMFT: Return the centre of mass of the system, excluding fixed particles.
Definition: DPMBase.cc:1614
void setMax(const Vec3D &max)
Sets the maximum coordinates of the problem domain.
Definition: DPMBase.cc:1082
void setGravity(Vec3D newGravity)
Sets a new value for the gravitational acceleration.
Definition: DPMBase.cc:1383
Mdouble getElasticEnergy() const
Returns the global elastic energy within the system.
Definition: DPMBase.cc:1530
A infinite wall fills the half-space {point: (position_-point)*normal_<=0}.
Definition: InfiniteWall.h:48
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...
Definition: InfiniteWall.cc:118
void setPSD(const PSD psd)
Sets the range of particle radii that may be generated from a user defined PSD.
Definition: InsertionBoundary.cc:675
void setInitialVolume(Mdouble initialVolume)
Gets the Volume which should be inserted by the insertion routine.
Definition: InsertionBoundary.cc:643
A IntersectionOfWalls is convex polygon defined as an intersection of InfiniteWall's.
Definition: IntersectionOfWalls.h:59
void addObject(Vec3D normal, Vec3D point)
Adds a wall to the set of infinite walls, given a normal vector pointing into the wall (i....
Definition: IntersectionOfWalls.cc:138
void createPrism(std::vector< Vec3D > points, Vec3D prismAxis)
Creates an open prism which is a polygon between the points and extends infinitely in the PrismAxis d...
Definition: IntersectionOfWalls.cc:482
void createOpenPrism(std::vector< Vec3D > points, Vec3D prismAxis)
Creates an open prism which is a polygon between the points, except the first and last point,...
Definition: IntersectionOfWalls.cc:467
void setSpecies(const ParticleSpecies *species)
sets species of subwalls as well
Definition: IntersectionOfWalls.cc:72
Definition: Material.h:33
PSD psd
Definition: Material.h:35
ParticleSpecies * frictionalWallSpecies
Definition: Material.h:37
ParticleSpecies * particleSpecies
Definition: Material.h:36
Mdouble getVolumeDx(Mdouble x) const
Calculate a certain diameter (e.g. D10, D50, D90, etc.) from a percentile x of the volume based PSD.
Definition: PSD.cc:777
unsigned int getNumberOfObjects() const override
Returns the number of objects in the container. In parallel code this practice is forbidden to avoid ...
Definition: ParticleHandler.cc:1325
A spherical particle is the most simple particle used in MercuryDPM.
Definition: SphericalParticle.h:37
void setWriteVTK(FileType)
Sets whether walls are written into a VTK file.
Definition: WallHandler.cc:467
const Mdouble pi
Definition: ExtendedMath.h:45
Mdouble cos(Mdouble x)
Definition: ExtendedMath.cc:64
Mdouble sin(Mdouble x)
Definition: ExtendedMath.cc:44
Definition: VerticalMixer.h:203
void addBlades() override
Definition: VerticalMixer.h:209
Mdouble bladeAngle_
Definition: VerticalMixer.h:207
void addPrettyBlades() override
Definition: VerticalMixer.h:234
VerticalMixerAngledBlades(int argc, char *argv[])
Definition: VerticalMixer.h:205
Definition: VerticalMixer.h:177
void addBlades() override
Definition: VerticalMixer.h:184
Mdouble bladeWidth_
Definition: VerticalMixer.h:181
VerticalMixerStraightBlades(int argc, char *argv[])
Definition: VerticalMixer.h:179
Mdouble bladeHeight_
Definition: VerticalMixer.h:182
Definition: VerticalMixer.h:33
Mdouble particleRadius_
Definition: VerticalMixer.h:37
bool prettyWalls_
Definition: VerticalMixer.h:43
Mdouble drumRadius_
Definition: VerticalMixer.h:38
void setupInitialConditions() override
This function allows to set the initial conditions for our problem to be solved, by default particle ...
Definition: VerticalMixer.h:46
VerticalMixer(int argc, char *argv[])
Definition: VerticalMixer.h:35
Vec3D angularVelocity
Definition: VerticalMixer.h:40
virtual void addPrettyBlades()
Definition: VerticalMixer.h:174
Mdouble drumLength_
Definition: VerticalMixer.h:39
Mdouble particleNumber_
Definition: VerticalMixer.h:41
void printTime() const override
Displays the current simulation time and the maximum simulation duration.
Definition: VerticalMixer.h:166
virtual void addBlades()
Definition: VerticalMixer.h:172
bool haveOuterWalls
Definition: VerticalMixer.h:44