59 #pragma omp for schedule(dynamic)
63 if ((
p->isPebble()) && (
p->getPeriodicFromParticle() ==
nullptr))
65 p->getClump()->addForce(
p->getForce());
66 Vec3D lever =
p->getPosition()-
p->getClump()->getPosition();
75 if (lever.
getLength() > (lever - shift).getLength()) lever -= shift;
76 if (lever.
getLength() > (lever + shift).getLength()) lever += shift;
81 Vec3D torque =
p->getTorque();
83 p->getClump()->addTorque(torque);
134 pb->shiftPosition(q1);
139 if (dist2 < dist02) {
int i
Definition: BiCGSTAB_step_by_step.cpp:9
RowVector3d w
Definition: Matrix_resize_int.cpp:3
float * p
Definition: Tutorial_Map_using.cpp:9
Scalar * b
Definition: benchVecAdd.cpp:17
Definition: BaseBoundary.h:28
const Vec3D & getPosition() const
Returns the position of this BaseInteractable.
Definition: BaseInteractable.h:197
Definition: BaseParticle.h:33
bool isPebble() const
Checks if particle is a pebble (belongs to a clump)
Definition: BaseParticle.h:639
bool isClump() const
Checks if particle is a clump (container)
Definition: BaseParticle.h:630
Mdouble getMaxInteractionRadius() const
Returns the particle's interaction radius, which might be different from radius_ (e....
Definition: BaseParticle.h:345
BaseParticle * getClump() const
Definition: BaseParticle.h:622
Basic class for walls.
Definition: BaseWall.h:28
Definition: ClumpParticle.h:20
std::vector< Mdouble > getPebbleRadii()
Definition: ClumpParticle.h:253
int NPebble() const
Definition: ClumpParticle.cc:90
std::vector< Vec3D > getPebblePositions()
Definition: ClumpParticle.h:242
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
virtual void computeForcesDueToWalls(BaseParticle *, BaseWall *)
Computes the forces on the particles due to the walls (normals are outward normals)
Definition: DPMBase.cc:3218
BoundaryHandler boundaryHandler
An object of the class BoundaryHandler which concerns insertion and deletion of particles into or fro...
Definition: DPMBase.h:1458
virtual void computeAllForces()
Computes all the forces acting on the particles using the BaseInteractable::setForce() and BaseIntera...
Definition: DPMBase.cc:3427
ParticleHandler particleHandler
An object of the class ParticleHandler, contains the pointers to all the particles created.
Definition: DPMBase.h:1443
This adds on the hierarchical grid code for 3D problems.
Definition: Mercury3D.h:16
Definition: Mercury3DClump.h:17
void computeForcesDueToWalls(BaseParticle *pI, BaseWall *w) override
Definition: Mercury3DClump.h:43
void computeInternalForce(BaseParticle *P1, BaseParticle *P2) override
Definition: Mercury3DClump.h:27
bool checkClumpForInteractionPeriodic(BaseParticle &particle)
Definition: Mercury3DClump.h:112
Mercury3Dclump()
Definition: Mercury3DClump.h:19
bool checkClumpForInteraction(BaseParticle &particle)
Definition: Mercury3DClump.h:91
void computeAllForces() override
Definition: Mercury3DClump.h:55
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
Defines a pair of periodic walls. Inherits from BaseBoundary.
Definition: PeriodicBoundary.h:20
Definition: Kernel/Math/Vector.h:30
static Vec3D cross(const Vec3D &a, const Vec3D &b)
Calculates the cross product of two Vec3D: .
Definition: Vector.cc:143
static Mdouble getLength(const Vec3D &a)
Calculates the length of a Vec3D: .
Definition: Vector.cc:350
static Mdouble getDistanceSquared(const Vec3D &a, const Vec3D &b)
Calculates the squared distance between two Vec3D: .
Definition: Kernel/Math/Vector.h:303
const char const int const int const RealScalar const RealScalar const int const RealScalar * pb
Definition: level2_impl.h:28
EIGEN_DEVICE_FUNC const Scalar & q
Definition: SpecialFunctionsImpl.h:2019