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?
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 number fjk of a KS state is kept fixed to its initial 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!
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).
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!
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
So you don’t need to square them further.