The Elk Code
libxcifc_stub.f90
Go to the documentation of this file.
1 
2 ! Copyright (C) 2009 T. McQueen and J. K. Dewhurst.
3 ! This file is distributed under the terms of the GNU General Public License.
4 ! See the file COPYING for license details.
5 
6 ! Stub routines for libxc. See Elk manual for libxc installation instructions.
7 
8 module libxcifc
9 
10 integer libxcv(3)
11 integer, parameter :: xc_mgga_x_tb09=208
12 
13 contains
14 
15 subroutine xcifc_libxc(xctype,n,c_tb09,tempa,rho,rhoup,rhodn,g2rho,g2up,g2dn, &
16  grho2,gup2,gdn2,gupdn,tau,tauup,taudn,ex,ec,vx,vc,vxup,vxdn,vcup,vcdn,dxdgr2, &
17  dxdgu2,dxdgd2,dxdgud,dcdgr2,dcdgu2,dcdgd2,dcdgud,dxdg2r,dxdg2u,dxdg2d,dcdg2r, &
18  dcdg2u,dcdg2d,wx,wxup,wxdn,wc,wcup,wcdn)
19 implicit none
20 ! mandatory arguments
21 integer, intent(in) :: xctype(3),n
22 ! optional arguments
23 real(8), optional :: c_tb09,tempa
24 real(8), optional :: rho(n),rhoup(n),rhodn(n)
25 real(8), optional :: g2rho(n),g2up(n),g2dn(n)
26 real(8), optional :: grho2(n),gup2(n),gdn2(n),gupdn(n)
27 real(8), optional :: tau(n),tauup(n),taudn(n)
28 real(8), optional :: ex(n),ec(n),vx(n),vc(n)
29 real(8), optional :: vxup(n),vxdn(n),vcup(n),vcdn(n)
30 real(8), optional :: dxdgr2(n),dxdgu2(n),dxdgd2(n),dxdgud(n)
31 real(8), optional :: dcdgr2(n),dcdgu2(n),dcdgd2(n),dcdgud(n)
32 real(8), optional :: dxdg2r(n),dxdg2u(n),dxdg2d(n)
33 real(8), optional :: dcdg2r(n),dcdg2u(n),dcdg2d(n)
34 real(8), optional :: wx(n),wxup(n),wxdn(n)
35 real(8), optional :: wc(n),wcup(n),wcdn(n)
36 write(*,*)
37 write(*,'("Error(libxcifc): libxc not or improperly installed")')
38 write(*,*)
39 stop
40 end subroutine
41 
42 subroutine fxcifc_libxc(fxctype,n,rho,rhoup,rhodn,fxc,fxcuu,fxcud,fxcdd)
43 implicit none
44 ! mandatory arguments
45 integer, intent(in) :: fxctype(3),n
46 ! optional arguments
47 real(8), optional :: rho(n),rhoup(n),rhodn(n)
48 real(8), optional :: fxc(n),fxcuu(n),fxcud(n),fxcdd(n)
49 write(*,*)
50 write(*,'("Error(libxcifc): libxc not or improperly installed")')
51 write(*,*)
52 stop
53 end subroutine
54 
55 subroutine xcdata_libxc(xctype,xcdescr,xcspin,xcgrad,hybrid,hybridc)
56 implicit none
57 ! arguments
58 integer xctype(3)
59 character(264) xcdescr
60 integer xcspin,xcgrad
61 logical hybrid
62 real(8) hybridc
63 write(*,*)
64 write(*,'("Error(libxcifc): libxc not or improperly installed")')
65 write(*,*)
66 stop
67 end subroutine
68 !EOC
69 
70 end module
71 
subroutine fxcifc_libxc(fxctype, n, rho, rhoup, rhodn, fxc, fxcuu, fxcud, fxcdd)
integer, dimension(3) libxcv
subroutine xcifc_libxc(xctype, n, c_tb09, tempa, rho, rhoup, rhodn, g2rho, g2up, g2dn, grho2, gup2, gdn2, gupdn, tau, tauup, taudn, ex, ec, vx, vc, vxup, vxdn, vcup, vcdn, dxdgr2, dxdgu2, dxdgd2, dxdgud, dcdgr2, dcdgu2, dcdgd2, dcdgud, dxdg2r, dxdg2u, dxdg2d, dcdg2r, dcdg2u, dcdg2d, wx, wxup, wxdn, wc, wcup, wcdn)
subroutine xcdata_libxc(xctype, xcdescr, xcspin, xcgrad, hybrid, hybridc)
integer, parameter xc_mgga_x_tb09