What is the difference between these two forms?
cell_volume = CellVolume(mesh)
F1 = inner((1 + u**2)*grad(u)*cell_volume, grad(v))*dx - cell_volume*f*v*dx
and
F2 = inner((1 + u**2)*grad(u), grad(v))*dx - f*v*dx
They give solutions u close to each other (please see demo_nonlinear_poisson.py) but the grad(u) have slightly different values. I am trying to understand what F1 means when compared to F2 in terms of discretization.