\begin{Verbatim}[commandchars=\\\{\}]
\PYGdefault{c+c1}{\PYGdefaultZsh{} Time extrapolation}
\PYGdefault{k}{for} \PYGdefault{n}{it} \PYGdefault{o+ow}{in} \PYGdefault{n+nb}{range}\PYGdefault{p}{(}\PYGdefault{n}{nt}\PYGdefault{p}{):}
    \PYGdefault{c+c1}{\PYGdefaultZsh{} calculate partial derivatives (omit boundaries)}
    \PYGdefault{k}{for} \PYGdefault{n}{i} \PYGdefault{o+ow}{in} \PYGdefault{n+nb}{range}\PYGdefault{p}{(}\PYGdefault{l+m+mi}{1}\PYGdefault{p}{,} \PYGdefault{n}{nx} \PYGdefault{o}{\PYGdefaultZhy{}} \PYGdefault{l+m+mi}{1}\PYGdefault{p}{):}
        \PYGdefault{n}{d2p}\PYGdefault{p}{[}\PYGdefault{n}{i}\PYGdefault{p}{]} \PYGdefault{o}{=} \PYGdefault{p}{(}\PYGdefault{n}{p}\PYGdefault{p}{[}\PYGdefault{n}{i} \PYGdefault{o}{+} \PYGdefault{l+m+mi}{1}\PYGdefault{p}{]} \PYGdefault{o}{\PYGdefaultZhy{}} \PYGdefault{l+m+mi}{2} \PYGdefault{o}{*} \PYGdefault{n}{p}\PYGdefault{p}{[}\PYGdefault{n}{i}\PYGdefault{p}{]} \PYGdefault{o}{+} \PYGdefault{n}{p}\PYGdefault{p}{[}\PYGdefault{n}{i} \PYGdefault{o}{\PYGdefaultZhy{}} \PYGdefault{l+m+mi}{1}\PYGdefault{p}{])} \PYGdefault{o}{/} \PYGdefault{n}{dx} \PYGdefault{o}{**} \PYGdefault{l+m+mi}{2}
    \PYGdefault{c+c1}{\PYGdefaultZsh{} Time extrapolation}
    \PYGdefault{n}{pnew} \PYGdefault{o}{=} \PYGdefault{l+m+mi}{2} \PYGdefault{o}{*} \PYGdefault{n}{p} \PYGdefault{o}{\PYGdefaultZhy{}} \PYGdefault{n}{pold} \PYGdefault{o}{+} \PYGdefault{n}{dt} \PYGdefault{o}{**} \PYGdefault{l+m+mi}{2} \PYGdefault{o}{*} \PYGdefault{n}{c} \PYGdefault{o}{**} \PYGdefault{l+m+mi}{2} \PYGdefault{o}{*} \PYGdefault{n}{d2p}
    \PYGdefault{c+c1}{\PYGdefaultZsh{} Add source term at isrc}
    \PYGdefault{n}{pnew}\PYGdefault{p}{[}\PYGdefault{n}{isrc}\PYGdefault{p}{]} \PYGdefault{o}{=} \PYGdefault{n}{pnew}\PYGdefault{p}{[}\PYGdefault{n}{isrc}\PYGdefault{p}{]} \PYGdefault{o}{+}  \PYGdefault{n}{dt} \PYGdefault{o}{**} \PYGdefault{l+m+mi}{2} \PYGdefault{o}{*} \PYGdefault{n}{src}\PYGdefault{p}{[}\PYGdefault{n}{it}\PYGdefault{p}{]} \PYGdefault{o}{/} \PYGdefault{n}{dx}
    \PYGdefault{c+c1}{\PYGdefaultZsh{} Remap time levels}
    \PYGdefault{n}{pold}\PYGdefault{p}{,} \PYGdefault{n}{p} \PYGdefault{o}{=} \PYGdefault{n}{p}\PYGdefault{p}{,} \PYGdefault{n}{pnew}
\end{Verbatim}
