What are good ways to check the validity of code to simulate the time-dependent Schrödinger equation? Recently, I've made some code that can do simple quantum mechanics simulation as written in the title.
I wanna check if this code correctly solves time-dependent Schrödinger equation and satisfies the physics (validity of the code) before extending this code.
I'm considering the following ways:


*

*check whether the probability norm is conserved or not.

*compare the transmitted probability from the calculation, with the  theoretically derived transmission coefficient, $T$.
I'm not sure that these are proper ways to check the validity of the code. Could you please let me know whether these are proper one or if there's another method to check?
 A: The normalization is not really a good condition to check.  
For time-dependent problems the numerical integration over time usually does a good job of preserving the normalization (unless your scheme is really bad), and the trouble is usually the same as with the time-independent problem: large values of $x$  (see below).  The canonical reference for 1d scattering is 
Goldberg, H. M. Schey, and J. L. Schwartz, "Computer-Generated
Motion Pictures of One-Dimensional Quantum-Mechanical Transmission
and Reflection Phenomena" Am. J. Phys. 35, 177–186 (1967) (eprint).
For 2d scattering problems, there is a matrix method based on 
"Numerical grid methods for quantum-mechanical scattering problems"
T. N. Rescigno and C. W. McCurdy Phys. Rev. A 62, 032706
which solves the problem on the grid.  Again, the boundary of the grid is fixed and so one avoids problems with divergent solutions.
The short movie below is the scattering of a Gaussian wavepacket by a square bump.  (You might have to click on the image to see the animation...)  It's quite numerically accurate.


For time-independent problems the norm is just unimportant scale factor.  The tricky part is in the boundary conditions at infinity: basically you need to figure out how quickly (by which I mean at which value of $x$) your solution starts to diverge even if you feed the exact eigenvalue as a guess energy.  This is highly dependent on the integration scheme: the better integration schemes will give a longer "tail" to you solution.  
For instance, both plots below are numerical solutions to the time-independent quantum harmonic oscillator with exact energy $E_2=5/2$.  The plot on the left was made using the default "NDSolve" scheme of Mathematica, and clearly has issues past when $\vert x\vert >6$.  The plot on the right also uses "NDSolve" but the integration scheme has been forced to an 8th order Runge-Kutta method, and clearly gives much better results for large $\vert x\vert$.
 
For 1d time-independent problems there is something called the "Shoot and match" method or the "Shooting method" which seems to be the best.  It is good because it is not so sensitive to boundary conditions at $\pm \infty$.  The naive and very basic way to understand the method is that you start from "far away" and work your way from both ends towards the centre, hoping that the wavefuntions on the left and the right will satisfy $\psi_L(0)=\psi_R(0)$ and the derivatives will also match. If not one tries a different energy.  It works best for symmetric potentials.
