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
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
or equivalently,
Since the total wavefunction remains normalized,
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
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,
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:
Whenever it encounters
it stores the current propagation time.
It then continues reading until it finds
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
Many users place the executable in their personal binary directory
so that it can be executed from any propagation directory simply by typing
The program reads the MCTDH output file automatically and generates a new file named
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,
indicates that the wavepacket is initially placed entirely on State 3.
After only 0.5 fs,
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,
- the wavefunction is updated,
- the electronic amplitudes are determined,
- the populations are evaluated,
- 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.