Dear all,

When i wanna calculate excited electrons in each kpoint using ‘PROJ_x.OUT’, according to the formula given in the tutorial, I only found the initial occupation number of the corresponding **KS** state in **EIGVAL_RTTDDFT.OUT** file.

So, how can i get the current occupation number in corresponding time?

Many thanks!

In the paper “**All-electron full-potential implementation of real-time TDDFT in exciting**”, the statement about occupation number is

In

RT-TDDFT, the occupation numberfjkof a KS stateis kept fixedto itsinitial value.

Therefore, can i use occupation number in **EIGVAL_RTTDDFT.OUT**,

EIGVAL_RTTDDFT.OUT (91.6 KB)

like, (2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0) in this file, to represent **fjk**?

IF that worked,I get the wrong number that couldn’t consistent with **NEXC.OUT**.

I’d be appreciate if someone could help!

Dear cooman-long,

indeed, `exciting`

calculates the number of excitations according to the formula given in the tutorial.

But, I’m afraid, you may not be able to reproduce it following `PROJ_*.OUT`

due to a limitation in the number of decimal digits in this file. In fact, you can verify that, to keep the size of the file small, the numbers in `PROJ_*.OUT`

are printed out with 5 decimal digits.

If your purpose is only to play around and cross-check this kind of calculation, you may want to use a very intense field. It then excites the electrons in a such way, that their wavefunctions will have a large overlap with the excited states (at least much larger than 0.00001).

Dear ronaldo,

Many thanks for your reply！Sorry for bothering you, but i still get confused about the detail for calculating the number of excitations.

The problem that i meet may not precision of value. When i deal with the projection in **PROJ_*.OUT**, I first get the squares of all the values, then i only calculate the triangles under the matrix (excluding diagonal lines). Cause the paper said

we define the number of electrons that have been excited to an unoccupied KS state, labeled j, as

Is that mean the process of projection on the ground state only take place on more higher state? And the results i get is about 0.52 contrast to the value of 1.15 in **NEXC.OUT**, is this normal?

But when i sum all values except diagonal lines in **PROJ_*.OUT**, i get the value of 0.5665.

By the way, i already multiply the occupation number and kpoints weight in this process.

I’d appreciate if you give me some hints!

Dear cooman-long,

probably I need to update the documentation, but the default is that the numbers printed out in **PROJ_.OUT** are already the square of the projections: something like `|<psi_n(0)|psi_n(t)>|^2`

.

So you don’t need to square them further.