Residual norm different in parallel and serial

PETScVec.scale should be done after ghost updating. I.e. I guess something along the lines of:

        with L.localForm() as loc_L:
            loc_L.set(0)
        A.zeroEntries()
        assemble_matrix(A, J_form, bcs=bcs)
        A.assemble()
        assemble_vector(L, res_form)
        apply_lifting(L, [J_form], [bcs], x0=[u.x.petsc_vec], alpha=-1.0)
        L.ghostUpdate(addv=PETSc.InsertMode.ADD_VALUES, mode=PETSc.ScatterMode.REVERSE)
        set_bc(L, bcs, u.x.petsc_vec, alpha=-1.0)
        L.ghostUpdate(addv=PETSc.InsertMode.INSERT_VALUES, mode=PETSc.ScatterMode.FORWARD)
        L.scale(-1)

should do the trick (also for the computation of stress displacement).