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:
- Read the operator and input files
- Construct the vibronic Hamiltonian
- Build the ML-MCTDH wavefunction
- Initialize the wavepacket
- Compute Hamiltonian matrix elements
- Apply the Dirac–Frenkel variational principle
- Propagate coefficients and SPFs
- Calculate physical observables
- Generate output files
- 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
Propagation Input¶
The propagation input defines
- ML tree
- SPFs
- primitive basis
- propagation time
- integrator
- output frequency
- initial state
For example,
Together, these completely define the numerical problem.
Step 2 — Construct the Vibronic Hamiltonian¶
Using the operator file, MCTDH assembles the Hamiltonian
where
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
Each SPF is expanded recursively
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,
where
- electronic population is entirely on one state
- nuclear motion starts from the chosen vibrational state
This corresponds to the population output
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
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
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¶
These determine
- electronic amplitudes
- configuration mixing
Single Particle Functions¶
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
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¶
Output
Position expectation values¶
Output
Wavepacket width¶
Output
Vibrational occupation¶
Output
Total energy¶
Output
A nearly constant energy confirms stable numerical propagation.
Step 10 — Compute the Autocorrelation Function¶
After each propagation step,
MCTDH evaluates
This measures the overlap between the initial and propagated wavepacket.
The values are written into the
file.
Step 11 — Generate the Absorption Spectrum¶
Finally,
the autocorrelation function is Fourier transformed
using
which produces
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.