Consider a system constructed with to_inhomogeneous. To set a local interaction, one currently must specify two Site parameters. Sunny will then attempt to infer the "displacement" vector in multiples of reshaped unit cells. This inference is possibly ambiguous, because there are multiple ways of wrapping a periodic system. Due to this ambiguity, Sunny may or may not recognize when a specific bond is being overwritten. It seems like we need some improvements:
Do a better job inferring the minimum distance wrapping for a bond.
If the wrapping is ambiguous (because the system size is too small), force the user to select an explicit displacement in reshaped unit cells. (This displacement will be a new optional parameter.)
Given a specific displacement (either inferred or specified), always overwrite existing interactions on bonds.
Consider a system constructed with
to_inhomogeneous
. To set a local interaction, one currently must specify twoSite
parameters. Sunny will then attempt to infer the "displacement" vector in multiples of reshaped unit cells. This inference is possibly ambiguous, because there are multiple ways of wrapping a periodic system. Due to this ambiguity, Sunny may or may not recognize when a specific bond is being overwritten. It seems like we need some improvements: