34 integer idu,ist,nr,l,n,i
56 write(*,
'("Error(init0): lmaxo > lmaxapw :",2(X,I0))')
lmaxo,
lmaxapw 109 if (any(
task == [5,51,52,53,61,62,63,700,701]))
then 111 write(*,
'("Error(init0): spin-spirals do not work with task ",I0)')
task 117 write(*,
'("Error(init0): spin-spirals do not work with the OEP method")')
151 if (any(
task == [5,10,170,300,460,461,462,463,600,601,620,670,680,700,701,720, &
157 write(*,
'("Error(init0): requested spin-polarised run with & 158 &spin-unpolarised")')
159 write(*,
'(" exchange-correlation functional")')
197 write(*,
'("Error(init0): meta-GGA is not valid for non-collinear magnetism")')
203 write(*,
'("Error(init0): non-collinear magnetism required for inclusion of & 204 &the dipole field")')
220 write(*,
'("Info(init0): mixtype changed to 1 for FSM calculation")')
230 write(*,
'("Error(init0): tensor moments require spin-orbit coupling & 232 write(*,
'(" set spinorb=.true.")')
242 if (all(
task /= [0,2,28,200,208,350,380,420,421,440]))
then 326 if (any(
task == [460,461,462,463,480,481,485]))
then 418 write(*,
'("Error(init0): zero total charge")')
459 write(*,
'("Error(init0): isgkmax > nspecies :",2(X,I0))')
isgkmax,
nspecies 526 if (
allocated(
vcln))
deallocate(
vcln)
560 if (
allocated(
rhmg))
deallocate(
rhmg)
577 if (
allocated(
jrmt))
deallocate(
jrmt)
578 if (
allocated(
jrir))
deallocate(
jrir)
586 if (
allocated(
exmt))
deallocate(
exmt)
588 if (
allocated(
exir))
deallocate(
exir)
591 if (
allocated(
ecmt))
deallocate(
ecmt)
593 if (
allocated(
ecir))
deallocate(
ecir)
603 if (
allocated(
bdmt))
deallocate(
bdmt)
604 if (
allocated(
bdir))
deallocate(
bdir)
615 if (
allocated(
vsbs))
deallocate(
vsbs)
629 if (
allocated(
bsir))
deallocate(
bsir)
633 if (
allocated(
vsir))
deallocate(
vsir)
636 if (
allocated(
vsig))
deallocate(
vsig)
644 if (any(
xcgrad == [3,4,5,6]))
then 666 if (
allocated(
zqss))
deallocate(
zqss)
671 t1=-0.5d0*dot_product(
vqcss(1:3),
atposc(1:3,ia,is))
672 zqss(ias)=cmplx(cos(t1),sin(t1),8)
707 if (any(
task == [460,461,462,463,478]))
then 723 if (any(
task == [5,300,600,601,610,620,630,640]))
then 725 write(*,
'("Error(init0): DFT+U does not work with task ",I0)')
task 737 write(*,
'("Error(init0): invalid species number : ",I0)') is
758 vmftm(:,:,:,:,:)=0.d0
integer, dimension(:,:), allocatable itmfix
subroutine getsdata(stype, sdescr)
complex(8), dimension(:,:), allocatable sfacg
real(8), dimension(3, maxatoms, maxspecies) bfcmt0
real(8), dimension(:), allocatable wxcir
subroutine potnucl(ptnucl, nr, r, zn, vn)
real(8), dimension(maxstsp, maxspecies) occsp
subroutine writetest(id, descr, nv, iv, iva, tol, rv, rva, zv, zva)
real(8), dimension(3, 3) afspc
integer, dimension(maxstsp, maxspecies) ksp
real(8), dimension(:,:), allocatable mommt
integer, dimension(maxspecies) npcmt
real(8), dimension(3) efieldl
integer, dimension(3) ktype
integer, dimension(3) ngridg
pure subroutine gensfacgp(ngp, vgpc, ld, sfacgp)
real(8), dimension(:), allocatable, target rhmg
subroutine reciplat(avec, bvec, omega, omegabz)
real(8), dimension(:), pointer, contiguous vmixer
complex(4), dimension(:,:,:,:,:), allocatable vmatmti
real(8), dimension(:,:), allocatable vxcmt
integer, dimension(3) xctype
real(8), dimension(:,:), allocatable occcr
real(8), dimension(:), allocatable ecir
real(8), dimension(:), pointer, contiguous rhoir
integer, parameter lmmaxdm
integer, dimension(maxatoms, maxspecies) idxas
complex(8), dimension(:,:,:,:,:), allocatable dmftm
real(8), dimension(:,:), allocatable vcln
integer, dimension(maxspecies) npmt
real(8), dimension(:,:), allocatable vclmt
real(8), dimension(3, 3) ainv
real(8), dimension(:), allocatable dpp1d
integer, dimension(:), allocatable ipcmt
real(8), dimension(:,:,:), allocatable bdmt
real(8), parameter kboltz
real(8), dimension(:,:), allocatable evalcr
real(8), dimension(:,:), pointer, contiguous rhomt
real(8), dimension(:,:), allocatable bdmta
subroutine getmixdata(mtype, mixdescr)
real(8), dimension(:,:,:), allocatable rhocr
real(8), dimension(:), allocatable chgmt
real(8), dimension(:,:), allocatable ecmt
real(8), dimension(:,:), allocatable forcetot
real(8), dimension(3) vqlss
real(8), dimension(3) vecql
real(8), dimension(3) bfsmc
complex(8), dimension(:,:,:,:,:), allocatable dmatmt
real(8), dimension(:), allocatable vsir
real(8), dimension(:,:), allocatable exmt
real(8), dimension(:), allocatable vxcir
real(8), dimension(:,:), allocatable vgc
complex(4), dimension(:,:,:,:,:), allocatable vmatmto
integer, dimension(2, maxdftu) isldu
real(8), dimension(3, 3) avecref
logical, dimension(maxstsp, maxspecies) spcore
real(8), dimension(:,:), allocatable wxcmt
real(8), dimension(:,:,:), allocatable taucr
complex(8), dimension(:), allocatable zqss
real(8), dimension(3, maxatoms, maxspecies) atposl
real(8), dimension(:), allocatable dvp1d
integer, dimension(:), allocatable igfft
real(8), dimension(:,:,:), allocatable bxcmt
real(8), dimension(:,:), allocatable bsir
subroutine getxcdata(xctype, xcdescr, xcspin, xcgrad, hybrid, hybridc)
real(8), dimension(:,:,:), pointer, contiguous magmt
real(8), dimension(maxspecies) chgcr
real(8), dimension(maxstsp, maxspecies) evalsp
real(8), dimension(:,:), allocatable engyadu
real(8), dimension(:), allocatable chgcrlk
real(8), dimension(3, 3) avec
real(8), dimension(3, 0:1) afindt
real(8), dimension(:,:), allocatable bdir
real(8), dimension(:,:), allocatable ffacg
real(8), dimension(:,:), allocatable forcehf
real(8), dimension(:), allocatable vclir
complex(8), dimension(:,:,:,:,:), allocatable vmatmt
real(8), dimension(3) afieldc
logical, dimension(:,:), allocatable tvmmt
pure subroutine r3frac(eps, v)
real(8), dimension(maxspecies) rmt
real(8), dimension(:,:), allocatable bxcir
real(8), dimension(3, 3) avec0
real(8), dimension(3, 3) bvec
complex(8), dimension(:,:,:,:,:), allocatable vmftm
real(8), dimension(maxspecies) spze
real(8), dimension(:), allocatable, target vsbs
integer, dimension(:,:), allocatable ivg
real(8), dimension(3, maxatoms, maxspecies) bfcmt
real(8), dimension(:), pointer, contiguous vsirc
real(8), dimension(3) vqcss
integer, dimension(maxspecies) nrsp
integer, dimension(maxspecies) natoms
integer, dimension(2, 3) intgv
integer, dimension(maxspecies) npcmti
integer, dimension(maxatoms *maxspecies) idxis
real(8), dimension(3, 3) binv
real(8), dimension(maxdftu) udufix
real(8), dimension(:,:,:), allocatable jlgrmt
character(64), dimension(maxspecies) spname
real(8), dimension(:,:), allocatable bfsmcmt
pure subroutine genffacgp(ngp, gpc, ld, ffacgp)
real(8), dimension(:), allocatable gc
real(8), dimension(:,:), allocatable tauir
real(8), dimension(3) bfieldc0
real(8), dimension(maxdftu) lamdu0
integer, dimension(maxatoms *maxspecies) idxia
real(8), dimension(:,:), allocatable efcmt
subroutine genjlgprmt(lmax, ngp, gpc, ld, jlgprmt)
integer, dimension(maxspecies) nstsp
real(8), dimension(:,:,:,:), allocatable rwfcr
real(8), dimension(maxspecies) spzn
real(8), dimension(:,:), pointer, contiguous magir
real(8), dimension(:,:,:), allocatable jrmt
real(8), parameter fourpi
real(8), dimension(:,:), allocatable rsp
integer, dimension(maxspecies) nrcmt
integer, dimension(maxspecies) nrcmti
integer, dimension(maxspecies) npmti
integer, parameter lmaxdm
pure subroutine r3mv(a, x, y)
complex(8), dimension(:), allocatable vsig
real(8), dimension(:,:), pointer, contiguous bsirc
real(8), dimension(3, maxatoms, maxspecies) atposc
real(8), dimension(:,:), pointer, contiguous vsmt
integer, dimension(maxspecies) nrmti
real(8), dimension(3) efieldc
real(8), dimension(3) afieldl
real(8), dimension(:,:,:), allocatable taumt
real(8), dimension(:,:), allocatable jrir
real(8), dimension(:,:), allocatable vplp1d
integer, dimension(2) jspnfv
character(64), dimension(maxspecies) spsymb
real(8), dimension(:), allocatable exir
real(8), dimension(3) vecqc
subroutine writevars(vname, n1, n2, n3, n4, n5, n6, nv, iv, iva, rv, rva, zv, zva, sv, sva)
real(8), dimension(3) bfieldc
real(8), dimension(:,:,:), pointer, contiguous bsmt
real(8), dimension(:,:), allocatable socfr
integer, dimension(maxspecies) nrmt