26 #ifndef SPHERICALINDENTER_H
27 #define SPHERICALINDENTER_H
163 os <<
"time\tdisplacement\tforce\tdirection\n";
169 os << std::setw(12) <<
getTime()
184 static Mdouble timeToRetract = 0;
197 timeToRetract = 1.1 *
getTime();
223 logger(
INFO,
"measured elastic displacement = %\n"
238 bedHeight = std::max(bedHeight, p->getPosition().Z + p->getRadius());
Logger< MERCURYDPM_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
T * getLastObject()
Gets a pointer to the last Object in this BaseHandler.
Definition: BaseHandler.h:634
const Vec3D & getForce() const
Returns the force on this BaseInteractable.
Definition: BaseInteractable.h:126
void sumForceTorqueOMP()
Definition: BaseInteractable.cc:162
virtual void resetForceTorque(int numberOfOMPthreads)
Definition: BaseInteractable.cc:141
virtual const Vec3D & getVelocity() const
Returns the velocity of this interactable.
Definition: BaseInteractable.cc:329
void setVelocity(const Vec3D &velocity)
set the velocity of the BaseInteractable.
Definition: BaseInteractable.cc:350
virtual void setPosition(const Vec3D &position)
Sets the position of this BaseInteractable.
Definition: BaseInteractable.h:239
virtual void move(const Vec3D &move)
Moves this BaseInteractable by adding an amount to the position.
Definition: BaseInteractable.cc:215
const Vec3D & getPosition() const
Returns the position of this BaseInteractable.
Definition: BaseInteractable.h:218
unsigned int getId() const
Returns the unique identifier of any particular object.
Definition: BaseObject.h:125
unsigned int getIndex() const
Returns the index of the object in the handler.
Definition: BaseObject.h:118
void setIndex(unsigned int index)
Allows one to assign an index to an object in the handler/container.
Definition: BaseObject.cc:64
void setId(unsigned long id)
Assigns a unique identifier to each object in the handler (container) which remains constant even aft...
Definition: BaseObject.cc:72
Definition: BaseParticle.h:54
bool isFixed() const override
Is fixed Particle function. It returns whether a Particle is fixed or not, by checking its inverse Ma...
Definition: BaseParticle.h:93
Mdouble getRadius() const
Returns the particle's radius.
Definition: BaseParticle.h:348
void fixParticle()
Fix Particle function. It fixes a Particle by setting its inverse mass and inertia and velocities to ...
Definition: BaseParticle.cc:167
void setHandler(ParticleHandler *handler)
Sets the pointer to the particle's ParticleHandler.
Definition: BaseParticle.cc:663
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
int getNumberOfOMPThreads() const
Definition: DPMBase.cc:1286
Mdouble getXMin() const
If the length of the problem domain in x-direction is XMax - XMin, then getXMin() returns XMin.
Definition: DPMBase.h:619
virtual void computeInternalForce(BaseParticle *, BaseParticle *)
Computes the forces between two particles (internal in the sense that the sum over all these forces i...
Definition: DPMBase.cc:3104
Mdouble getXMax() const
If the length of the problem domain in x-direction is XMax - XMin, then getXMax() returns XMax.
Definition: DPMBase.h:626
SpeciesHandler speciesHandler
A handler to that stores the species type i.e. LinearViscoelasticSpecies, etc.
Definition: DPMBase.h:1427
Mdouble getYMin() const
If the length of the problem domain in y-direction is YMax - YMin, then getYMin() returns YMin.
Definition: DPMBase.h:632
Mdouble getTimeStep() const
Returns the simulation time step.
Definition: DPMBase.cc:1250
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
virtual void outputXBallsDataParticle(unsigned int i, unsigned int format, std::ostream &os) const
This function writes out the particle locations into an output stream in a format the XBalls program ...
ParticleHandler particleHandler
An object of the class ParticleHandler, contains the pointers to all the particles created.
Definition: DPMBase.h:1437
Mdouble getYMax() const
If the length of the problem domain in y-direction is YMax - YMin, then getYMax() returns XMax.
Definition: DPMBase.h:638
void setTimeMax(Mdouble newTMax)
Sets a new value for the maximum simulation duration.
Definition: DPMBase.cc:873
virtual void computeExternalForces(BaseParticle *)
Computes the external forces, such as gravity, acting on particles.
Definition: DPMBase.cc:3159
Mdouble getElasticEnergy() const
Returns the global elastic energy within the system.
Definition: DPMBase.cc:1530
Mdouble getZMax() const
If the length of the problem domain in z-direction is ZMax - ZMin, then getZMax() returns ZMax.
Definition: DPMBase.h:650
Mdouble getZMin() const
If the length of the problem domain in z-direction is ZMax - ZMin, then getZMin() returns ZMin.
Definition: DPMBase.h:644
This adds on the hierarchical grid code for 3D problems.
Definition: Mercury3D.h:37
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
Definition: SphericalIndenter.h:35
Mdouble measuredForceGradient
Definition: SphericalIndenter.h:252
Mdouble measuredElasticDisplacement
Definition: SphericalIndenter.h:253
SphericalParticle indenter_
Definition: SphericalIndenter.h:245
Mdouble indentationForce_
Definition: SphericalIndenter.h:248
void printTime() const override
Definition: SphericalIndenter.h:148
Mdouble indenterDiameter_
Definition: SphericalIndenter.h:246
Mdouble getIndenterHeight() const
Definition: SphericalIndenter.h:81
void setupInitialConditions() override
Definition: SphericalIndenter.h:53
Mdouble indentationVelocity_
Definition: SphericalIndenter.h:247
void setIndentationForce(Mdouble indentationForce)
Definition: SphericalIndenter.h:76
SphericalIndenter(Mdouble indenterDiameter, Mdouble indentationVelocity, Mdouble indentationForce)
Definition: SphericalIndenter.h:39
void setIndenterVelocity(Mdouble indentationVelocity_)
Definition: SphericalIndenter.h:98
void outputXBallsData(std::ostream &os) const override
Definition: SphericalIndenter.h:123
Mdouble getIndenterVelocity() const
Definition: SphericalIndenter.h:103
void actionsBeforeTimeStep() override
Definition: SphericalIndenter.h:117
void actionsBeforeTimeLoop() override
A virtual function. Allows one to carry out any operations before the start of the time loop.
Definition: SphericalIndenter.h:138
void actionsAfterTimeStep() override
A virtual function which allows to define operations to be executed after time step.
Definition: SphericalIndenter.h:180
Mdouble getForceOnIndenter() const
Definition: SphericalIndenter.h:93
void writeEneHeader(std::ostream &os) const override
Definition: SphericalIndenter.h:161
Mdouble measuredIndentation
Definition: SphericalIndenter.h:251
Mdouble getBedHeight()
Definition: SphericalIndenter.h:233
void setIndenterHeight(Mdouble height)
Definition: SphericalIndenter.h:86
void computeExternalForces(BaseParticle *p) override
Definition: SphericalIndenter.h:109
void writeEneTimeStep(std::ostream &os) const override
Definition: SphericalIndenter.h:167
Mdouble measuredIndentationForce
Definition: SphericalIndenter.h:250
Mdouble getIndentationForce() const
Definition: SphericalIndenter.h:71
A spherical particle is the most simple particle used in MercuryDPM.
Definition: SphericalParticle.h:37
Mdouble Z
Definition: Vector.h:66
const std::complex< Mdouble > i
Definition: ExtendedMath.h:51