ExpHP / rsp2

phonons in rust
Apache License 2.0
2 stars 1 forks source link

LAMMPS KC-Z does not have a smooth cutoff #58

Closed ExpHP closed 5 years ago

ExpHP commented 6 years ago

Seen in #54: The implementation of KC-Z sharply cuts the force and potential to zero at the cutoff distance, where the force still has a magnitude of ~1e-6 for a cutoff of 14 Angstrom. It would seem that this significantly reduces the precision that I can reliably expect from it with regards to CG-DESCENT (and small displacement distances for phonons), and may explain why 217-a never converges.


kcz-full.pdf kcz-full

kcz-zoom.pdf kcz-zoom

I feel like this could be bad news for small displacement distances (and I've been using a comparatively small one of 1e-4)

ExpHP commented 6 years ago

So I hacked on an option to the potential that multiplies the potential in a region by (1 + 2α**3 - 3α**2), hoping it would solve the difficulty faced by 217-a during relaxation. It adds an optional second argument for the smoothing interval width. (so that kolmogorov/crespi/z 14 0.5 does smoothing from 13.5 to 14.0).

I tested it by verifying that a numerical integral of the force converges onto the potential as step size decreases.

git format-patch: 0001-kolmogorov-smooth-cutoff.tar.gz (it is also a mess. sorry about that)

Unfortunately, applying a smooth cutoff from r = 13.5 A to 14.0 A did not solve the convergence trouble of 217-a. I'm shelving this for now.

ExpHP commented 5 years ago

triage: rsp2 has since gotten its own KCZ implementation that supports an optional cutoff interval width.