Solving adaptive nonlinear equation in Vector Space

Try:

solver.parameters["nonlinear_variational_solver"]["nonlinear_solver"]="snes" 

A neat thing you can do is to add an embed-session:

from IPython import embed
embed()

and check what the variables of solver.parameters are, by
calling solver.parameters.keys(), solver.parameters["nonlinear_variational_solver"].keys() and so on and so forth to see what they contain