add pcg solver with simple diagnol precondition.  Remains to be used to solve diffusion
merge