| SPH has been implemented in many codes, often as a module in a finite element or Lagrangian code. In most cases it is a good assumption that the strength treatment in these SPH modules is "Classic SPH", i.e. a tensor treatment based on the early work of Libersky. This type of treatment suffers from two types of problems: 1) the "Tensile Instability" that causes pressure oscillations and can cause premature failure, and 2) non-conservation of angular momentum, causing an inability to model any rotations. Patches have been developed to alleviate both problems, but these generally only offer limited fixes.
The above image shows a direct comparison of an SPHC model (left) and an Abaqus model in SPH mode (right) of an impact of a glass sphere on a Titanium plate at 6.32 km/s. The two codes agree as to crater size and shape, but the right-hand image shows a peculiar peeling up of double layers near the surface that is not seen in the SPHC run. This is due to a tensile instability that occurs when the material adjacent to the crater relaxes and goes into tension. The planar geometry causes the pressure in the SPH particles to oscillate in parallel layers and detach along lines where the pressure peaks positive. Although the spall seen opposite to the impact looks reasonable, it is undoubtedly also affected by the instability. This shows that the Virtual Stress Point treatment in SPHC has successfully eliminated the instability.
Also note that the failure mechanism in the Abaqus run is done in the usual finite element fashion of "failing" stressed elements or particles (colored purple), while the SPHC fracture model fails the connections between particles (colored blue), resulting in a cleaner fracture.