Numerical Methods for Solving Partial DIfferential Equations