Methods for the numerical solution of partial differential equations