optimized PARTICLE3D