Skip to content

Wave-Packet Scattering Notebook

A time-dependent scattering animation can look persuasive while its transmission probability is wrong. Norm conservation does not detect an unresolved barrier, a premature measurement, periodic wraparound, or comparison with the wrong plane-wave quantity. This notebook turns the animation into a controlled numerical experiment.

A Gaussian packet approaches an exactly solvable rectangular barrier from the left. The state is propagated with a unitary split-step Fourier method. At late time, regional norms are compared with an independent benchmark obtained by averaging the exact stationary transmission coefficient over the packet’s momentum distribution.

The canonical Wave Packets and Scattering page owns the relation between localized packets and stationary scattering amplitudes. Rectangular Barrier Tunneling owns the matching derivation. This page owns the propagation algorithm, parameter study, convergence evidence, failure modes, and reproducibility record.

Run the investigation. The program and retained results below support the stated experiment. Follow Running an Experiment for environment and output-directory guidance. The recorded evidence applies to its stated parameters and environment.

Use dimensionless units

ℏ=m=1\hbar=m=1

and solve

i∂ψ∂t=[−12∂2∂x2+V(x)]ψ.i\frac{\partial\psi}{\partial t} = \left[ -\frac12\frac{\partial^2}{\partial x^2} + V(x) \right] \psi.

The barrier is centered at the origin:

V(x)={V0,∣x∣<a/2,0,∣x∣>a/2.V(x) = \begin{cases} V_0, & |x|<a/2,\\ 0, & |x|>a/2. \end{cases}

The reported calculation uses

V0=1,a=2.V_0=1, \qquad a=2.

The initial state is the normalized Gaussian

ψ(x,0)=(12πσx2)1/4×exp⁡ ⁣[−(x−x0)24σx2+ik0x].\begin{aligned} \psi(x,0) ={}& \left( \frac{1}{2\pi\sigma_x^2} \right)^{1/4} \\ &\times \exp\!\left[ -\frac{(x-x_0)^2}{4\sigma_x^2} + ik_0x \right]. \end{aligned}

Its position and momentum standard deviations are

Δx=σx,Δk=12σx.\Delta x = \sigma_x, \qquad \Delta k = \frac{1}{2\sigma_x}.

For the production run,

x0=−80,σx=10,k0=1.x_0=-80, \qquad \sigma_x=10, \qquad k_0=1.

The central kinetic energy is

E0=k022=12<V0,E_0 = \frac{k_0^2}{2} = \frac12 < V_0,

so the central plane-wave component is in the tunneling regime. The packet has negligible negative-momentum weight, approximately 3×10−323\times10^{-32} on the reported grid.

For 0<E<V00<E<V_0, the exact plane-wave transmission coefficient is

T(E)=[1+V02sinh⁡2(κa)4E(V0−E)]−1,T(E) = \left[ 1 + \frac{ V_0^2\sinh^2(\kappa a) }{ 4E(V_0-E) } \right]^{-1},

where

κ=2(V0−E).\kappa = \sqrt{2(V_0-E)}.

The corresponding trigonometric expression is used for E>V0E>V_0. The matching calculation is not repeated here; it belongs to Rectangular Barrier Tunneling.

At the central wavenumber,

T(k0)=0.0706508248532.T(k_0) = 0.0706508248532.

That is not the exact target for a packet of finite bandwidth. If A(k)A(k) is the normalized initial momentum amplitude, the packet benchmark is

PTspec=∫0∞∣A(k)∣2T(k) dk.P_{\mathrm T}^{\mathrm{spec}} = \int_0^\infty |A(k)|^2T(k)\,dk.

For the reported packet,

PTspec=0.0719492847010.P_{\mathrm T}^{\mathrm{spec}} = 0.0719492847010.

The difference from T(k0)T(k_0) is about 1.30×10−31.30\times10^{-3}, much larger than the final numerical propagation error. Comparing the simulation only with T(k0)T(k_0) would therefore misidentify a physical bandwidth effect as a numerical error.

Write the Hamiltonian as

H=T+V,T=−12∂2∂x2.H = T+V, \qquad T = -\frac12\frac{\partial^2}{\partial x^2}.

The symmetric second-order step is

US(Δt)=e−iVΔt/2e−iTΔte−iVΔt/2+O(Δt3)\begin{aligned} U_{\mathrm S}(\Delta t) ={}& e^{-iV\Delta t/2} e^{-iT\Delta t} e^{-iV\Delta t/2} \\ &+ O(\Delta t^3) \end{aligned}

per step, giving global O(Δt2)O(\Delta t^2) error when the required regularity and commutator bounds are controlled. The kinetic factor is diagonal in momentum space:

e−iTΔt⟷e−ik2Δt/2.e^{-iT\Delta t} \longleftrightarrow e^{-ik^2\Delta t/2}.

One numerical step is therefore:

ψ(1)(x)=e−iV(x)Δt/2ψn(x),ψ~(2)(k)=e−ik2Δt/2F[ψ(1)](k),ψn+1(x)=e−iV(x)Δt/2F−1[ψ~(2)](x).\begin{aligned} \psi^{(1)}(x) &= e^{-iV(x)\Delta t/2}\psi^n(x), \\ \widetilde\psi^{(2)}(k) &= e^{-ik^2\Delta t/2} \mathcal F[\psi^{(1)}](k), \\ \psi^{n+1}(x) &= e^{-iV(x)\Delta t/2} \mathcal F^{-1}[\widetilde\psi^{(2)}](x). \end{aligned}

Every multiplication is by a unit-modulus phase, and the orthonormal discrete Fourier transform is unitary. The represented finite-grid evolution therefore conserves the discrete norm up to floating-point roundoff.

That structural property is valuable but limited. It proves that the algorithm did not lose probability. It does not prove that the represented Hamiltonian, barrier, packet, or time step is accurate.

The FFT imposes periodic boundary conditions on a box of length LL. Use cell-centered positions

xj=(j−N2+12)Δx,Δx=LN.x_j = \left( j-\frac N2+\frac12 \right) \Delta x, \qquad \Delta x = \frac LN.

For every grid in the convergence sequence, the barrier edges lie between cells and exactly a/Δxa/\Delta x cells represent the barrier. This avoids changing the effective barrier width irregularly as NN changes.

The production parameters are:

QuantityValue
Box length LL512512
Grid points NN81928192
Spacing Δx\Delta x0.06250.0625
Time step Δt\Delta t0.00250.0025
Final time tft_f190190
Time steps7600076000
Barrier neighborhood$
Boundary-monitor width2525 at each edge

The final reflected and transmitted packets remain far from the periodic boundaries. No absorber is used, so unitarity and regional accounting remain direct. The price is that propagation must stop before either outgoing packet wraps around the box.

Choose xb=15x_b=15, well outside the barrier. Define

PL(t)=∫x<−xb∣ψ(x,t)∣2 dx,P_{\mathrm L}(t) = \int_{x<-x_b} |\psi(x,t)|^2\,dx, Pint(t)=∫∣x∣≤xb∣ψ(x,t)∣2 dx,P_{\mathrm{int}}(t) = \int_{|x|\leq x_b} |\psi(x,t)|^2\,dx,

and

PR(t)=∫x>xb∣ψ(x,t)∣2 dx.P_{\mathrm R}(t) = \int_{x>x_b} |\psi(x,t)|^2\,dx.

These regions partition the grid, so

PL+Pint+PR=∥ψ∥2.P_{\mathrm L} + P_{\mathrm{int}} + P_{\mathrm R} = \|\psi\|^2.

Before the collision, PLP_{\mathrm L} is mostly incident probability and must not be called reflection. Only after the outgoing pieces separate and PintP_{\mathrm{int}} becomes negligible may one identify

PRpacket=PL(tf),PTpacket=PR(tf).P_{\mathrm R}^{\mathrm{packet}} = P_{\mathrm L}(t_f), \qquad P_{\mathrm T}^{\mathrm{packet}} = P_{\mathrm R}(t_f).

The density begins as a right-moving Gaussian, develops interference structure during the collision, and ends as spatially separated reflected and transmitted packets.

Three wave-packet density snapshots showing an incoming Gaussian, its collision with a narrow barrier, and separated reflected and transmitted packets.

Density snapshots for V0=1V_0=1, a=2a=2, x0=−80x_0=-80, k0=1k_0=1, and σx=10\sigma_x=10. The shaded strip marks the barrier. The density scale changes between panels: packet probability is determined by the area under each outgoing branch, not by its peak height.

Selected regional probabilities are:

ttPLP_{\mathrm L}PintP_{\mathrm{int}}PRP_{\mathrm R}
000.9999999999600.9999999999604.02×10−114.02\times10^{-11}1.05×10−211.05\times10^{-21}
60600.6825227530.6825227530.3174420190.3174420193.52284×10−53.52284\times10^{-5}
80800.1449978390.1449978390.8482670900.8482670900.0067350710.006735071
1001000.6250727780.6250727780.3241853320.3241853320.0507418900.050741890
1301300.9265347420.9265347420.0016019050.0016019050.0718633540.071863354
1901900.9280550990.9280550992.42×10−122.42\times10^{-12}0.0719449010.071944901

The interaction probability peaks near t=79.5t=79.5. At that time the labels incident, reflected, and transmitted are not separately meaningful. By t=190t=190, the interaction remainder is negligible and the regional norms have stabilized.

The finest propagation gives

PRnum=0.928055098720,Pint(tf)=2.42×10−12,PTnum=0.071944901274.\begin{aligned} P_{\mathrm R}^{\mathrm{num}} &= 0.928055098720, \\ P_{\mathrm{int}}(t_f) &= 2.42\times10^{-12}, \\ P_{\mathrm T}^{\mathrm{num}} &= 0.071944901274. \end{aligned}

The accounted norm is

PRnum+Pint(tf)+PTnum=0.999999999997.\begin{aligned} &P_{\mathrm R}^{\mathrm{num}}+P_{\mathrm{int}}(t_f)\\ &\qquad+P_{\mathrm T}^{\mathrm{num}}=0.999999999997. \end{aligned}

Against the independent packet-spectrum benchmark,

PTnum−PTspec=−4.38343×10−6.P_{\mathrm T}^{\mathrm{num}} - P_{\mathrm T}^{\mathrm{spec}} = -4.38343\times10^{-6}.

This discrepancy is about 6.1×10−56.1\times10^{-5} relative to the transmitted probability. It is small compared with the finite-bandwidth correction to T(k0)T(k_0).

The rectangular barrier is discontinuous. Although the symmetric splitting is formally second order, the discontinuity populates high spatial frequencies and makes coarse time-step behavior less regular than a smooth-potential textbook estimate suggests. The observable must therefore be converged empirically.

The main sequence halves Δx\Delta x and Δt\Delta t together while holding LL and tft_f fixed:

Δt=Δx25.\Delta t = \frac{\Delta x}{25}.

| NN | Δx\Delta x | Δt\Delta t | PTnumP_{\mathrm T}^{\mathrm{num}} | ∣PTnum−PTspec∣|P_{\mathrm T}^{\mathrm{num}}-P_{\mathrm T}^{\mathrm{spec}}| | |---:|---:|---:|---:|---:| | 10241024 | 0.50.5 | 0.020.02 | 0.07131320710.0713132071 | 6.36078×10−46.36078\times10^{-4} | | 20482048 | 0.250.25 | 0.010.01 | 0.07185040270.0718504027 | 9.88820×10−59.88820\times10^{-5} | | 40964096 | 0.1250.125 | 0.0050.005 | 0.07193120850.0719312085 | 1.80762×10−51.80762\times10^{-5} | | 81928192 | 0.06250.0625 | 0.00250.0025 | 0.07194490130.0719449013 | 4.38343×10−64.38343\times10^{-6} |

The successive observed orders are approximately

2.69,2.45,2.04.2.69, \qquad 2.45, \qquad 2.04.

The sequence approaches second-order behavior, but this coordinated path alone cannot say whether space or time dominates.

Regional probability curves through the collision and a logarithmic convergence plot for the transmitted probability.

Panel (a) tracks left, interaction, and right regional probabilities. Panel (b) compares the propagated transmission with the exact momentum-weighted barrier coefficient under coordinated refinement. Exact norm conservation at every resolution does not prevent the coarsest transmitted probability from being wrong by more than 6×10−46\times10^{-4}.

At fixed N=4096N=4096 and Δx=0.125\Delta x=0.125:

Δt\Delta tPTnumP_{\mathrm T}^{\mathrm{num}}Absolute Error
0.010.010.07192117500.07192117502.81097×10−52.81097\times10^{-5}
0.0050.0050.07193120850.07193120851.80762×10−51.80762\times10^{-5}
0.00250.00250.07193360180.07193360181.56829×10−51.56829\times10^{-5}
0.001250.001250.07193419390.07193419391.50908×10−51.50908\times10^{-5}

The error approaches a nonzero plateau. Reducing Δt\Delta t further cannot remove the spatial representation error at this NN.

Hold Δx=0.0625\Delta x=0.0625 and Δt=0.0025\Delta t=0.0025 fixed:

LLNNPTnumP_{\mathrm T}^{\mathrm{num}}Final Edge Probability
384384614461440.071944902350.071944902351.75×10−51.75\times10^{-5}
512512819281920.071944901270.071944901273.15×10−163.15\times10^{-16}
64064010240102400.071944901280.071944901281.71×10−161.71\times10^{-16}

The L=512L=512 and L=640L=640 transmissions agree to about 2×10−122\times10^{-12}. The smaller box happens to give a similar integrated transmission at tft_f, but probability has already entered the boundary-monitor region. It has no useful safety margin against periodic wraparound and is rejected.

For the Gaussian family,

σk=12σx.\sigma_k = \frac{1}{2\sigma_x}.

Changing σx\sigma_x changes the physical incoming state, not merely the numerical resolution. The exact spectrum averages are:

σx\sigma_xσk\sigma_kPTspecP_{\mathrm T}^{\mathrm{spec}}PTspec−T(k0)P_{\mathrm T}^{\mathrm{spec}}-T(k_0)
550.10.10.07596804800.07596804805.31722×10−35.31722\times10^{-3}
10100.050.050.07194928470.07194928471.29846×10−31.29846\times10^{-3}
20200.0250.0250.07097343960.07097343963.22615×10−43.22615\times10^{-4}
40400.01250.01250.07073135260.07073135268.05277×10−58.05277\times10^{-5}

The packet result approaches T(k0)T(k_0) as the momentum distribution narrows. A wider packet samples the nonlinear energy dependence of T(k)T(k) and should not be expected to reproduce the central plane-wave value.

The production run satisfies

max⁡t∣∥ψ(t)∥2−1∣<4×10−12\max_t \left| \|\psi(t)\|^2-1 \right| < 4\times10^{-12}

over the recorded time series.

At every recorded time, the three regional probabilities sum to the discrete norm within floating-point summation error.

The late-time transmitted norm agrees with the exact momentum-weighted barrier coefficient within 4.4×10−64.4\times10^{-6} at the finest resolution.

The initial negative-kk probability is below 4×10−324\times10^{-32}, so essentially the entire packet approaches the barrier from the left.

The final interaction-region probability is below 3×10−123\times10^{-12}. This is the operational check that the late-time regional norms may be interpreted as reflection and transmission.

The final probability in the outermost 2525 units on either side is below 4×10−164\times10^{-16} for L=512L=512. The L=640L=640 result confirms box-size stability.

The calculation varies time step at fixed grid, box length at fixed spacing, packet width in the analytic benchmark, and space-time resolution along a coordinated refinement path.

SourcePhysical or Numerical?DiagnosticControl
Packet bandwidthphysical state choicecompare PTspecP_{\mathrm T}^{\mathrm{spec}} with T(k0)T(k_0)vary σx\sigma_x
Time splittingnumericalfixed-NN time-step sequencereduce Δt\Delta t
Barrier/grid representationnumericalspatial plateau and coordinated refinementreduce Δx\Delta x with aligned edges
Periodic wraparoundnumericaledge probability and LL sweepenlarge LL or stop earlier
Incomplete separationnumerical interpretationPint(tf)P_{\mathrm{int}}(t_f)propagate longer without reaching edges
Momentum aliasingnumericalspectral weight near $k
Region placementnumerical interpretationvary xbx_b in a free asymptotic zonemove boundaries and recheck plateaus
Floating-point accumulationnumericalnorm drift versus step countrecord precision and backend

The bandwidth correction should not be added to the numerical error. It is the difference between two different physical inputs: a finite packet and an ideal monochromatic beam.

No absorber is needed for this run because the box is large enough. In longer simulations, a complex absorbing potential or mask can suppress boundary reflection, but then the evolution is intentionally nonunitary. Three precautions become necessary:

  • place the absorber outside every measurement surface;
  • verify that the absorber does not reflect appreciably;
  • compute reflection and transmission from flux through surfaces or regional norms before absorption, rather than treating lost norm as one channel automatically.

A convergence study must then vary absorber onset, width, strength, and functional form in addition to Δx\Delta x and Δt\Delta t.

Run the program with python wave-packet-scattering.py --output-dir wave-packet-output. NumPy is required. Matplotlib is optional; without it, all validation checks and CSV outputs still run.

The source carries the SPDX identifier MIT; the program and generated tabular data are released under the MIT License.

ItemPublished Run
Operating systemWindows 11, x86-64
Python3.12.13
NumPy2.3.5
BLAS/LAPACKOpenBLAS 0.3.30, 64-bit integer interface
Scalar typecomplex128 state, float64 observables
Transformorthonormal NumPy FFT
Propagatorsymmetric second-order split step
Main gridL=512L=512, N=8192N=8192, Δx=0.0625\Delta x=0.0625
Main time stepΔt=0.0025\Delta t=0.0025, 7600076000 steps
PotentialV0=1V_0=1, a=2a=2, cell-aligned edges
Packetx0=−80x_0=-80, σx=10\sigma_x=10, k0=1k_0=1
Measurement regionsx<−15x<-15, $
Random seednone; the calculation is deterministic
LicenseMIT

The script prints the Python and NumPy versions. An archival rerun should also retain np.show_config() because FFT and floating-point details can affect the last few digits.

Trusting norm conservation as an accuracy certificate

Section titled “Trusting norm conservation as an accuracy certificate”

The coarsest run conserves norm to roughly 10−1210^{-12} while its transmission error exceeds 6×10−46\times10^{-4}. Unitarity certifies probability preservation, not resolution of the observable.

At t=100t=100, nearly one third of the probability remains in the interaction region. Calling the left and right integrals final reflection and transmission then would omit a large unresolved component.

On a periodic FFT grid, an outgoing packet eventually re-enters from the opposite edge. A visually plausible second collision can be pure wraparound.

The finite packet averages T(k)T(k) over a nonzero bandwidth. Near a threshold or resonance, this average can differ substantially from T(k0)T(k_0).

Reducing Δt\Delta t at N=4096N=4096 reaches a spatial error plateau. Refining time alone cannot repair an unresolved barrier.

If the barrier edge moves through grid cells as NN changes, the convergence sequence changes both the discretization and the effective physical width. Align the edge convention or integrate the cell potential consistently.

An absorber can remove norm cleanly while reflecting phase or amplitude back toward the interaction region. Its parameters require their own convergence study.

Scattering filters and disperses the packet. Peak density is not a channel probability; integrate the full separated branch.

  • Using an FFT without recognizing its periodic boundary condition.
  • Choosing k0k_0 too close to the Nyquist wavenumber.
  • Launching the packet so near the barrier that it initially overlaps the potential.
  • Reporting 1−PT1-P_{\mathrm T} as reflection before checking interaction and edge probabilities.
  • Calling left-side probability reflection before the incident branch has cleared the measurement surface.
  • Changing NN while accidentally changing the represented barrier width.
  • Treating a smoother-looking high-resolution animation as quantitative convergence evidence.
  • Omitting the physical packet-width correction from the comparison target.
  1. Derive the momentum variance of the initial Gaussian packet.
Solution

The Fourier amplitude is Gaussian about k0k_0 with probability density proportional to

exp⁡ ⁣[−2σx2(k−k0)2].\exp\!\left[ -2\sigma_x^2(k-k_0)^2 \right].

Comparing with a normal density exp⁡[−(k−k0)2/(2σk2)]\exp[-(k-k_0)^2/(2\sigma_k^2)] gives

σk2=14σx2,\sigma_k^2 = \frac{1}{4\sigma_x^2},

so σk=1/(2σx)\sigma_k=1/(2\sigma_x) and Δx Δk=1/2\Delta x\,\Delta k=1/2.

  1. Explain why each split-step update preserves the represented norm.
Solution

For a real potential, e−iVΔt/2e^{-iV\Delta t/2} has unit modulus at every grid point. The kinetic factor e−ik2Δt/2e^{-ik^2\Delta t/2} also has unit modulus at every represented wavenumber. With an orthonormal FFT, the forward and inverse transforms are unitary. A product of unitary maps is unitary, so the discrete norm is preserved apart from floating-point roundoff.

  1. Use the last two coordinated-refinement errors to estimate the observed order.
Solution

The errors are

e0.125=1.80762×10−5,e_{0.125} = 1.80762\times10^{-5},

and

e0.0625=4.38343×10−6.e_{0.0625} = 4.38343\times10^{-6}.

Since the spacing is halved,

pobs=log⁡(e0.125/e0.0625)log⁡2≈2.04.p_{\mathrm{obs}} = \frac{ \log(e_{0.125}/e_{0.0625}) }{ \log2 } \approx 2.04.
  1. Why does the fixed-NN time-step study approach a nonzero error?
Solution

Reducing Δt\Delta t removes the splitting error but leaves the spatially represented Hamiltonian unchanged. At sufficiently small Δt\Delta t, the time propagator accurately evolves that finite-grid Hamiltonian, whose barrier and high-wavenumber response still differ from the continuum problem. The remaining discrepancy is therefore a spatial plateau.

  1. A run has PL=0.60P_{\mathrm L}=0.60, Pint=0.25P_{\mathrm{int}}=0.25, and PR=0.15P_{\mathrm R}=0.15. May one report R=0.60R=0.60 and T=0.15T=0.15?
Solution

No. One quarter of the probability still lies in the interaction region and can later join either outgoing branch. The regional sum confirms accounting, but the packet has not separated. Continue propagation while monitoring boundary clearance, or use a flux-based extraction outside the interaction region.

  1. Suppose an absorber removes 0.080.08 of the norm on the right and 0.030.03 on the left. Under what conditions may those losses be interpreted as transmission and reflection?
Solution

Only if each absorber lies beyond a channel-specific measurement surface, outgoing flux reaches it after leaving the interaction region, reflection from the absorber is negligible, and the remaining interaction probability is accounted for. Absorbed norm by itself does not identify which physical process produced the loss.

  1. Why is varying σx\sigma_x not an ordinary numerical convergence test?
Solution

Changing σx\sigma_x changes the physical momentum distribution and therefore the incoming state. The limit σx→∞\sigma_x\to\infty approaches a monochromatic beam, but finite values describe different experiments. Grid and time-step refinements should converge the result for each chosen σx\sigma_x separately.

  • G. Strang, “On the construction and comparison of difference schemes,” SIAM Journal on Numerical Analysis 5, 506–517, 1968, doi:10.1137/0705041.
  • M. D. Feit, J. A. Fleck Jr., and A. Steiger, “Solution of the Schrödinger equation by a spectral method,” Journal of Computational Physics 47, 412–433, 1982, doi:10.1016/0021-9991(82)90091-2.
  • D. Kosloff and R. Kosloff, “A Fourier method solution for the time dependent Schrödinger equation as a tool in molecular dynamics,” Journal of Computational Physics 52, 35–53, 1983, doi:10.1016/0021-9991(83)90015-3.
  • S. Blanes, F. Casas, and A. Murua, “Symplectic splitting operator methods for the time-dependent Schrödinger equation,” Journal of Chemical Physics 124, 234105, 2006, doi:10.1063/1.2203609.
  • J. R. Taylor, Scattering Theory: The Quantum Theory of Nonrelativistic Collisions, Dover, 2006.
  • J. M. Thijssen, Computational Physics, 2nd ed., Cambridge University Press, 2007.