[SOLVED] Atompaw: The LibXC functional family -1 unsupported

External optional components of Abinit (BigDFT, Wannier90...) and codes using/providing data from/to Abinit (AtomPAW, ONCVPSP, EXC, DP, Yambo...)

Moderators: ebousquet, bxu

Locked
raul_l
Posts: 74
Joined: Sun Jan 08, 2012 7:45 pm

[SOLVED] Atompaw: The LibXC functional family -1 unsupported

Post by raul_l » Thu Mar 29, 2012 9:28 pm

Dear Users,
I'm trying to generate a PAW dataset using the Teter 93 parametrization. With

W 74
XC_LDA_XC_TETER93 scalarrelativistic loggrid 2001
...

I get

Error in libxc_functionals_init:
The LibXC functional family -1
is currently unsupported by AtomPAW !
(at present only LGA or GGA are supported)

However, if I try for example

W 74
XC_GGA_X_PBE+XC_GGA_C_PBE scalarrelativistic loggrid 2001
...

I get no error. Why doesn't Atompaw accept a single exchange-correlation functional instead of choosing exchange and correlation separately? I also get no error with XC_LDA_XC_TETER93+XC_LDA_XC_TETER93 in the input but according to the manual this is not the correct way to do it. I configured Atompaw-3.0.1.4 with

Code: Select all

FC=ifort CC=icc --with-linalg-flavor=mkl --with-linalg-libs="-L$MKLROOT/lib/intel64 -lmkl_intel_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core" --enable-libxc --with-libxc-incs="-I/opt/etsf/include" --with-libxc-libs="-L/opt/etsf/lib -lxc" --disable-shared --enable-static

Thank You.
Raul Laasner
Netherlands Institute for Space Research

User avatar
torrent
Posts: 127
Joined: Fri Aug 14, 2009 7:40 pm

Re: Atompaw: The LibXC functional family -1 unsupported

Post by torrent » Fri Mar 30, 2012 4:45 pm

Dear Raul,

You actually found a little bug.
This is now (already) corrected in the atompaw repository and will be publish on its website soon; should be available in Abinit in the next release.

The correction is indicated below...


Code: Select all

Index: src/libxc_mod.F90
===================================================================
--- src/libxc_mod.F90   (revision 1228)
+++ src/libxc_mod.F90   (working copy)
@@ -111,8 +111,12 @@
   call uppercase(xcstrg(ii))

   id(ii)=libxc_id(xcstrg(ii))
-  if (id(ii)<0) exit

+  if (id(ii)<0.and.ii==2) then
+    id(ii)=0
+    exit
+  end if
+
   if (id(ii)==0.and.xcstrg(ii)(1:6)=="LIBXC_") then
    read(unit=xcstrg(ii)(7:),fmt=*,err=333,end=333) id(ii)
 333 continue
@@ -310,6 +314,8 @@

  do ii=1,2

+  if (libxc_funcs(ii)%id==0) cycle
+
   select case (xc_f90_info_kind(libxc_funcs(ii)%info))
    case (XC_EXCHANGE)
     write(unt,'(a)') 'Exchange functional (LibXC):'
Marc Torrent
CEA - Bruyères-le-Chatel
France

Locked