172 const Vec3D quarterTurn = {2,0,0};
173 blade.
rotate(quarterTurn);
175 blade.
rotate(quarterTurn);
177 blade.
rotate(quarterTurn);
201 const Vec3D quarterTurn = {2,0,0};
202 blade.
rotate(quarterTurn);
205 blade.
rotate(quarterTurn);
208 blade.
rotate(quarterTurn);
231 const Vec3D quarterTurn = {2,0,0};
242 leftBlade.
rotate(quarterTurn);
244 leftBlade.
rotate(quarterTurn);
245 leftBlade.
rotate(quarterTurn);
257 rightBlade.
rotate(quarterTurn);
258 rightBlade.
rotate(quarterTurn);
AnnoyingScalar cos(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:136
AnnoyingScalar sin(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:137
@ 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.
RowVector3d w
Definition: Matrix_resize_int.cpp:3
float * p
Definition: Tutorial_Map_using.cpp:9
Use AxisymmetricIntersectionOfWalls to Screw Screw::read Screw::read Screw::read define axisymmetric ...
Definition: AxisymmetricIntersectionOfWalls.h:105
void setAxis(Vec3D a)
Definition: AxisymmetricIntersectionOfWalls.cc:149
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:360
virtual void setPosition(const Vec3D &position)
Sets the position of this BaseInteractable.
Definition: BaseInteractable.h:218
virtual void rotate(const Vec3D &angularVelocityDt)
Rotates this BaseInteractable.
Definition: BaseInteractable.cc:208
Basic class for walls.
Definition: BaseWall.h:28
void setSpecies(const ParticleSpecies *species)
Defines the species of the current wall.
Definition: BaseWall.cc:148
It's an insertion boundary which has cuboidal shape (yes, 'CuboidalInsertionBoundary' would have been...
Definition: CubeInsertionBoundary.h:21
void setSaveCount(unsigned int saveCount)
Sets File::saveCount_ for all files (ene, data, fstat, restart, stat)
Definition: DPMBase.cc:386
Mdouble getTime() const
Returns the current simulation time.
Definition: DPMBase.cc:799
Mdouble getKineticEnergy() const
Returns the global kinetic energy stored in the system.
Definition: DPMBase.cc:1535
WallHandler wallHandler
An object of the class WallHandler. Contains pointers to all the walls created.
Definition: DPMBase.h:1453
Vec3D getMax() const
Returns the maximum coordinates of the problem domain.
Definition: DPMBase.h:659
void setMin(const Vec3D &min)
Sets the minimum coordinates of the problem domain.
Definition: DPMBase.cc:1109
BoundaryHandler boundaryHandler
An object of the class BoundaryHandler which concerns insertion and deletion of particles into or fro...
Definition: DPMBase.h:1458
Vec3D getMin() const
Returns the minimum coordinates of the problem domain.
Definition: DPMBase.h:653
ParticleHandler particleHandler
An object of the class ParticleHandler, contains the pointers to all the particles created.
Definition: DPMBase.h:1443
Vec3D getCentreOfMass() const
JMFT: Return the centre of mass of the system, excluding fixed particles.
Definition: DPMBase.cc:1603
void setMax(const Vec3D &max)
Sets the maximum coordinates of the problem domain.
Definition: DPMBase.cc:1073
void setGravity(Vec3D newGravity)
Sets a new value for the gravitational acceleration.
Definition: DPMBase.cc:1374
Mdouble getElasticEnergy() const
Returns the global elastic energy within the system.
Definition: DPMBase.cc:1521
A infinite wall fills the half-space {point: (position_-point)*normal_<=0}.
Definition: InfiniteWall.h:27
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:97
A IntersectionOfWalls is convex polygon defined as an intersection of InfiniteWall's.
Definition: IntersectionOfWalls.h:38
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:117
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:461
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:446
void setSpecies(const ParticleSpecies *species)
sets species of subwalls as well
Definition: IntersectionOfWalls.cc:51
Definition: Material.h:12
PSD psd
Definition: Material.h:14
ParticleSpecies * frictionalWallSpecies
Definition: Material.h:16
ParticleSpecies * particleSpecies
Definition: Material.h:15
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:929
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:1323
A spherical particle is the most simple particle used in MercuryDPM.
Definition: SphericalParticle.h:16
Definition: Kernel/Math/Vector.h:30
void setWriteVTK(FileType)
Sets whether walls are written into a VTK file.
Definition: WallHandler.cc:445
#define Z
Definition: icosphere.cpp:21
RealScalar s
Definition: level1_cplx_impl.h:130
double angle(const double &t)
Angular position as a function of time t.
Definition: jeffery_orbit.cc:98
int c
Definition: calibrate.py:100
const Mdouble pi
Definition: ExtendedMath.h:23
Definition: VerticalMixer.h:182
void addBlades() override
Definition: VerticalMixer.h:188
Mdouble bladeAngle_
Definition: VerticalMixer.h:186
void addPrettyBlades() override
Definition: VerticalMixer.h:213
VerticalMixerAngledBlades(int argc, char *argv[])
Definition: VerticalMixer.h:184
Definition: VerticalMixer.h:156
void addBlades() override
Definition: VerticalMixer.h:163
Mdouble bladeWidth_
Definition: VerticalMixer.h:160
VerticalMixerStraightBlades(int argc, char *argv[])
Definition: VerticalMixer.h:158
Mdouble bladeHeight_
Definition: VerticalMixer.h:161
Definition: VerticalMixer.h:12
Mdouble particleRadius_
Definition: VerticalMixer.h:16
bool prettyWalls_
Definition: VerticalMixer.h:22
Mdouble drumRadius_
Definition: VerticalMixer.h:17
void setupInitialConditions() override
This function allows to set the initial conditions for our problem to be solved, by default particle ...
Definition: VerticalMixer.h:25
VerticalMixer(int argc, char *argv[])
Definition: VerticalMixer.h:14
Vec3D angularVelocity
Definition: VerticalMixer.h:19
virtual void addPrettyBlades()
Definition: VerticalMixer.h:153
Mdouble drumLength_
Definition: VerticalMixer.h:18
Mdouble particleNumber_
Definition: VerticalMixer.h:20
void printTime() const override
Displays the current simulation time and the maximum simulation duration.
Definition: VerticalMixer.h:145
virtual void addBlades()
Definition: VerticalMixer.h:151
bool haveOuterWalls
Definition: VerticalMixer.h:23