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 406 of file main.cpp.

Constructor & Destructor Documentation

◆ LateralProbe()

LateralProbe::LateralProbe ( double  ic_abs_vx)
inlineexplicit

Definition at line 408 of file main.cpp.

408: d_icAbsVx(std::abs(ic_abs_vx)) {}
double d_icAbsVx
Definition main.cpp:435

Member Function Documentation

◆ checkStop()

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

Reimplemented from postprocess::Postprocess.

Definition at line 410 of file main.cpp.

410 {
412 if (data.d_particlesListTypeAll.size() < 2)
413 return;
414 const auto *p0 = data.d_particlesListTypeAll[0];
415 const auto *p1 = data.d_particlesListTypeAll[1];
416 const double gap = p0->getXCenter().dist(p1->getXCenter()) -
417 p0->d_geom_p->boundingRadius() -
418 p1->d_geom_p->boundingRadius();
419 if (gap < 0.5 * 0.001)
420 d_contacted = true;
421 const double vx = std::abs(p1->getVCenter().d_x);
422 if (vx > d_maxAbsVx)
423 d_maxAbsVx = vx;
426 }
bool d_contacted
Definition main.cpp:438
double d_minAbsVxAfterContact
Definition main.cpp:437
double d_maxAbsVx
Definition main.cpp:436
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 427 of file main.cpp.

427{ 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 432 of file main.cpp.

432{ 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 428 of file main.cpp.

428{ 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 429 of file main.cpp.

429 {
431 }

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 438 of file main.cpp.

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

◆ d_icAbsVx

double LateralProbe::d_icAbsVx = 0.
private

Definition at line 435 of file main.cpp.

Referenced by icAbsVx().

◆ d_maxAbsVx

double LateralProbe::d_maxAbsVx = 0.
private

Definition at line 436 of file main.cpp.

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

◆ d_minAbsVxAfterContact

double LateralProbe::d_minAbsVxAfterContact = 1.0e300
private

Definition at line 437 of file main.cpp.

Referenced by checkStop(), and minAbsVxAfterContact().


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