5 #ifndef SPHERICALINDENTER_H
6 #define SPHERICALINDENTER_H
142 os <<
"time\tdisplacement\tforce\tdirection\n";
148 os << std::setw(12) <<
getTime()
163 static Mdouble timeToRetract = 0;
176 timeToRetract = 1.1 *
getTime();
202 logger(
INFO,
"measured elastic displacement = %\n"
217 bedHeight =
std::max(bedHeight,
p->getPosition().Z +
p->getRadius());
AnnoyingScalar sqrt(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:134
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Logger< MERCURYDPM_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
float * p
Definition: Tutorial_Map_using.cpp:9
T * getLastObject()
Gets a pointer to the last Object in this BaseHandler.
Definition: BaseHandler.h:642
const Vec3D & getForce() const
Returns the force on this BaseInteractable.
Definition: BaseInteractable.h:105
void sumForceTorqueOMP()
Definition: BaseInteractable.cc:140
virtual void resetForceTorque(int numberOfOMPthreads)
Definition: BaseInteractable.cc:119
virtual const Vec3D & getVelocity() const
Returns the velocity of this interactable.
Definition: BaseInteractable.cc:307
void setVelocity(const Vec3D &velocity)
set the velocity of the BaseInteractable.
Definition: BaseInteractable.cc:328
virtual void setPosition(const Vec3D &position)
Sets the position of this BaseInteractable.
Definition: BaseInteractable.h:218
virtual void move(const Vec3D &move)
Moves this BaseInteractable by adding an amount to the position.
Definition: BaseInteractable.cc:193
const Vec3D & getPosition() const
Returns the position of this BaseInteractable.
Definition: BaseInteractable.h:197
unsigned int getId() const
Returns the unique identifier of any particular object.
Definition: BaseObject.h:104
unsigned int getIndex() const
Returns the index of the object in the handler.
Definition: BaseObject.h:97
void setIndex(unsigned int index)
Allows one to assign an index to an object in the handler/container.
Definition: BaseObject.cc:42
void setId(unsigned long id)
Assigns a unique identifier to each object in the handler (container) which remains constant even aft...
Definition: BaseObject.cc:50
Definition: BaseParticle.h:33
Mdouble getRadius() const
Returns the particle's radius.
Definition: BaseParticle.h:331
void fixParticle()
Fix Particle function. It fixes a Particle by setting its inverse mass and inertia and velocities to ...
Definition: BaseParticle.cc:150
void setHandler(ParticleHandler *handler)
Sets the pointer to the particle's ParticleHandler.
Definition: BaseParticle.cc:640
virtual void setRadius(Mdouble radius)
Sets the particle's radius_ (and adjusts the mass_ accordingly, based on the particle's species)
Definition: BaseParticle.cc:548
virtual void setSpecies(const ParticleSpecies *species)
Definition: BaseParticle.cc:798
int getNumberOfOMPThreads() const
Returns the number of omp threads.
Definition: DPMBase.cc:1277
Mdouble getXMin() const
If the length of the problem domain in x-direction is XMax - XMin, then getXMin() returns XMin.
Definition: DPMBase.h:603
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:3143
Mdouble getXMax() const
If the length of the problem domain in x-direction is XMax - XMin, then getXMax() returns XMax.
Definition: DPMBase.h:610
SpeciesHandler speciesHandler
A handler to that stores the species type i.e. LinearViscoelasticSpecies, etc.
Definition: DPMBase.h:1433
Mdouble getYMin() const
If the length of the problem domain in y-direction is YMax - YMin, then getYMin() returns YMin.
Definition: DPMBase.h:616
Mdouble getTimeStep() const
Returns the simulation time step.
Definition: DPMBase.cc:1241
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
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:1443
Mdouble getYMax() const
If the length of the problem domain in y-direction is YMax - YMin, then getYMax() returns XMax.
Definition: DPMBase.h:622
void setTimeMax(Mdouble newTMax)
Sets a new value for the maximum simulation duration.
Definition: DPMBase.cc:864
virtual void computeExternalForces(BaseParticle *)
Computes the external forces, such as gravity, acting on particles.
Definition: DPMBase.cc:3198
Mdouble getElasticEnergy() const
Returns the global elastic energy within the system.
Definition: DPMBase.cc:1521
Mdouble getZMax() const
If the length of the problem domain in z-direction is ZMax - ZMin, then getZMax() returns ZMax.
Definition: DPMBase.h:634
Mdouble getZMin() const
If the length of the problem domain in z-direction is ZMax - ZMin, then getZMin() returns ZMin.
Definition: DPMBase.h:628
This adds on the hierarchical grid code for 3D problems.
Definition: Mercury3D.h:16
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
Definition: SphericalIndenter.h:14
Mdouble measuredForceGradient
Definition: SphericalIndenter.h:231
Mdouble measuredElasticDisplacement
Definition: SphericalIndenter.h:232
SphericalParticle indenter_
Definition: SphericalIndenter.h:224
Mdouble indentationForce_
Definition: SphericalIndenter.h:227
void printTime() const override
Definition: SphericalIndenter.h:127
Mdouble indenterDiameter_
Definition: SphericalIndenter.h:225
Mdouble getIndenterHeight() const
Definition: SphericalIndenter.h:60
void setupInitialConditions() override
Definition: SphericalIndenter.h:32
Mdouble indentationVelocity_
Definition: SphericalIndenter.h:226
void setIndentationForce(Mdouble indentationForce)
Definition: SphericalIndenter.h:55
SphericalIndenter(Mdouble indenterDiameter, Mdouble indentationVelocity, Mdouble indentationForce)
Definition: SphericalIndenter.h:18
void setIndenterVelocity(Mdouble indentationVelocity_)
Definition: SphericalIndenter.h:77
void outputXBallsData(std::ostream &os) const override
Definition: SphericalIndenter.h:102
Mdouble getIndenterVelocity() const
Definition: SphericalIndenter.h:82
void actionsBeforeTimeStep() override
Definition: SphericalIndenter.h:96
void actionsBeforeTimeLoop() override
A virtual function. Allows one to carry out any operations before the start of the time loop.
Definition: SphericalIndenter.h:117
void actionsAfterTimeStep() override
A virtual function which allows to define operations to be executed after time step.
Definition: SphericalIndenter.h:159
Mdouble getForceOnIndenter() const
Definition: SphericalIndenter.h:72
void writeEneHeader(std::ostream &os) const override
Definition: SphericalIndenter.h:140
Mdouble measuredIndentation
Definition: SphericalIndenter.h:230
Mdouble getBedHeight()
Definition: SphericalIndenter.h:212
void setIndenterHeight(Mdouble height)
Definition: SphericalIndenter.h:65
void computeExternalForces(BaseParticle *p) override
Definition: SphericalIndenter.h:88
void writeEneTimeStep(std::ostream &os) const override
Definition: SphericalIndenter.h:146
Mdouble measuredIndentationForce
Definition: SphericalIndenter.h:229
Mdouble getIndentationForce() const
Definition: SphericalIndenter.h:50
A spherical particle is the most simple particle used in MercuryDPM.
Definition: SphericalParticle.h:16
Definition: Kernel/Math/Vector.h:30
Mdouble Z
Definition: Kernel/Math/Vector.h:45
#define max(a, b)
Definition: datatypes.h:23
double height(const double &x)
Height of domain.
Definition: simple_spine_channel.cc:429