Skip to content

Population Analysis

One of the primary goals of an MCTDH propagation is to determine how the nuclear wavepacket evolves among different electronic states over time. While the propagation itself computes the complete multidimensional wavefunction, it is often more informative to monitor the population of each electronic state as a function of time.

MCTDH prints these populations at every output time step during the propagation. By extracting these values into a separate file, they can easily be plotted to visualize ultrafast population transfer, internal conversion, nonadiabatic transitions, or coherent oscillations between electronic states.


What is Population?

Suppose the propagated wavefunction is expanded in the electronic basis as

\[ \Psi(t) = \sum_{i=1}^{N} \chi_i(Q,t) |i\rangle , \]

where

  • \(|i\rangle\) is the \(i^{th}\) electronic state,
  • \(\chi_i(Q,t)\) is the nuclear wavepacket on that state.

The population of state \(i\) is simply

\[ \boxed{ P_i(t) = \langle\chi_i(t)|\chi_i(t)\rangle } \]

or equivalently,

\[ P_i(t) = \int |\chi_i(Q,t)|^2 \,dQ. \]

Since the total wavefunction remains normalized,

\[ \boxed{ \sum_i P_i(t)=1. } \]

Thus, the populations represent the probability of finding the molecule on each electronic state at a given time.


Population in the MCTDH Output

During propagation, MCTDH prints a line similar to

population :  0.16042 0.00321 0.82544 0.01093

Here,

State Population
State 1 0.16042
State 2 0.00321
State 3 0.82544
State 4 0.01093

The values always sum to approximately one,

\[ 0.16042 + 0.00321 + 0.82544 + 0.01093 = 1.00000. \]

This confirms that the wavefunction normalization has been preserved throughout the propagation.


Why Extract the Population Separately?

Although the population values are already present in the output file, they are embedded among many other quantities such as

  • natural weights,
  • expectation values,
  • energies,
  • CPU timings,
  • mode variances.

Extracting only the populations into a dedicated file greatly simplifies subsequent analysis and plotting.


The Population Extraction Program

A small Fortran program (pop.f) can be used to scan the MCTDH output file automatically.

The program searches for two keywords:

seconds='Time'
pop='population'

Whenever it encounters

Time = ...

it stores the current propagation time.

It then continues reading until it finds

population :

and writes both quantities to a new file.

Conceptually, the program performs

Read output
Find "Time"
Store current time
Search for "population"
Extract population values
Write one line to pop.dat
Repeat until end of file

Compiling the Program

The extraction program can be compiled using

gfortran pop.f -o pop.exe

Many users place the executable in their personal binary directory

~/bin/

so that it can be executed from any propagation directory simply by typing

pop.exe

The program reads the MCTDH output file automatically and generates a new file named

pop.dat

Generated Population File

The resulting file contains one line for each propagation time.

0.00 0.00000 0.00000 1.00000 0.00000
0.50 0.16042 0.00321 0.82544 0.01093
1.00 0.04725 0.00673 0.90479 0.04123
1.50 0.07612 0.01852 0.84259 0.06276
2.00 0.11850 0.02711 0.73200 0.12237

Each row consists of

Column Description
1 Propagation time (fs)
2 Population of electronic state 1
3 Population of electronic state 2
4 Population of electronic state 3
5 Population of electronic state 4

For calculations involving more electronic states, additional population columns will be written automatically.


Physical Interpretation

The populations describe how the nuclear wavepacket redistributes among the electronic states during the dynamics.

For example,

0.00 0.00000 0.00000 1.00000 0.00000

indicates that the wavepacket is initially placed entirely on State 3.

After only 0.5 fs,

0.50 0.16042 0.00321 0.82544 0.01093

part of the population has already transferred to States 1 and 4 due to nonadiabatic vibronic coupling.

As the propagation continues, the populations evolve continuously, revealing the ultrafast dynamics of the molecular system.


Relation to the Equations of Motion

The populations are computed directly from the propagated ML-MCTDH wavefunction obtained by solving the coupled equations of motion discussed in the previous sections.

At every propagation step,

  1. the wavefunction is updated,
  2. the electronic amplitudes are determined,
  3. the populations are evaluated,
  4. and the values are written to the output file.

Thus, the pop.dat file is simply a compact representation of the electronic-state probabilities extracted from the complete MCTDH propagation.