fix doesn't work with periodic boundary condition

Hi all,

I have written my fix to calculate the diffusion of the concentration, linked below if anyone has some time for inspection (would be grateful!)

I am having problem with setting the boundary, instead of being fixed (f), I want it to be periodic instead. It seems like I have some troubles communication for the atoms at the boundary. How should I go around to fix it?


new fix style mentioned:

and input script:

changing either the x-dimension or the y-dimension from f to p will give wrong simulation result…

It looks like this is just applying a two-step integration to a per-atom property? It looks a lot like fix_nve, so maybe it makes sense to inspect that code to see how that code deals with communication. I remember when I wrote a custom integrator I copy-pasted fix_nve and just changed what goes on in initial_integrate and final_integrate, and “it just worked”.