Large Mesh Error PETSc Error 76 - Adjoint Calculation

You could use the refine command in dolfin to refine all cells of the mesh mesh = refine(mesh), or increase the polynomial order even further.
Note that to visualize higher order function spaces (higher than CG1) you have to use XDMFFile and write_checkpoint, as it supports arbitrary order lagrangian elements, while standard XDMFFile.write and File.write only stores data at the vertices. On the usage of write_checkpoint, see Loading xdmf data back in .
I would start with writing the solution with write checkpoint and see if it improves. If not, refine the mesh.