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?

Thanks,
Quang

new fix style mentioned:
https://github.com/quang-ha/lammps/blob/reactive_diffusion/src/USER-SPH/fix_meso_concentration_A.cpp

https://github.com/quang-ha/lammps/blob/reactive_diffusion/src/USER-SPH/fix_meso_concentration_A.h

and input script:
https://github.com/quang-ha/lammps-test-case/blob/master/concentration_diffusion/sph_conc_diffusion_2d.lmp

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”.