Menu

Reference.Programs.qm_bound

Burkhard Schmidt
Attachments
TISE.gif (3401 bytes)

qm_bound: Bound state calculation to solve the TISE

When called for an object of class wave (wavefunctions ψ(R,t)), this MATLAB function numerically solves (one or several coupled) time-independent Schrödinger equation(s) for bound state problems using Fourier-Grid-Hamiltonian or other discrete variable representation (DVR methods). For an overview of the numerical methods, see also this page of the WavePacket main Wiki. Note that atomic units, i. e. where ħ=me=e=1, are used throughout.

H(R,−i ∇R) ψn(R) = En ψn(R)

with

symbol explanation coupled state
ψn(R) Wavefunction (n-th eigenfunction of H) vector
En Eigenenergy (n-th eigenvalue of H) scalar
H = T + V − iW Hamilton operator matrix
T = T(R,−i ∇R) Kinetic energy scalar
V = V(R) Potential energy matrix
W = W(R) Negative imaginary potential, used for absorbing boundary conditions scalar

Note that an alternative way to solve the TISE is to use our MATLAB function qm_propa for propagation in imaginary time (also known as: relaxation method).

Source code

The MATLAB function qm_bound.m can be found here

Note that qm_bound.m works only with objects of the main classes given in the following table:

class name description
wave wavefunctions, represented on grids

File I/O

  • Depending on the choice of the constituents of the underlying Hamiltonian, some operators, such as potential energy, dipole moment, or the initial wavefunctions are either chosen from available model functions or they can be read from (formatted!) data files. In the latter case, the respective tabulated vaules are then interpolated, see our detailed description.

  • The stationary wavefunctions ψn (along with additional parameters) can (optionally!) be saved in unformatted Matlab data files, see also our detailed description.

    • The saved wavefunctions can be loaded into qm_propa where they may serve as initial state for a wavepacket propagation.

    • The saved wavefunctions can be loaded into qm_matrix where they are used for calculation of matrix elements of important operators.

    • The saved wavefunctions can be loaded into qm_movie, where they are used to generate animated graphics. This is important if no visualization is done "on the fly" in qm_bound.

Algorithms

For an overview of methods to solve the TISE, see also the corresponding page of the WavePacket central Wiki. Here we emphasize again that the direct diagonalization is intimately related to the various DVR/FBR representations listed in the following

  • MATLAB class for Fast Fourier Transform scheme can be found here

  • MATLAB class for Gauss-Hermite scheme can be found here

  • MATLAB class for Gauss-Legendre scheme can be found here

Note that these are the only places where classes/objects are used in the present MATLAB version of WavePacket.

Variables

Note that function qm_init.m should be run previously in order to initialize all variables in use. Of particular interest are the following structures:


Related

Wiki: Download.Installation.Main
Wiki: FAQ.Main
Wiki: Reference.Classes.wave
Wiki: Reference.Files.Main
Wiki: Reference.Programs.Main
Wiki: Reference.Programs.qm_abncd
Wiki: Reference.Programs.qm_init
Wiki: Reference.Programs.qm_matrix
Wiki: Reference.Programs.qm_movie
Wiki: Reference.Programs.qm_propa
Wiki: Reference.Variables.expect
Wiki: Reference.Variables.hamilt.eigen
Wiki: Reference.Variables.hamilt.kin
Wiki: Reference.Variables.hamilt
Wiki: Reference.Variables.info
Wiki: Reference.Variables.plots
Wiki: Reference.Variables.space.dof
Wiki: Reference.Variables.space
Wiki: Reference.Variables.time
Wiki: Users.Basics.Main
Wiki: Users.Graphics.Movies
Wiki: Users.Graphics.Plots
Wiki: Users.Interpolation.Main
Wiki: Users.Saving.Main

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.