Almost fixed.

SORSolver might be the problem. needs to be faster and work at lower
tolerance. probably need to upgrade to the multi-grid method