             body_force[ilocal].z = fi.z;
             body_force[ilocal].w = fi.w;
             
-            // project the position in the body frame to the space frame: ri = rotation_matrix * particle_pos
             ri.x = pos.x - com.x;
             ri.y = pos.y - com.y;
             ri.z = pos.z - com.z;

        float4 force2 = body_force[0];
        float4 torque2 = body_torque[0];
        
        rdata_force[idx_body] = force2;
        rdata_torque[idx_body] = torque2;
        }

           
    }

//! Takes the 2nd 1/2 step forward in the velocity-verlet NVE integration scheme
/*! \param rdata_force Particle data to step forward in time
    \param rdata_torque List of pointers to forces on each particle
    \param n_bodies Number of forces listed in \a force_data_ptrs

            __syncthreads();
            }
        
        // accumulate the body force into the thread-local variables
        force2.x += body_force[0].x;
        force2.y += body_force[0].y;
        force2.z += body_force[0].z;
