Hi Mani,
> I check my solution using -ts_monitor_draw_solution. Ok forget about the
earlier code and try running the code I have attached now. It is
basically the same code but using DMComposite to manage multiple
variables. On using -ts_monitor_draw_solution, you will see two windows
with blobs being advected. Here's a report for this code:
1) Everything works if I use ComputeResidual, irrespective of which
DMSetVecType I use (including VECVIENNACL). Note that in the earlier
code (without DMComposite) the case with VECVIENNACL doesn't give the
right answer but lets forget about the earlier code.
2) Nothing works if I use ComputeResidualVecViennaCL, whatever maybe
DMSetVecType. Again note that in the earlier code this case works only
if I set the vec/mat types to VIENNACL.
Getting this code to work will basically solve my problems.
I ran your code, it works for all the scenarios you're described, i.e.
ComputeResidual, ComputeResidualVecViennaCL, different Vec-types, etc.
P.S I run the code using ./petsc_opencl -ts_monitor -snes_monitor
-ts_max_steps 1000 -ts_type theta -ts_dt 10 -snes_rtol 1e-4
-ts_final_time 1000 -ts_monitor_draw_solution
I always get the same output: A nicely moving spot. Please send
configure.log and make.log to [email protected], maybe something
is wrong with your PETSc build.
Best regards,
Karli