Skip to content

Complete ML-MCTDH Wavepacket Propagation Algorithm

After constructing the vibronic Hamiltonian (operator file) and preparing the propagation input, the ML-MCTDH program follows a sequence of numerical steps to evolve the nuclear wavepacket on coupled electronic states. This page combines all mathematical concepts discussed in the previous chapters into one complete propagation workflow.


Overview

The complete propagation procedure consists of the following major stages:

  1. Read the operator and input files
  2. Construct the vibronic Hamiltonian
  3. Build the ML-MCTDH wavefunction
  4. Initialize the wavepacket
  5. Compute Hamiltonian matrix elements
  6. Apply the Dirac–Frenkel variational principle
  7. Propagate coefficients and SPFs
  8. Calculate physical observables
  9. Generate output files
  10. Produce spectra from the autocorrelation function

Step 1 — Read the Input Files

MCTDH first reads all user-provided files.

Operator File

Contains

  • electronic energies
  • vibrational frequencies
  • linear couplings
  • quadratic couplings
  • interstate couplings

These terms define the complete Hamiltonian

\[ \hat H = \hat T + \hat V \]

Propagation Input

The propagation input defines

  • ML tree
  • SPFs
  • primitive basis
  • propagation time
  • integrator
  • output frequency
  • initial state

For example,

RUN-SECTION
propagation
...

PRIMITIVE-BASIS-SECTION
...

ML-BASIS-SECTION
...

INIT_WF-SECTION

Together, these completely define the numerical problem.


Step 2 — Construct the Vibronic Hamiltonian

Using the operator file, MCTDH assembles the Hamiltonian

\[ \hat H = \hat T + \hat V \]

where

\[ \hat V = \sum_i V_{ii}(Q) |i\rangle\langle i| + \sum_{i\neq j} V_{ij}(Q) |i\rangle\langle j| \]

The diagonal terms describe nuclear motion on individual electronic states.

The off-diagonal terms allow transitions between electronic states.

At this point the Hamiltonian is completely defined.


Step 3 — Build the ML-MCTDH Wavefunction

The total wavefunction is expanded as

\[ \Psi = \sum_J A_J \prod_\kappa \varphi_{j_\kappa}^{(\kappa)} \]

Each SPF is expanded recursively

\[ \varphi = \sum B \prod \varphi \]

until primitive DVR basis functions are reached.

The hierarchy defined by the ML tree is now constructed.


Step 4 — Generate the Initial Wavepacket

The initial wavepacket is created from the INIT_WF section.

Typical choices include

  • ground vibrational state
  • displaced Gaussian
  • excited electronic state
  • user-defined wavefunction

Initially,

\[ \Psi(0) = |S_i\rangle \chi_0(Q) \]

where

  • electronic population is entirely on one state
  • nuclear motion starts from the chosen vibrational state

This corresponds to the population output

population :
0.00000
0.00000
1.00000
0.00000

showing that all population is initially on State 3.


Step 5 — Evaluate Hamiltonian Matrix Elements

The Hamiltonian acts on the ML wavefunction.

Matrix elements such as

\[ \langle \Phi_I | \hat H | \Phi_J \rangle \]

are evaluated recursively through the ML tree.

This recursive contraction is the key computational advantage of ML-MCTDH.

Instead of constructing an exponentially large Hamiltonian matrix, only low-dimensional tensors are contracted.


Step 6 — Apply the Dirac–Frenkel Variational Principle

The equations of motion are obtained from

\[ \left< \delta\Psi \right| i \frac{\partial}{\partial t} - \hat H \left| \Psi \right> = 0 \]

The variational principle guarantees

  • optimal wavefunction evolution
  • minimum propagation error
  • orthonormal SPFs throughout the calculation

Step 7 — Solve the Equations of Motion

Two coupled equations are propagated simultaneously.

Configuration coefficients

\[ i\dot A = H_{\rm eff}A \]

These determine

  • electronic amplitudes
  • configuration mixing

Single Particle Functions

\[ i \dot\varphi = (1-P)\rho^{-1} \langle H\rangle \varphi \]

These update

  • vibrational basis functions
  • adaptive coordinate representation

Both equations are solved at every time step.


Step 8 — Adaptive Basis Optimization

After every propagation step,

the SPFs adapt to the evolving wavepacket.

This produces the natural weights printed in the output

Natural weights

node 1

m1:
988.137
5.625
4.684
1.553

Large first weights indicate that the SPF basis efficiently represents the wavepacket.

If many significant natural weights appear,

additional SPFs should be added.


Step 9 — Compute Physical Observables

Once the new wavefunction is obtained,

MCTDH computes all requested observables.

These include

Electronic populations

\[ P_i(t) = \langle\Psi| i\rangle \langle i| \Psi\rangle \]

Output

population :
0.16042
0.00321
0.82544
0.01093

Position expectation values

\[ \langle q\rangle \]

Output

v32

<q>=0.0095

Wavepacket width

\[ \Delta q = \sqrt{ \langle q^2\rangle - \langle q\rangle^2 } \]

Output

<dq>=0.6921

Vibrational occupation

\[ \langle n\rangle \]

Output

<n>=0.0107

Total energy

\[ E(t) = \langle \Psi | \hat H | \Psi \rangle \]

Output

E-tot
=
5.667911 eV

A nearly constant energy confirms stable numerical propagation.


Step 10 — Compute the Autocorrelation Function

After each propagation step,

MCTDH evaluates

\[ C(t) = \langle \Psi(0) | \Psi(t) \rangle \]

This measures the overlap between the initial and propagated wavepacket.

The values are written into the

auto

file.


Step 11 — Generate the Absorption Spectrum

Finally,

the autocorrelation function is Fourier transformed

\[ I(E) = \int C(t) e^{iEt/\hbar} e^{-t/\tau} dt \]

using

autospec86 2.5 4.5 ev 33 1

which produces

spectrum.pl

containing the simulated absorption spectrum.


Overall Computational Workflow

Operator File
Read Vibronic Hamiltonian
Read Propagation Input
Build ML Tree
Construct Initial Wavepacket
Evaluate Hamiltonian
Dirac–Frenkel Variational Principle
Equations of Motion
Propagate A-coefficients
Propagate SPFs
Update Adaptive Basis
Compute Observables
        ├── Population
        ├── Energy
        ├── <q>
        ├── <n>
        └── Natural Weights
Autocorrelation Function
Fourier Transform
Absorption Spectrum

Summary

The ML-MCTDH propagation algorithm combines the vibronic Hamiltonian, hierarchical wavefunction expansion, adaptive Single Particle Functions, and the Dirac–Frenkel variational principle into a highly efficient framework for quantum dynamics. Rather than propagating a fixed multidimensional basis, the basis itself evolves with the wavepacket, allowing accurate simulations of systems containing dozens of vibrational modes. During propagation, MCTDH continuously updates the wavefunction, computes observables such as electronic populations, mode expectation values, and energies, evaluates the autocorrelation function, and finally generates absorption spectra through Fourier transformation. This adaptive strategy is the primary reason why ML-MCTDH can perform quantum dynamical simulations that would be computationally impossible using conventional grid-based approaches.