Everything is similar EXCEPT at the origin r=0, the difference method at r=0 is different and needs special treatment. This is the first thing I thought. Try to solve a simple heat conduction equation you may find the problem.