PeriDEM 0.3.0
PeriDEM -- Peridynamics-based high-fidelity model for granular media
Loading...
Searching...
No Matches
LateralProbe Class Reference
Inheritance diagram for LateralProbe:
Collaboration diagram for LateralProbe:

Public Member Functions

 LateralProbe (double ic_abs_vx)
 
void checkStop (data::ModelData &data) override
 
bool contacted () const
 
double maxAbsVx () const
 
double minAbsVxAfterContact () const
 
double icAbsVx () const
 
- Public Member Functions inherited from postprocess::Postprocess
virtual ~Postprocess ()=default
 
virtual void close (data::ModelData &data)
 
virtual std::string twoParticle (data::ModelData &data)
 
virtual std::string compressive (data::ModelData &data)
 

Private Attributes

double d_icAbsVx = 0.
 
double d_maxAbsVx = 0.
 
double d_minAbsVxAfterContact = 1.0e300
 
bool d_contacted = false
 

Detailed Description

Free particle (index 1) lateral speed + contact flag for friction checks. Particle 0 is typically displacement-fixed, so it cannot show COM vx.

Definition at line 349 of file main.cpp.

Constructor & Destructor Documentation

◆ LateralProbe()

LateralProbe::LateralProbe ( double  ic_abs_vx)
inlineexplicit

Definition at line 351 of file main.cpp.

351: d_icAbsVx(std::abs(ic_abs_vx)) {}
double d_icAbsVx
Definition main.cpp:378

Member Function Documentation

◆ checkStop()

void LateralProbe::checkStop ( data::ModelData data)
inlineoverridevirtual

Reimplemented from postprocess::Postprocess.

Definition at line 353 of file main.cpp.

353 {
355 if (data.d_particlesListTypeAll.size() < 2)
356 return;
357 const auto *p0 = data.d_particlesListTypeAll[0];
358 const auto *p1 = data.d_particlesListTypeAll[1];
359 const double gap = p0->getXCenter().dist(p1->getXCenter()) -
360 p0->d_geom_p->boundingRadius() -
361 p1->d_geom_p->boundingRadius();
362 if (gap < 0.5 * 0.001)
363 d_contacted = true;
364 const double vx = std::abs(p1->getVCenter().d_x);
365 if (vx > d_maxAbsVx)
366 d_maxAbsVx = vx;
369 }
bool d_contacted
Definition main.cpp:381
double d_minAbsVxAfterContact
Definition main.cpp:380
double d_maxAbsVx
Definition main.cpp:379
virtual void checkStop(data::ModelData &data)
Definition contact.h:20

References postprocess::Postprocess::checkStop(), d_contacted, d_maxAbsVx, and d_minAbsVxAfterContact.

Here is the call graph for this function:

◆ contacted()

bool LateralProbe::contacted ( ) const
inline

Definition at line 370 of file main.cpp.

370{ return d_contacted; }

References d_contacted.

Referenced by main().

Here is the caller graph for this function:

◆ icAbsVx()

double LateralProbe::icAbsVx ( ) const
inline

Definition at line 375 of file main.cpp.

375{ return d_icAbsVx; }

References d_icAbsVx.

Referenced by main().

Here is the caller graph for this function:

◆ maxAbsVx()

double LateralProbe::maxAbsVx ( ) const
inline

Definition at line 371 of file main.cpp.

371{ return d_maxAbsVx; }

References d_maxAbsVx.

Referenced by main().

Here is the caller graph for this function:

◆ minAbsVxAfterContact()

double LateralProbe::minAbsVxAfterContact ( ) const
inline

Definition at line 372 of file main.cpp.

372 {
374 }

References d_contacted, d_maxAbsVx, and d_minAbsVxAfterContact.

Referenced by main().

Here is the caller graph for this function:

Field Documentation

◆ d_contacted

bool LateralProbe::d_contacted = false
private

Definition at line 381 of file main.cpp.

Referenced by checkStop(), contacted(), and minAbsVxAfterContact().

◆ d_icAbsVx

double LateralProbe::d_icAbsVx = 0.
private

Definition at line 378 of file main.cpp.

Referenced by icAbsVx().

◆ d_maxAbsVx

double LateralProbe::d_maxAbsVx = 0.
private

Definition at line 379 of file main.cpp.

Referenced by checkStop(), maxAbsVx(), and minAbsVxAfterContact().

◆ d_minAbsVxAfterContact

double LateralProbe::d_minAbsVxAfterContact = 1.0e300
private

Definition at line 380 of file main.cpp.

Referenced by checkStop(), and minAbsVxAfterContact().


The documentation for this class was generated from the following file: