Included timeloop. Is close to working. Some indexing border condition error.
Working! Added an extra element u(-1) = 1. Changed vec names to make more sense: u_new->u_alt, v->u_new. Cleaned and commented.