#!/usr/bin/env python
# coding: utf-8
#
#
#
# # Exercise (Loop Generation) Solution
#
# ## *Courtesy Ken Sible*
# In[1]:
from loop import loop # Import NRPy+ module for loop generation
boundary = 'u[n][0] = u[n][Nx] = 0;\n'
inner_1 = loop('k', '1', '(Nx - 1)', '1', '', interior='u[n + 1][k] = u[n][k] + r*(u[n][k + 1] - 2*u[n][k] + u[n][k - 1]);')
inner_2 = loop('k', '0', 'Nx', '1', '', interior='u[n][k] = u[n + 1][k];')
print(loop('n', '0', '(Nt - 1)', '1', '', interior=(boundary + inner_1 + inner_2[:-1])))