PeriDEM 0.3.0
PeriDEM -- Peridynamics-based high-fidelity model for granular media
Loading...
Searching...
No Matches
pd::ReferenceGapSelfContact Class Reference

#include <selfContact.h>

Inheritance diagram for pd::ReferenceGapSelfContact:
Collaboration diagram for pd::ReferenceGapSelfContact:

Public Member Functions

util::Point force (const util::Point &yji, double volj, double Kn, double Rc, double r0) const override
 
- Public Member Functions inherited from pd::SelfContact
virtual ~SelfContact ()=default
 

Detailed Description

Bhattacharya–Lipton 2023 §4.4: act only when current separation < Rc. Natural length is r0 when r0 > 0, else Rc (short-range: only when R < Rc).

Definition at line 49 of file selfContact.h.

Member Function Documentation

◆ force()

util::Point pd::ReferenceGapSelfContact::force ( const util::Point yji,
double  volj,
double  Kn,
double  Rc,
double  r0 
) const
overridevirtual

Force contribution on node i from neighbor j (broken / unbound pair).

Parameters
yjiCurrent relative position xj+uj - (xi+ui)
voljNeighbor nodal volume
KnContact stiffness
RcContact radius for this particle (used by broken_bond_kn)
r0Reference distance |xj - xi| (used by reference_gap)

Implements pd::SelfContact.

Definition at line 48 of file selfContact.cpp.

50 {
51 // Short-range only: act when current separation < Rc. Natural length is the
52 // unbroken reference distance r0 when available (often r0 > Rc for Mode-I
53 // crack-crossing bonds); otherwise Rc. Using min(r0, Rc) collapsed to Rc
54 // whenever r0 > Rc and made this law identical to broken_bond_kn.
55 const double Rji = yji.length();
56 if (!(Rji > 0.) || !(Rc > 0.) || !(Rji < Rc))
57 return util::Point();
58 const double natural = (r0 > 0.) ? r0 : Rc;
59 return cappedRepulsive(yji, volj, Kn, natural);
60}
util::Point cappedRepulsive(const util::Point &yji, double volj, double Kn, double natural_R)
A structure to represent 3d vectors.
Definition point.h:30
double length() const
Computes the Euclidean length of the vector.
Definition point.h:124

References util::Point::length().

Here is the call graph for this function:

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