There is no reason to loop over the ghost cells. On top of that the current code does not work on the MPI case with artificial cell because you cannot check the fe index on an artificial cell. One test needs to be changed because it won't pass with two processors anymore. However, it was passing just by chance. We have one processor that owns the four cells on the bottom of the domain and one processor that owns the four cells on the top and so the ghost + locally owned cells represent the entire mesh. So we are basically solving the same problem as the serial one.
There is no reason to loop over the ghost cells. On top of that the current code does not work on the MPI case with artificial cell because you cannot check the fe index on an artificial cell. One test needs to be changed because it won't pass with two processors anymore. However, it was passing just by chance. We have one processor that owns the four cells on the bottom of the domain and one processor that owns the four cells on the top and so the ghost + locally owned cells represent the entire mesh. So we are basically solving the same problem as the serial one.