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
172 stars 132 forks source link

Add the valence electron configurations in the screen output #4901

Open xdzhu opened 3 months ago

xdzhu commented 3 months ago

Background

By now the header of the output include the ELEMENT, ORBITALS and so on, which makes users need to calculate to find out the valence electron configurations by hands. Now it's like:

 Use Systematically Improvable Atomic bases
 ---------------------------------------------------------
 ELEMENT ORBITALS        NBASE       NATOM       XC          
 Fe      4s2p2d1f-8au    27          1     

One can notice that the warnning tells us the value of valence electrons which means the valence electron configurations are also can be extracted:

                PAO radial cut off (Bohr) = 15

 Read in pseudopotential file is /home/zhuxd/abacus/LZ/1.hse-AHC/Fe-hse/pporb-8au/Fe.upf
                     pseudopotential type = NC
          exchange-correlation functional = PBE
                 nonlocal core correction = 1
                        valence electrons = 16
                                     lmax = 2
                           number of zeta = 4
                     number of projectors = 6
                           L of projector = 0
                           L of projector = 0
                           L of projector = 1
                           L of projector = 1
                           L of projector = 2
                           L of projector = 2
     initial pseudo atomic orbital number = 10
                                   NLOCAL = 27

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 Warning: the number of valence electrons in pseudopotential > 8 for Fe: [Ar] 3d6 4s2
 Pseudopotentials with additional electrons can yield (more) accurate outcomes, but may be less efficient.
 If you're confident that your chosen pseudopotential is appropriate, you can safely ignore this warning.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

So, for the easy use consideration, could you please take account of adding the valence electrons and the configuration to the screen output automatically like:

 Use Systematically Improvable Atomic bases
 ---------------------------------------------------------
 ELEMENT  CONFIGURATIONS  ORBITALS        NBASE       NATOM       XC          
 Fe       3s23p63d64s2    4s2p2d1f-8au    27          1     

Describe the solution you'd like

So, for the easy use consideration, could you please take account of adding the valence electrons and the configuration to the screen output automatically like:

 Use Systematically Improvable Atomic bases
 ---------------------------------------------------------
 ELEMENT  CONFIGURATIONS  ORBITALS        NBASE       NATOM       XC          
 Fe       3s23p63d64s2    4s2p2d1f-8au    27          1     

Task list only for developers

Notice Possible Changes of Behavior (Reminder only for developers)

No response

Notice any changes of core modules (Reminder only for developers)

No response

Notice Possible Changes of Core Modules (Reminder only for developers)

No response

Additional Context

No response

Task list for Issue attackers (only for developers)

xdzhu commented 2 months ago

Any idea?

mohanchen commented 2 weeks ago

Good suggestion, we will try to implement it.