code: def copy(self):
          
          np = Particle()
          memmove(byref(np), byref(self), sizeof(self))
          return np
docs: Returns a deep copy of the particle. The particle is not added to any simulation by default.