Hi Yu-Hsiang,
Sorry that for some reason, your reply didn't trigger an email message to me. So I didn't know you replied, until today when I was randomly browsing the forum...
So if you are still working on this project, hear me out. We probably didn't miss that much, since the past month I was busy defending my final thesis and got little time to develop it anyway; and what you want probably does require a bit of development.
The reason for that is, although like I said the particles can portal through boundaries, the contact cannot, meaning if they are densely packed, boundary particles may bounce back and forth across the periodic boundary because they can only have contacts with other particles from one side of the periodic boundary in simulation, where they need to have contacts with both sides. The solution to this problem won't be particularly elegant, but I want to create a demo that correctly does this. However, this does take time and I cannot be sure if anything can materialize in a month's time. I asked if the packing was dense because if you don't need inter-boundary contact, then it's easier. but it seems that's not the case. So to fully achieve your goal some time is needed.
Another thing I'd like to mention is that neither DEM-Engine nor C::GPU can run solely on CPU. If there are only around 1000 particles, then Chrono::Multicore may actually be a good starting place instead. It can simulate interactions between complex-shaped geometries and supports user callbacks, and it runs on CPUs. I don't know about the periodic boundary thing, but you can create another thread on the forum to ask and I am sure people can answer it.
Thank you,
Ruochun