I do not have alot of experience with advection diffusion reaction problems, so I’m not certain if it is an efficient approach. On thing that will speed up your computations, is to stop using the solve
command, and rather creating a NewtonSolver
, see for instance: https://bitbucket.org/fenics-project/dolfin/src/b495043d6b3914383eb939ea6c6794442080a3a5/python/demo/documented/cahn-hilliard/demo_cahn-hilliard.py.rst and Set krylov linear solver paramters in newton solver
This will make sure that you reuse matrices and vectors during the solving process.