LibXC-Chachiyo-Correlation

Even though the Chachiyo correlation is due to be released in the next version of LibXC, it will be quite a while. Here's how you can easily compile the stable version of LibXC with the new correlation functional. The source code "lda_c_chachiyo.c" was written by Miguel A. L. Marques, which I downloaded from the LibXC svn tree a few months ago. Please cite their work accordingly.

[x] Tests on phonon dispersion curves:

Ukrit Jitropas and Chung-Hao Hsu (2017). Study of the first-principles correlation functional in the calculation of silicon phonon dispersion curves. Jpn. J. Appl. Phys, 56, 070313.

please contact <teepanis.chachiyo@gmail.com> for help.

How to Compile libxc-2.2.1 with C_CHACHIYO correlation

1) Download libxc-2.2.1.tar.gz, unpack it

2) Copy file lda_c_chachiyo.c into libxc-2.2.1/src

3) Edit file libxc-2.2.1/src/Makefile.am so that line 37 becomes:

lda_c_2d_amgb.c lda_c_2d_prm.c lda_c_chachiyo.c stoll.c \

4) # cd libxc-2.2.1/

5) # autoreconf

6) Perform the usual ./configure ; make ; make install to compile

the source code

7) Test the compiled code with the command:

#./xc-info 287

You should see information of the new correlation functional.

--- How to Compile ape-2.2.1 with libXC + Chachiyo Correlation ---

1) Check if libxc has been successfully compiled with Chachiyo correlation

by executing the command

# ./xc-info 287

Above should give you the information regarding the functional.

2) In ape-2.2.1 /src directory you need to edit 2 files:

2.1) parser_symbols.F90

Insert a single line (around the line number 123) so that it looks like this:

call oct_parse_putsym("lda_c_ml2", XC_LDA_C_ML2*1000)

call oct_parse_putsym("lda_c_vwn_rpa", XC_LDA_C_VWN_RPA*1000)

call oct_parse_putsym("lda_c_chachiyo", XC_LDA_C_CHACHIYO*1000)

2.2) ps_io.F90

Insert 3 lines (around the line number 1284) so that it looks like this:

case (XC_LDA_C_VWN)

corr = "VWN "

gradc = "NOGC"

case (XC_LDA_C_CHACHIYO)

corr = "CHACHIYO "

gradc = "NOGC"

case (XC_LDA_C_PW)

corr = "PW "

gradc = "NOGC"

3) Compile as usual.