Got closer to n/p performance by not considering communication when there are no particles to be communicated over a channel between processors. Also added a faster grid add method