deepmodeling / abacus-develop

An electronic structure package based on either plane wave basis or numerical atomic orbitals.
http://abacus.ustc.edu.cn
GNU Lesser General Public License v3.0
174 stars 136 forks source link

Bug: function WARNING_QUIT does not finalize the MPI processes correctly #5486

Open dyzheng opened 1 week ago

dyzheng commented 1 week ago

Describe the bug

When I test the case in #4255 , I found segmentation error from DFT-D3:


===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   RANK 0 PID 73219 RUNNING AT iZ8vb7tfkypr38uhx9uiqfZ
=   KILLED BY SIGNAL: 9 (Killed)
===================================================================================

===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   RANK 1 PID 73220 RUNNING AT iZ8vb7tfkypr38uhx9uiqfZ
=   KILLED BY SIGNAL: 9 (Killed)
===================================================================================

===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   RANK 2 PID 73221 RUNNING AT iZ8vb7tfkypr38uhx9uiqfZ
=   KILLED BY SIGNAL: 9 (Killed)
===================================================================================

===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   RANK 3 PID 73222 RUNNING AT iZ8vb7tfkypr38uhx9uiqfZ
=   KILLED BY SIGNAL: 9 (Killed)
===================================================================================

but error message with one processor:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                         NOTICE                           
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 XC (`default`)'s DFT-D3(0) parameters not found
 CHECK IN FILE : OUT.ABACUS/warning.log

 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                         NOTICE                           
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Expected behavior

No response

To Reproduce

No response

Environment

No response

Additional Context

No response

Task list for Issue attackers (only for developers)

kirk0830 commented 1 week ago

@dyzheng Hi, DFT-D3 now requires an explicit definition on the parameter dft_functional to complete the correct autoset on DFT-D3 parameters. This design is for forcing the user to use DFT-D3 correction correctly, to avoid the case that user uses XC other than PBE but only add one line vdw_method d3_0 in INPUT, without knowing the DFT-D3 parameters are still those of PBE. In your case, adding a line dft_functional pbe will work. Image

kirk0830 commented 1 week ago

I had not realized that the WARNING_QUIT is only called by one processor. I will change the way to call vdw a little bit