The cheaper way to keep them from moving is just to not add them to the movers. The set_coordinates_are_optimized(false) approach was expensive both computational (since the movers had to check each time they were requested to move the particle whether it could actually be moved) and in terms of code since the checks had to be consistently done in many places (and weren't).