3.35 Adiabatic Connection Correlation Methods

The Møller-Plesset Adiabatic Connection (MPAC) Methods [274, 69, 64] are post-HF approaches for the calculation of correlation energies using the expression

Ec=𝒜𝒞(Ex,EcMP2,W,W,ρRi) (3.127)

where 𝒜𝒞 is a non-linear function of the following ingredients: the exact-exchange (Ex), the MP2 correlation energy (EcMP2), the exchange-correlation energy at λ= (W) and its first derivative over λ (W), the electronic density at each nuclear position (ρRi).

The MPAC approaches (also named as HFAC, to highlight the dependence on Hartree-Fock orbitals) has a computational protocol similar to double-hybrid functionals: however, thanks to the non-linear dependence of EcMP2, HFAC methods can also be applied to systems with vanishing energy-gap, such as metals.

The non-linear formula 𝒜𝒞 is implemented in the external script acmxc.py, whereas all the ingredients are computed with FHI-aims. In particular, the following strong interaction models are currently implemented in FHI-aims at the GGA level of theory: HFAC24[64], PC[275], hPC[282].

Various 𝒜𝒞 are currently implemented in the acmxc.py script, the most relevant being: ISI[276], revISI[112], genISI2[65], SPL2[69], MPACF1[69] and HFAC24[64]. ISI, revISI and genISI2 are can be used with PC or hPC. SPL2 and MPACF1 are empirical methods which are very accurate for interaction energies of weakly-interaction molecular systems[69], are used with the PC model. HFAC24 is a non-empirical approach with broder applicability[64], and it has to be used with the corresponding HFAC24 strong-interaction model.

To compute the ACM energy, prepare the control.in with:

xc                  MP2
total_energy_method W
output              rho_on_atoms

where W can be HFAC24, PC or hPC. In this way an Hartree-Fock calculation, and MP2 calculation, and post-HF calculation with the density functional for the strong-interaction ingredient will be perfromed and written in the output file: e.g.

Strong correlation functionals
W  =      -19.2783191264
W1 =       74.3220700730

In addition the electronic density at the nuclear position will be computed.

Then, the total energy is computed by:

acmxc.py -f ACM

where ACM can be ISI, revISI, genISI2, HFAC24.

The output of the acmxc.py looks like:

Program:  fhiaims
Input file:  control.in
Output file:  aims.out
Program’s path:  /home/turbo/AIMS/FHIaims/build/aims.250312.scalapack.mpi.x
N. cpu:  1
ACM model:  hfac24
  Ref: J. Phys. Chem. Lett. 16, 3378 (2025)
W functional:  hfac24
  Ref: J. Phys. Chem. Lett. 16, 3378 (2025)
W3/4 functional:  True
Metal mode:  False

Running SCF calculation...
Already done
Running W_3/4 calculation...
Running MP2 calculation...
Already done

 SCF energy:            -76.0595634400
 HF-exchange energy:     -8.9321064100
 E_el energy:           -19.2783191263
 W_1/2 energy:           74.3220700730
 W_{c,inf}^HF energy:   -28.2104255363
 W_3/4 energy:          -44.2414675115
 MP2 corr. energy:       -0.3261503200

RESULTS:
 Correlation energy:             -0.3402448243
 Exchange-correlation energy:    -9.2723512343
 Total energy:                  -76.3998082643

Note that that HFAC methods, as well as all approaches which includes the MP2 correlation, strongly depends on the basis-set. Thus a very large basis set must be used.

The acmxc.py checks the data il the file aims.out. If it is not present FHI-aims is executed again using the program defined in the enviroment variable FHIAIMSRUN.

For the calculation of interaction energies, a Size-Consistent Correction[309] need to be added. Calculation can be done with:

acmxc.py -f ACM --int systems.info

where the file systems.info describes the total systems as well as the subsystems, with the format

coeff1 directory1
coeff2 directory2
...
coeffN directoryN

where directoryJ spefify the directory where the calculation is store and coeffJ specify the multiplicty For the calculation of atomization energy of the water molecule, for example, use:

1 TOTAL
-2  ATOM_H
-1  ATOM_O

The output will look like:

===== INTERACTION ANALYSIS ====
...
 Bare interaction energy:        -0.3682151655
 Size-consistent correction:      0.0022443627
 SCC interaction energy:         -0.3659708028

where the SCC interaction energy is the correct interaction energy.

Other options of the acmxc.py script are:

  -f <string>, --formula <string>
                Formula to be used. Options: isi, revisi,
                genisi, spl, lb, spl2, mpacf1, dpi, hfac24, mp2, hflda
  -w <string>, -wfunc <string>
                W_inf functional. Options: pc, hpc, mpc, hfpc|hfac24, lda
  -n <int>, -nthreads <int>
                Number of threads to use (default: 1)
  -d <string>, -dir <string>
                Full Path of <program> (default=$FHIAIMSRUN)
  -i <string>, --input <string>
                Input filename, default=control.in
  -o <string>, --output <string>
                Output filename, default=aims.out
  --metal       Sets E_mp2=-inf. Use for calculations of systems
                with vanishing gap (default=False)
  --int <string>, --interaction <string>
                Full path of a file with information for
                interaction energy calculations
  --rerun       Rerun calculation (default=False)

Tags for general section of control.in

 

Tag: output_rho_on_atoms(control.in)

Store the total electron density at all nuclear positions in the file rhotot_on_atoms.dat and the corresponsing total spin-density in the file rhospin_on_atoms.dat.