Mesh particle representation

I’m using octree agoritm to represent mesh as particles.
I’m setting some depth level value for octree algorithm and getting voxel center points.
Then I’m transforming this points into quads by geometry shader + circle equation to round quad.
This is mesh particle representation before I executed simulation.

but after simulation(second frame) I have this:

I think I’m not pasting teapot particles into Grid cells properly.
As you can see particles are moving like chaos and I have FPS drop.

Here is sample of code where I’m creating particle box manually and simulation works fine.

float particleRadius = 1.0f/64.0f;
 float cellSize       = particleRadius * 2.0f;
 float spacing        = cellSize;
 float jitter         = particleRadius * 0.01f;

 unsigned int s = (int) ceilf(powf((float) particleNumber_, 1.0f / 3.0f));
 unsigned int gridSize[3];

 for(unsigned int z=0; z<gridSize[2]; z++)
    {
      for(unsigned int y=0; y<gridSize[1]; y++)
      {
        for(unsigned int x=0; x<gridSize[0]; x++)
        {
          unsigned int i = (z*gridSize[1]*gridSize[0]) + (y*gridSize[0]) + x;

          if(i < particleNumber_)
          {
            hostParticles_[i].x = ((spacing * x) +  particleRadius - 1.0f + (frand()*2.0f-1.0f)*jitter);
            hostParticles_[i].y = ((spacing * y) +  particleRadius - 1.0f + (frand()*2.0f-1.0f)*jitter);
            hostParticles_[i].z = ((spacing * z) +  particleRadius - 1.0f + (frand()*2.0f-1.0f)*jitter);
            hostParticles_[i].w = 1.0f;
          }
        }
      }
    }

this code is from CUDA Particle sample.

How can I properly init mesh particles?