Added nonlinear terms (Galerkin method) and code seems to work - moving on to testing