Ionization Energies Calculation

Last update: 2022/10/03


Calculate the first ionization energies (IE) of atom H - Ne (atomic number: 1 - 10) with following Method and basis set:

✓ Method: MP2, MP4 or CCSD(T)
✓ Basis set: 6-31G* or 6-311+G(2df,2p)

Definition of Ionization Energies:
A(g) → A+(g) + e - ΔE = IE1
A+(g) → A2+(g) + e - ΔE = IE2

Results

  The first ionization energies and absolute error are shown in the plot below. You can download the raw data Here.

Conclusion

1. With 6-31G* basis set MUE: MP2 (9.6 kcal/mol) ≈ CCSD(T) (9.5 kcal/mol) ≈ MP4 (9.4 kcal/mol)
2. With 6-311+G(2df,2p) basis set MUE: MP2 (3.5 kcal/mol) > CCSD(T) (2.6 kcal/mol) ≈ MP4 (2.4 kcal/mol)
3. For MP2, MP4, CCSD(T) methods, most of the IE had been underestimated.
4. For MP2, MP4, CCSD(T) methods, using 6-311+G(2df,2p) basis set could significantly reduce the error.
5. CCSD(T) is an expensive method but it could get accurate energies only if we use a larger basis set such as aug-cc-pVTZ.


Additional information


Quick way to calculate ionization energies


Do not use this method unless you are good with figures. (對數字敏感)

                  
      #!/bin/bash
      #
      #
      mkdir MP2_atom
      cd MP2_atom
      
      g16_file=$(cat ../atom.dat)
      
      for file in ${g16_file}
      do
              touch ${file}"_MP2.com"
          wait
              echo $'%nprocshared=2\n%mem=2GB\n# MP2/6-31G*\n\ntitle\n' >> ${file}"_MP2.com"
          wait
      done
      
      wait
      
      for file in ${g16_file}
      do
          if [[ ${file} == *'He'* ]] || [[ ${file} == *'Be'* ]] || [[ ${file} == *'Ne'* ]] || [[ ${file} == *'Mg'* ]] || [[ ${file} == *'Ar'* ]]; then
              echo '0 1' >> ${file}"_MP2.com"
              wait
              echo ${file} $'\n\n' >> ${file}"_MP2.com"
              wait
          elif [[ ${file} == *'H'* ]] || [[ ${file} == *'Li'* ]] || [[ ${file} == *'B'* ]] || [[ ${file} == *'F'* ]] || [[ ${file} == *'Na'* ]] || [[ ${file} == *'Al'* ]] || [[ ${file} == *'Cl'* ]]; then
              echo '0 2' >> ${file}"_MP2.com"
              wait
              echo ${file} $'\n\n' >> ${file}"_MP2.com"
              wait
          elif [[ ${file} == *'C'* ]] || [[ ${file} == *'O'* ]] || [[ ${file} == *'Si'* ]] || [[ ${file} == *'S'* ]]; then
              echo '0 3' >> ${file}"_MP2.com"
              wait
              echo ${file} $'\n\n' >> ${file}"_MP2.com"
              wait
          elif [[ ${file} == *'N'* ]] || [[ ${file} == *'P'* ]]; then
              echo '0 4' >> ${file}"_MP2.com"
              wait
              echo ${file} $'\n\n' >> ${file}"_MP2.com"
              wait
          fi
          wait
      done
      
      for file in ${g16_file}
      do
          g16 ${file}"_MP2.com" &
          wait
      done
      
      echo "DONE"
      wait
      #
            
               

Reference


Window Keyword and Frozen Core Options
NIST Atomic Spectra Database Ionization Energies Form