Page 1 of 1

Exciton analysis after TD-DFT (using ALDA)

Posted: Fri Jun 12, 2026 10:48 am
by harrier_class
Dear Yambo team,

In the recent past, I have started to use Yambo 5.0 for my periodic system. As the system is quite large, we are inclined in using TD-DFT for calculating the absorption spectra. SInce, it would be nice to see how the excitons also behave at the first peak in the spectra, we decided to do the exciton analysis [provided by ypp], but when I use the following commands:

Code: Select all

ypp -F ypp_WF.in -e w -avehole
ypp -F ypp_WF.in -J 3D_ALDA
I get the error in l_excitons_avehole_wavefunction

Code: Select all

  
  __ __  ____ ___ ___ ____   ___
 |  |  |/    |   |   |    \ /   \
 |  |  |  o  | _   _ |  o  )     |
 |  ~  |     |  \_/  |     |  O  |
 |___, |  _  |   |   |  O  |     |
 |     |  |  |   |   |     |     |
 |____/|__|__|___|___|_____|\___/


 <---> [01] MPI/OPENMP structure, Files & I/O Directories
 <---> MPI Cores-Threads   : 1(CPU)-72(threads)
 <---> [02] Y(ambo) P(ost)/(re) P(rocessor)
 <---> [03] Core DB
 <---> :: Electrons             :  1144.00
 <---> :: Temperature           : 0.000000 [eV]
 <---> :: Lattice factors       : 32.84484  19.01644  42.76142 [a.u.]
 <---> :: K points              : 12
 <---> :: Bands                 : 1200
 <---> :: Symmetries            : 2
 <---> :: RL vectors            : 2577543
 <---> [04] K-point grid
 <---> :: Q-points   (IBZ): 12
 <---> :: X K-points (IBZ): 12
 <---> [05] CORE Variables Setup
 <---> [05.01] Unit cells
 <---> [05.02] Symmetries
 <---> [05.03] Reciprocal space
 <---> [05.04] K-grid lattice
 <---> Grid dimensions      :   2   4   2
 <---> [05.05] Energies & Occupations


 <---> [06] Excitonic Properties @ Q-index #1
[ERROR] STOP signal received while in[06] Excitonic Properties @ Q-index #1
[ERROR] ndb.BS_diago not found
~                               
Does this mean, that exciton analysis requires BSE calculation?

I am new to conducting excited state study for the periodic system, your help would be great!

Thanks.

Best regards,
Vipul Kumar Ambasta

Re: Exciton analysis after TD-DFT (using ALDA)

Posted: Fri Jun 12, 2026 11:29 am
by Davide Sangalli
Dear Vipul,
the procedure is correct, and it should work.

However, you need to solve tddft in transition space with the diagonalization solver, and including the flag WRbsWF in input.

After that, please check the report of your ypp run. You could find why the ndb.BS_diago is not acceptef in your case.

Best,
D.

Re: Exciton analysis after TD-DFT (using ALDA)

Posted: Mon Jun 15, 2026 8:54 pm
by harrier_class
Dear Davide,

I appreciate your super quick response. That give me time to try out the options.

My system is not super big [572 occupied bands] and I am able to run the full diagonalization for small bands window like 500|600.

But for the band window like 500|750 [I did this, to confirm that the spectra does not change with the increasing bands], but I get the error

Code: Select all

Abort(594434) on node 11 (rank 11 in comm 0): Fatal error in PMPI_Allreduce: Invalid count, error stack: PMPI_Allreduce(390): MPI_Allreduce(sbuf=0x15315429a700, rbuf=0x15379036b860, count=-1593462720, datatype=MPI_COMPLEX, op=MPI_SUM, comm=MPI_COMM_WORLD) failed PMPI_Allreduce(332): Negative count, value is -1593462720 Abort(738791938) on node 23 (rank 23 in comm 0): Fatal error in PMPI_Allreduce: Invalid count, error stack: PMPI_Allreduce(390): MPI_Allreduce(sbuf=0x14e25d768440, rbuf=0x14e898817860, count=-1593462720, datatype=MPI_COMPLEX, op=MPI_SUM, comm=MPI_COMM_WORLD) failed PMPI_Allreduce(332): Negative count, value is -1593462720 Abort(403247618) on node 12 (rank 12 in comm 0): Fatal error in PMPI_Allreduce: Invalid count, error stack: PMPI_Allreduce(390): MPI_Allreduce(sbuf=0x14998b69b740, rbuf=0x149fc0bc7860, count=-1593462720, datatype=MPI_COMPLEX, op=MPI_SUM, comm=MPI_COMM_WORLD) failed PMPI_Allreduce(332): Negative count, value is -1593462720 Abort(134812162) on node 21 (rank 21 in comm 0): Fatal error in PMPI_Allreduce: Invalid count, error stack: PMPI_Allreduce(390): MPI_Allreduce(sbuf=0x14c0d1a60440, rbuf=0x14c7061c7860, count=-1593462720, datatype=MPI_COMPLEX, op=MPI_SUM, comm=MPI_COMM_WORLD) failed PMPI_Allreduce(332): Negative count, value is -1593462720 Abort(134812162) on node 13 (rank 13 in comm 0): Fatal error in PMPI_Allreduce: Invalid count, error stack: PMPI_Allreduce(390): MPI_Allreduce(sbuf=0x14d70ca9b700, rbuf=0x14dd48337860, count=-1593462720, datatype=MPI_COMPLEX, op=MPI_SUM, comm=MPI_COMM_WORLD) failed PMPI_Allreduce(332): Negative count, value is -1593462720 Abort(604574210) on node 28 (rank 28 in comm 0): Fatal error in PMPI_Allreduce: Invalid count, error stack: PMPI_Allreduce(390): MPI_Allreduce(sbuf=0x152103360480, rbuf=0x152736dc3860, count=-1593462720, datatype=MPI_COMPLEX, op=MPI_SUM, comm=MPI_COMM_WORLD) failed PMPI_Allreduce(332): Negative count, value is -1593462720 Abort(269029890) on node 15 (rank 15 in comm 0): Fatal error in PMPI_Allreduce: Invalid count, error stack: PMPI_Allreduce(390): MPI_Allreduce(sbuf=0x151bfff99700, rbuf=0x1522361c77c0, count=-1593462720, datatype=MPI_COMPLEX, op=MPI_SUM, comm=MPI_COMM_WORLD) failed PMPI_Allreduce(332): Negative count, value is -1593462720 Abort(738791938) on node 31 (rank 31 in comm 0): Fatal error in PMPI_Allreduce: Invalid count, error stack: PMPI_Allreduce(390): MPI_Allreduce(sbuf=0x14ec5abdf440, rbuf=0x14f29499b860, count=-1593462720, datatype=MPI_COMPLEX, op=MPI_SUM, comm=MPI_COMM_WORLD) failed PMPI_Allreduce(332): Negative count, value is -1593462720 Abort(671683074) on node 14 (rank 14 in comm 0): Fatal error in PMPI_Allreduce: Invalid count, error stack: PMPI_Allreduce(390): MPI_Allreduce(sbuf=0x14d51fca1700, rbuf=0x14db5c6df860, count=-1593462720, datatype=MPI_COMPLEX, op=MPI_SUM, comm=MPI_COMM_WORLD) failed PMPI_Allreduce(332): Negative count, value is -1593462720 Abort(67703298) on node 29 (rank 29 in comm 0): Fatal error in PMPI_Allreduce: Invalid count, error stack: PMPI_Allreduce(390): MPI_Allreduce(sbuf=0x14c890b46440, rbuf=0x14cecd163860, count=-1593462720, datatype=MPI_COMPLEX, op=MPI_SUM, comm=MPI_COMM_WORLD) failed PMPI_Allreduce(332): Negative count, value is -1593462720 Abort(537465346) on node 30 (rank 30 in comm 0): Fatal error in PMPI_Allreduce: Invalid count, error stack: PMPI_Allreduce(390): MPI_Allreduce(sbuf=0x149000845440, rbuf=0x14963ce6f860, count=-1593462720, datatype=MPI_COMPLEX, op=MPI_SUM, comm=MPI_COMM_WORLD) failed PMPI_Allreduce(332): Negative count, value is -1593462720 [2026-06-15T18:11:08.565] error: *** STEP 3682133.0 ON f0701 CANCELLED AT 2026-06-15T18:11:08 DUE to SIGNAL Killed *** srun: Job step aborted: Waiting up to 32 seconds for job step to finish.
This was the input file used by me

Code: Select all


optics                           # [R] Linear Response optical properties
bss                              # [R] BSE solver
bse                              # [R][BSE] Bethe Salpeter Equation.
tddft                            # [R][K] Use TDDFT kernel
X_Threads=0                      # [OPENMP/X] Number of threads for response functions
DIP_Threads=0                    # [OPENMP/X] Number of threads for dipoles
K_Threads=0                      # [OPENMP/BSK] Number of threads for response functions
BSEmod= "coupling"               # [BSE] resonant/retarded/coupling
BSKmod= "ALDA"                   # [BSE] IP/Hartree/HF/ALDA/SEX/BSfxc
BSSmod= "d"                      # [BSS] (h)aydock/(d)iagonalization/(s)lepc/(i)nversion/(t)ddft`
BSENGexx= 3          Ry    # [BSK] Exchange components
BSEprop= "abs"                   # [BSS] abs/kerr/magn/dichr trace
% BSEQptR
 1 | 1 |                             # [BSK] Transferred momenta range
%
% BSEBands
  500  | 750 |                       # [BSK] Bands range
%
% BEnRange
  0.00000 | 6.00000 |         eV    # [BSS] Energy range
%
% BDmRange
 0.100000 | 0.100000 |         eV    # [BSS] Damping range
%
BEnSteps= 100                    # [BSS] Energy steps
% BLongDir
 1.000000 | 1.000000 | 1.000000 |        # [BSS] [cc] Electric Field
%
BS_ROLEs= "k eh t"
BS_CPU= "1 4 4"                 # 1 * 4 * 4 = 16 total MPI tasks
BS_nCPU_LinAlg_DIAGO= 4         # Perfectly structures an efficient 4x4 ScaLAPACK matrix grid
BS_nCPU_LinAlg_INV= 4


Can this be due to the fact that my system is large for running full diagonaliation? If yes, I also looked into using the Lanczos-Haydock solver [for the spectra} followed by SLEPc solver [for doing excitons analysis] ,and it seems possible to that way [Source: Yambo tutorials] . But I am not sure if thats recommended for the tddft? Can you help me know that?


Your inputs will be of great help.

PS: I use Yambo 5.0.4, I tried to get Yambo 5.3/5.4 running, but they just give me Segmentation error, I am still not able to figure that out.

--
Best regards,
Vipul