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
| (3.127) |
where is a non-linear function of the following ingredients: the exact-exchange (), the MP2 correlation energy (), the exchange-correlation energy at and its first derivative over , the electronic density at each nuclear position ().
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 , 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.