Spatially-varying stress fields can be obtained from atomistic simulations as weighted averages over a phase function that depends on the positions and momenta of the atoms and the interatomic forces between them. However atomistic stress fields exhibit significant nonphysical noise on atomic length scales even under uniform loading conditions. This makes it difficult to obtain accurate stress estimates near atomic-scale defects such as nanocrack tips and dislocation cores. To address this issue, we develop an algorithm to filter noise in the atomistic stress for crystalline materials based on a rigorous stress-invariance condition, which leads to a new class of lattice-dependent weighting functions. Stress fields computed using these weighting functions are identically noise-free under uniform conditions, and have greatly reduced noise in general. The method is demonstrated for three example problems: (1) uniform loading of nickel aluminide, (2) a mode I crack in silicon, and (3) screw and edge dislocation cores in aluminum. The noise filtering algorithm is implemented in MDStressLab++, an open source C++ library for computing atomistic stress fields available online at http://mdstresslab.org.
Bibliographical noteFunding Information:
We thank Stephen Whalen for useful discussion. This work was supported in part by the National Science Foundation (NSF) under Awards DMR-1607670 and CMMI-1361868 . The authors also acknowledge the Minnesota Supercomputing Institute (MSI) at the University of Minnesota for providing resources that contributed to the results reported in this paper.
- Crystalline materials
- Edge and screw dislocations
- Microscopic stress tensor
- Mode I crack
- Moving least squares
- Noise filtering