You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/joss/paper.bib
+10Lines changed: 10 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,13 @@
1
+
@article{jha2025nodal,
2
+
title={Nodal finite element approximation of peridynamics},
3
+
author={Jha, Prashant K and Diehl, Patrick and Lipton, Robert},
4
+
journal={Computer Methods in Applied Mechanics and Engineering},
5
+
volume={434},
6
+
pages={117519},
7
+
year={2025},
8
+
publisher={Elsevier}
9
+
}
10
+
1
11
@article{Jha2021, doi = {10.21105/joss.03020}, url = {https://doi.org/10.21105/joss.03020}, year = {2021}, publisher = {The Open Journal}, volume = {6}, number = {65}, pages = {3020}, author = {Jha, Prashant K. and Diehl, Patrick}, title = {NLMech: Implementation of finite difference/meshfree discretization of nonlocal fracture models}, journal = {Journal of Open Source Software} }
Copy file name to clipboardExpand all lines: docs/joss/paper.md
+7-5Lines changed: 7 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,18 +57,19 @@ The balance of linear momentum for particle $p$, $1\leq p\leq N_P$, takes the fo
57
57
\end{equation}
58
58
where ${\rho}^{(p)}$, ${\boldsymbol{f}}^{(p)}_{int}$, and ${\boldsymbol{f}}^{(p)}_{ext}$ are density, and internal and external force densities. The above equation is complemented with initial conditions, ${\boldsymbol{u}}^{(p)}(\boldsymbol{X}, 0) = {\boldsymbol{u}}^{(p)}_0(\boldsymbol{X}), {\dot{\boldsymbol{u}}}^{(p)}(\boldsymbol{X}, 0) = {\dot{\boldsymbol{u}}}^{(p)}_0(\boldsymbol{X}), \boldsymbol{X} \in {\Omega}^{(p)}_0$.
59
59
60
-
### Internal force - State-based peridynamics
60
+
### Internal force – State-based peridynamics
61
61
62
-
The internal force term ${\boldsymbol{f}}^{(p)}_{int}(\boldsymbol{X}, t)$ in the momentum balance governs intra-particle deformation and fracture. In PeriDEM, this term is modeled using a simplified state-based peridynamics formulation that accounts for nonlocal interactions over a finite horizon. The specific constitutive structure used—including damage-driven bond weakening, volumetric strain contributions, and neighbor-weighted quadrature—is discussed in detail in [[@jha2021peridynamics], Sections 2.1 and 2.3]. This formulation allows unified simulation of deformation and fracture in individual particles.
62
+
The internal force term ${\boldsymbol{f}}^{(p)}_{int}(\boldsymbol{X}, t)$ in the momentum balance governs intra-particle deformation and fracture. In PeriDEM, this term is modeled using a simplified state-based peridynamics formulation that accounts for nonlocal interactions over a finite horizon. The underlying model and its numerical implementation are discussed in detail in [[@jha2021peridynamics], Sections 2.1 and 2.3].
63
63
64
64
### DEM-inspired contact forces
65
65
66
+
The external force term ${\boldsymbol{f}}^{(p)}_{ext}(\boldsymbol{X}, t)$ includes body forces, wall-particle interactions, and contact forces from other particles. Contact is modeled using a spring-dashpot-slider formulation applied locally when particles come within a critical distance; see \autoref{fig:peridemContact}. This approach introduces nonlinear normal forces, damping, and friction without relying on particle convexity or geometric simplifications. The full formulation of contact detection, force assembly, and implementation is detailed in [[@jha2021peridynamics], Section 2.2].
67
+
66
68
{width=40%}
67
-
The external force term ${\boldsymbol{f}}^{(p)}_{ext}(\boldsymbol{X}, t)$ includes body forces, wall-particle interactions, and contact forces from other particles. Contact is modeled using a spring-dashpot-slider formulation applied locally when particles come within a critical distance. This approach introduces nonlinear normal forces, damping, and friction without relying on particle convexity or simplified geometries. \autoref{fig:peridemContact} illustrates the local high-resolution contact approach between deformable particles. The full formulation of contact detection, force assembly, and its implementation is provided in [[@jha2021peridynamics], Section 2.2].
68
69
69
70
# Implementation
70
71
71
-
[PeriDEM](https://github.com/prashjha/PeriDEM) is implemented in C++ and hosted on GitHub. It depends on a minimal set of external libraries, most of which are bundled in the `external` directory. Some of the key dependencies include Taskflow [@huang2021taskflow] for multithreaded parallelism, nanoflann [@blanco2014nanoflann] for efficient neighborhood search, and VTK for output and post-processing. The numerical strategies for neighbor search, peridynamic integration, damage evaluation, and time stepping follow those introduced in [[@jha2021peridynamics], Section 3], where additional implementation details and validation are discussed. The core simulation model is implemented in [`src/model/dem`](https://github.com/prashjha/PeriDEM/blob/v0.2.1/src/model/dem), with the class [`DEMModel`](https://github.com/prashjha/PeriDEM/blob/v0.2.1/src/model/dem/demModel.cpp) managing particle states, force calculations, and time integration. This work builds on earlier research in the analysis and numerical methods for peridynamics; see [@jha2018numerical; @jha2019numerical; @jha2018numerical2; @Jha2020peri; @lipton2019complex].
72
+
[PeriDEM](https://github.com/prashjha/PeriDEM) is implemented in C++ and hosted on GitHub. It depends on a minimal set of external libraries, most of which are bundled in the `external` directory. Key dependencies include Taskflow [@huang2021taskflow] for multithreaded parallelism, nanoflann [@blanco2014nanoflann] for efficient neighborhood search, and VTK for output. The numerical strategies for neighbor search, peridynamic integration, damage evaluation, and time stepping follow those introduced in [[@jha2021peridynamics], Section 3]. The core simulation model is implemented in [`src/model/dem`](https://github.com/prashjha/PeriDEM/blob/v0.2.1/src/model/dem), with the class [`DEMModel`](https://github.com/prashjha/PeriDEM/blob/v0.2.1/src/model/dem/demModel.cpp) managing particle states, force calculations, and time integration. This work builds on earlier research in the analysis and numerical methods for peridynamics; see [@jha2018numerical; @jha2019numerical; @jha2018numerical2; @Jha2020peri; @jha2025nodal].
72
73
73
74
## Features
74
75
@@ -79,11 +80,12 @@ The external force term ${\boldsymbol{f}}^{(p)}_{ext}(\boldsymbol{X}, t)$ includ
79
80
80
81
## Examples
81
82
82
-
{width=60%}
83
83
Example cases are described in [examples/README.md](https://github.com/prashjha/PeriDEM/blob/v0.2.1/examples/README.md). One key simulation demonstrates the compression of over 500 circular and hexagonal particles in a rectangular container by displacing the top wall. The stress on the wall becomes increasingly nonlinear with penetration depth as damage accumulates and the medium yields (see \autoref{fig:peridemSummary}a).
84
84
85
85
Preliminary performance tests show that compute time increases exponentially with particle count due to the nonlocal nature of both peridynamic and contact interactions—highlighting a computational bottleneck. This motivates future integration of MPI-based parallelism and a multi-fidelity modeling framework. Additional examples include attrition of non-circular particles in a rotating cylinder (\autoref{fig:peridemSummary}c).
86
86
87
+
{width=60%}
88
+
87
89
# Acknowledgements
88
90
89
91
This work was supported by the U.S. National Science Foundation through the Engineering Research Initiation (ERI) program under Grant No. 2502279. The support has contributed to the continued development and enhancement of the PeriDEM library.
0 commit comments