Finite-Difference Methods for Partial Differential Equations