I'd like to run some simulations using a custom anisotropic potential. Essentially, I'd like to use the md.pair.aniso.ALJ setup, but ideally with an inverse power law potential instead of the WCA option in aniso.ALJ. I'm adding a repulsive potential to a polygon.
I've found a few ways I could do this, but I'd like to ask for guidance on the best methods.
1.) I could implement the anisotropic potential in the user-defined HPMC potential, but I'm concerned about a highly unoptimized calculation, as well as writing a lot of my own math to define side-side interactions when that already exists in pair.aniso.
2.) The other option I've discovered is that I can pull the HOOMD base code and modify the ALJ function manually in order to simply adjust the calculations done from LJ/WCA to inverse power law. The hitch to this one is that in order to run efficiently, I would need to re-make a Singularity image that is compatible with my cluster's GPUs. (I've already discussed it with our cluster maintainers; we can't get HOOMD3 to install with GPU compatibility on our cluster and singularity is the easiest way for us).
Do you have any advice or recommendations for me? How is it best to modify a function?