Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
fleur
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
Operations
Operations
Incidents
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Anoop Chandran
fleur
Commits
81a9df5d
Commit
81a9df5d
authored
Feb 13, 2017
by
Daniel Wortmann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Modification of stars datatype. Lots of variables have been removed.
parent
93eb7e6a
Changes
76
Hide whitespace changes
Inline
Side-by-side
Showing
76 changed files
with
536 additions
and
634 deletions
+536
-634
cdn/cdnovlp.F90
cdn/cdnovlp.F90
+16
-16
cdn/cdntot.f90
cdn/cdntot.f90
+1
-1
cdn/cdnval.F90
cdn/cdnval.F90
+3
-3
cdn/prp_qfft_map.f90
cdn/prp_qfft_map.f90
+1
-8
cdn/pwden.F90
cdn/pwden.F90
+22
-22
cdn/q_int_sl.F90
cdn/q_int_sl.F90
+1
-1
cdn/qpw_to_nmt.f90
cdn/qpw_to_nmt.f90
+2
-2
cdn/vacden.F90
cdn/vacden.F90
+3
-3
dos/nstm3.f90
dos/nstm3.f90
+2
-2
eigen/eigen.F90
eigen/eigen.F90
+2
-2
eigen/hsint.F90
eigen/hsint.F90
+2
-2
eigen/hsvac.F90
eigen/hsvac.F90
+3
-3
eigen/od_hsvac.F90
eigen/od_hsvac.F90
+2
-2
eigen/vacfun.f90
eigen/vacfun.f90
+1
-1
eigen_soc/eigenso.f90
eigen_soc/eigenso.f90
+3
-1
force/force_b8.f90
force/force_b8.f90
+1
-1
force/force_sf.F90
force/force_sf.F90
+6
-6
global/checkdop.F90
global/checkdop.F90
+2
-2
global/qfix.f90
global/qfix.f90
+1
-1
global/types.F90
global/types.F90
+16
-49
init/dimen7.F90
init/dimen7.F90
+7
-7
init/dimens.F90
init/dimens.F90
+15
-15
init/efield.f90
init/efield.f90
+6
-6
init/initParallelProcesses.F90
init/initParallelProcesses.F90
+15
-15
init/inpeig_dim.f90
init/inpeig_dim.f90
+4
-4
init/parawrite.f90
init/parawrite.f90
+4
-4
init/prp_qfft.f90
init/prp_qfft.f90
+14
-25
init/prp_xcfft.f90
init/prp_xcfft.f90
+9
-9
init/stepf.F90
init/stepf.F90
+18
-18
init/strgn.f90
init/strgn.f90
+77
-120
io/cdn_io.f90
io/cdn_io.f90
+6
-10
io/loddop.f90
io/loddop.f90
+3
-3
io/pot_io.f90
io/pot_io.f90
+2
-2
io/r_inpXML.F90
io/r_inpXML.F90
+21
-21
io/wrtdop.f90
io/wrtdop.f90
+1
-1
main/cdngen.f90
main/cdngen.f90
+5
-5
main/fleur_init.F90
main/fleur_init.F90
+11
-11
main/mix.F90
main/mix.F90
+4
-4
main/totale.f90
main/totale.f90
+2
-2
main/vgen.F90
main/vgen.F90
+13
-13
math/fft2d.F90
math/fft2d.F90
+6
-6
math/fft3d.f90
math/fft3d.f90
+6
-6
mix/brysh1.f90
mix/brysh1.f90
+2
-2
mix/brysh2.f90
mix/brysh2.f90
+1
-1
mix/metric.f90
mix/metric.f90
+1
-1
mix/potdis.f90
mix/potdis.f90
+38
-38
mpi/mpi_bc_all.F90
mpi/mpi_bc_all.F90
+14
-16
mpi/mpi_bc_st.F90
mpi/mpi_bc_st.F90
+2
-2
mpi/mpi_col_den.F90
mpi/mpi_col_den.F90
+4
-4
optional/bmt.f90
optional/bmt.f90
+1
-1
optional/outcdn.f90
optional/outcdn.f90
+2
-2
optional/pldngen.f90
optional/pldngen.f90
+6
-6
optional/plotdop.f90
optional/plotdop.f90
+2
-2
optional/stden.f90
optional/stden.f90
+1
-1
vgen/convol.f90
vgen/convol.f90
+4
-4
vgen/fleur_vdW.F90
vgen/fleur_vdW.F90
+4
-4
vgen/int_nv.F90
vgen/int_nv.F90
+2
-2
vgen/mpmom.F90
vgen/mpmom.F90
+2
-2
vgen/od_vvac.f90
vgen/od_vvac.f90
+3
-3
vgen/od_vvacis.f90
vgen/od_vvacis.f90
+27
-27
vgen/pot_mod.f90
vgen/pot_mod.f90
+2
-2
vgen/prp_xcfft_map.f90
vgen/prp_xcfft_map.f90
+2
-2
vgen/psqpw.F90
vgen/psqpw.F90
+6
-6
vgen/rhodirgen.f90
vgen/rhodirgen.f90
+6
-6
vgen/vintcz.f90
vgen/vintcz.f90
+2
-2
vgen/visxc.f90
vgen/visxc.f90
+6
-6
vgen/visxcg.f90
vgen/visxcg.f90
+10
-10
vgen/vmatgen.f90
vgen/vmatgen.f90
+5
-5
vgen/vmts.F90
vgen/vmts.F90
+2
-2
vgen/vvac.f90
vgen/vvac.f90
+1
-1
vgen/vvacis.f90
vgen/vvacis.f90
+2
-2
vgen/vvacxc.f90
vgen/vvacxc.f90
+6
-6
vgen/vvacxcg.f90
vgen/vvacxcg.f90
+17
-17
vgen/vvacxy.f90
vgen/vvacxy.f90
+3
-3
vgen/write_xcstuff.f90
vgen/write_xcstuff.f90
+9
-9
vgen/xy_av_den.f90
vgen/xy_av_den.f90
+2
-2
No files found.
cdn/cdnovlp.F90
View file @
81a9df5d
...
...
@@ -109,7 +109,7 @@
LOGICAL
,
INTENT
(
IN
)
::
l_st
! ..
! .. Array Arguments ..
COMPLEX
,
INTENT
(
INOUT
)
::
qpw
(
stars
%
n
3d
,
DIMENSION
%
jspd
)
COMPLEX
,
INTENT
(
INOUT
)
::
qpw
(
stars
%
n
g3
,
DIMENSION
%
jspd
)
COMPLEX
,
INTENT
(
INOUT
)
::
rhtxy
(
vacuum
%
nmzxyd
,
oneD
%
odi
%
n2d
-1
,
2
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
INOUT
)
::
rho
(
atoms
%
jmtd
,
0
:
sphhar
%
nlhd
,
atoms
%
ntype
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
INOUT
)
::
rht
(
vacuum
%
nmzd
,
2
,
DIMENSION
%
jspd
)
...
...
@@ -163,7 +163,7 @@
!
ci
=
CMPLX
(
0.0
,
1.0
)
ALLOCATE
(
qpwc
(
stars
%
n
3d
))
ALLOCATE
(
qpwc
(
stars
%
n
g3
))
!
!----> prepare local array to store pw-expansion of pseudo core charge
!
...
...
@@ -500,18 +500,18 @@
type
(
t_cell
)
,
intent
(
in
)
::
cell
type
(
t_oneD
)
,
intent
(
in
)
::
oneD
type
(
t_sym
)
,
intent
(
in
)
::
sym
complex
,
intent
(
out
)
::
qpwc
(
stars
%
n
3d
)
complex
,
intent
(
out
)
::
qpwc
(
stars
%
n
g3
)
! ..Local variables
integer
nat1
,
n
,
n_out_p
,
k
complex
czero
! ..Local arrays
real
::
qf
(
stars
%
n
3d
)
complex
qpwc_at
(
stars
%
n
3d
)
real
::
qf
(
stars
%
n
g3
)
complex
qpwc_at
(
stars
%
n
g3
)
#ifdef CPP_MPI
external
mpi_bcast
complex
::
qpwc_loc
(
stars
%
n
3d
)
complex
::
qpwc_loc
(
stars
%
n
g3
)
integer
::
ierr
#include "cpp_double.h"
include
"mpif.h"
...
...
@@ -519,11 +519,11 @@
czero
=
(
0.0
,
0.0
)
#ifdef CPP_MPI
DO
k
=
1
,
stars
%
n
3d
DO
k
=
1
,
stars
%
n
g3
qpwc_loc
(
k
)
=
czero
ENDDO
#endif
DO
k
=
1
,
stars
%
n
3d
DO
k
=
1
,
stars
%
n
g3
qpwc
(
k
)
=
czero
ENDDO
...
...
@@ -554,11 +554,11 @@
atoms
%
neq
(
n
),
atoms
%
nat
,
atoms
%
taual
,&
cell
,
qf
,
qpwc_at
)
#ifdef CPP_MPI
DO
k
=
1
,
stars
%
n
3d
DO
k
=
1
,
stars
%
n
g3
qpwc_loc
(
k
)
=
qpwc_loc
(
k
)
+
qpwc_at
(
k
)
END
DO
#else
DO
k
=
1
,
stars
%
n
3d
DO
k
=
1
,
stars
%
n
g3
qpwc
(
k
)
=
qpwc
(
k
)
+
qpwc_at
(
k
)
END
DO
#endif
...
...
@@ -566,7 +566,7 @@
END
IF
ENDDO
#ifdef CPP_MPI
CALL
mpi_allreduce
(
qpwc_loc
,
qpwc
,
stars
%
n
3d
,
CPP_MPI_COMPLEX
,
mpi_sum
,
&
CALL
mpi_allreduce
(
qpwc_loc
,
qpwc
,
stars
%
n
g3
,
CPP_MPI_COMPLEX
,
mpi_sum
,
&
mpi
%
mpi_comm
,
ierr
)
#endif
...
...
@@ -590,8 +590,8 @@
integer
,
intent
(
in
)
::
neq
,
natd
real
,
intent
(
in
)
::
taual
(
3
,
natd
)
type
(
t_cell
)
,
intent
(
in
)
::
cell
real
,
intent
(
in
)
::
qf
(
stars
%
n
3d
)
complex
,
intent
(
out
)
::
qpwc_at
(
stars
%
n
3d
)
real
,
intent
(
in
)
::
qf
(
stars
%
n
g3
)
complex
,
intent
(
out
)
::
qpwc_at
(
stars
%
n
g3
)
! ..Local variables
integer
k
,
nat2
,
nat
,
j
...
...
@@ -605,7 +605,7 @@
complex
phaso
(
oneD
%
ods
%
nop
)
czero
=
(
0.0
,
0.0
)
DO
k
=
1
,
stars
%
n
3d
DO
k
=
1
,
stars
%
n
g3
qpwc_at
(
k
)
=
czero
ENDDO
...
...
@@ -688,7 +688,7 @@
type
(
t_stars
)
,
intent
(
in
)
::
stars
type
(
t_cell
)
,
intent
(
in
)
::
cell
real
,
intent
(
in
)
::
acoff
real
,
intent
(
out
)
::
qf
(
stars
%
n
3d
)
real
,
intent
(
out
)
::
qf
(
stars
%
n
g3
)
! ..Local variables
...
...
@@ -700,7 +700,7 @@
real
rhohelp
(
DIMENSION
%
msh
)
zero
=
0.0
DO
k
=
1
,
stars
%
n
3d
DO
k
=
1
,
stars
%
n
g3
qf
(
k
)
=
0.0
END
DO
...
...
cdn/cdntot.f90
View file @
81a9df5d
...
...
@@ -31,7 +31,7 @@
REAL
,
INTENT
(
OUT
)::
qtot
,
qistot
! ..
! .. Array Arguments ..
COMPLEX
,
INTENT
(
IN
)
::
qpw
(
stars
%
n
3d
,
input
%
jspins
)
COMPLEX
,
INTENT
(
IN
)
::
qpw
(
stars
%
n
g3
,
input
%
jspins
)
REAL
,
INTENT
(
IN
)
::
rho
(:,
0
:,:,:)
!(atoms%jmtd,0:sphhar%nlhd,atoms%ntype,input%jspins)
REAL
,
INTENT
(
IN
)
::
rht
(
vacuum
%
nmzd
,
2
,
input
%
jspins
)
!-odim
...
...
cdn/cdnval.F90
View file @
81a9df5d
...
...
@@ -111,13 +111,13 @@ CONTAINS
INTEGER
,
INTENT
(
IN
)
::
eig_id
,
jspin
! .. Array Arguments ..
COMPLEX
,
INTENT
(
INOUT
)
::
qpw
(
stars
%
n
3d
,
dimension
%
jspd
)
COMPLEX
,
INTENT
(
INOUT
)
::
qpw
(
stars
%
n
g3
,
dimension
%
jspd
)
COMPLEX
,
INTENT
(
INOUT
)
::
rhtxy
(
vacuum
%
nmzxyd
,
oneD
%
odi
%
n2d
-1
,
2
,
dimension
%
jspd
)
COMPLEX
,
INTENT
(
INOUT
)
::
cdom
(
stars
%
n
3d
)
COMPLEX
,
INTENT
(
INOUT
)
::
cdom
(
stars
%
n
g3
)
COMPLEX
,
INTENT
(
INOUT
)
::
cdomvz
(
vacuum
%
nmzd
,
2
)
COMPLEX
,
INTENT
(
INOUT
)
::
cdomvxy
(
vacuum
%
nmzxyd
,
oneD
%
odi
%
n2d
-1
,
2
)
COMPLEX
,
INTENT
(
INOUT
)
::
qa21
(
atoms
%
ntype
)
INTEGER
,
INTENT
(
IN
)
::
igq_fft
(
0
:
stars
%
kq1
d
*
stars
%
kq2d
*
stars
%
kq3d
-1
)
INTEGER
,
INTENT
(
IN
)
::
igq_fft
(
0
:
stars
%
kq1
_fft
*
stars
%
kq2_fft
*
stars
%
kq3_fft
-1
)
REAL
,
INTENT
(
IN
)
::
vz
(
vacuum
%
nmzd
,
2
)
REAL
,
INTENT
(
IN
)
::
vr
(
atoms
%
jmtd
,
0
:
sphhar
%
nlhd
,
atoms
%
ntype
,
dimension
%
jspd
)
REAL
,
INTENT
(
OUT
)
::
chmom
(
atoms
%
ntype
,
dimension
%
jspd
),
clmom
(
3
,
atoms
%
ntype
,
dimension
%
jspd
)
...
...
cdn/prp_qfft_map.f90
View file @
81a9df5d
...
...
@@ -28,7 +28,7 @@ CONTAINS
TYPE
(
t_stars
),
INTENT
(
IN
)
::
stars
!
!
INTEGER
igq2_fft
(
0
:
stars
%
kq1
d
*
stars
%
kq2d
-1
),
igq_fft
(
0
:
stars
%
kq1d
*
stars
%
kq2d
*
stars
%
kq3d
-1
)
INTEGER
igq2_fft
(
0
:
stars
%
kq1
_fft
*
stars
%
kq2_fft
-1
),
igq_fft
(
0
:
stars
%
kq1_fft
*
stars
%
kq2_fft
*
stars
%
kq3_fft
-1
)
!
!---> local variables
!
...
...
@@ -106,13 +106,6 @@ CONTAINS
CALL
juDFT_error
(
"something wrong with stars or nq3_fft"
&
&
,
calledby
=
"prp_qfft_map"
)
ENDIF
IF
(
input
%
film
.AND.
(
kid2x
.NE.
stars
%
kmxq2_fft
)
.AND.
(
stars
%
kmxq2_fft
.NE.
0
))
THEN
WRITE
(
6
,
'(
''
something wrong with stars%kmxq2_fft or nq2_fft
''
)'
)
WRITE
(
6
,
'(
''
stars%kmxq2_fft, acutal kid2x
''
,2i5)'
)
&
&
stars
%
kmxq2_fft
,
kid2x
CALL
juDFT_error
(
"something wrong with stars or nq2_fft"
&
&
,
calledby
=
"prp_qfft_map"
)
ENDIF
END
SUBROUTINE
prp_qfft_map
END
MODULE
m_prpqfftmap
cdn/pwden.F90
View file @
81a9df5d
...
...
@@ -92,7 +92,7 @@ CONTAINS
TYPE
(
t_atoms
),
INTENT
(
IN
)
::
atoms
TYPE
(
t_zMat
),
INTENT
(
IN
)
::
zMat
INTEGER
,
INTENT
(
IN
)
::
igq_fft
(
0
:
stars
%
kq1
d
*
stars
%
kq2d
*
stars
%
kq3d
-1
)
INTEGER
,
INTENT
(
IN
)
::
igq_fft
(
0
:
stars
%
kq1
_fft
*
stars
%
kq2_fft
*
stars
%
kq3_fft
-1
)
REAL
,
INTENT
(
IN
)
::
we
(:)
!(nobd)
REAL
,
INTENT
(
IN
)
::
eig
(:)
!(dimension%neigd)
REAL
,
INTENT
(
IN
)
::
bkpt
(
3
)
...
...
@@ -100,8 +100,8 @@ CONTAINS
INTEGER
,
INTENT
(
IN
)::
ne
!-----> CHARGE DENSITY INFORMATION
INTEGER
,
INTENT
(
IN
)
::
ikpt
,
jspin
COMPLEX
,
INTENT
(
INOUT
)
::
qpw
(:,:)
!(stars%n
3d
,dimension%jspd)
COMPLEX
,
INTENT
(
INOUT
)
::
cdom
(:)
!(stars%n
3d
)
COMPLEX
,
INTENT
(
INOUT
)
::
qpw
(:,:)
!(stars%n
g3
,dimension%jspd)
COMPLEX
,
INTENT
(
INOUT
)
::
cdom
(:)
!(stars%n
g3
)
REAL
,
INTENT
(
OUT
)
::
qis
(:,:,:)
!(dimension%neigd,kpts%nkpt,dimension%jspd)
COMPLEX
,
INTENT
(
INOUT
)
::
f_b8
(
3
,
atoms
%
ntype
)
REAL
,
INTENT
(
INOUT
)
::
forces
(:,:,:)
!(3,atoms%ntype,dimension%jspd)
...
...
@@ -121,7 +121,7 @@ CONTAINS
REAL
,
PARAMETER
::
zero
=
0.00
,
tol_3
=
1.0e-3
!
INTEGER
iv1d
(
SIZE
(
lapw
%
k1
,
1
),
input
%
jspins
)
REAL
wtf
(
ne
),
wsave
(
stars
%
kq3
d
+15
)
REAL
wtf
(
ne
),
wsave
(
stars
%
kq3
_fft
+15
)
REAL
,
ALLOCATABLE
::
psir
(:),
psii
(:),
rhon
(:)
REAL
,
ALLOCATABLE
::
psi1r
(:),
psi1i
(:),
psi2r
(:),
psi2i
(:)
REAL
,
ALLOCATABLE
::
rhomat
(:,:)
...
...
@@ -177,29 +177,29 @@ CONTAINS
!
ALLOCATE
(
cwk
(
stars
%
n
3d
),
ecwk
(
stars
%
n3d
))
ALLOCATE
(
cwk
(
stars
%
n
g3
),
ecwk
(
stars
%
ng3
))
IF
(
noco
%
l_noco
)
THEN
ALLOCATE
(
psi1r
(
0
:
stars
%
kq1
d
*
stars
%
kq2d
*
stars
%
kq3d
-1
),&
psi1i
(
0
:
stars
%
kq1
d
*
stars
%
kq2d
*
stars
%
kq3d
-1
),&
psi2r
(
0
:
stars
%
kq1
d
*
stars
%
kq2d
*
stars
%
kq3d
-1
),&
psi2i
(
0
:
stars
%
kq1
d
*
stars
%
kq2d
*
stars
%
kq3d
-1
),&
rhomat
(
0
:
stars
%
kq1
d
*
stars
%
kq2d
*
stars
%
kq3d
-1
,
4
)
)
ALLOCATE
(
psi1r
(
0
:
stars
%
kq1
_fft
*
stars
%
kq2_fft
*
stars
%
kq3_fft
-1
),&
psi1i
(
0
:
stars
%
kq1
_fft
*
stars
%
kq2_fft
*
stars
%
kq3_fft
-1
),&
psi2r
(
0
:
stars
%
kq1
_fft
*
stars
%
kq2_fft
*
stars
%
kq3_fft
-1
),&
psi2i
(
0
:
stars
%
kq1
_fft
*
stars
%
kq2_fft
*
stars
%
kq3_fft
-1
),&
rhomat
(
0
:
stars
%
kq1
_fft
*
stars
%
kq2_fft
*
stars
%
kq3_fft
-1
,
4
)
)
ELSE
IF
(
zmat
%
l_real
)
THEN
ALLOCATE
(
psir
(
-
stars
%
kq1
d
*
stars
%
kq2d
:
2
*
stars
%
kq1d
*
stars
%
kq2d
*
(
stars
%
kq3d
+1
)
-1
),&
ALLOCATE
(
psir
(
-
stars
%
kq1
_fft
*
stars
%
kq2_fft
:
2
*
stars
%
kq1_fft
*
stars
%
kq2_fft
*
(
stars
%
kq3_fft
+1
)
-1
),&
psii
(
1
),&
rhon
(
-
stars
%
kq1
d
*
stars
%
kq2d
:
stars
%
kq1d
*
stars
%
kq2d
*
(
stars
%
kq3d
+1
)
-1
)
)
rhon
(
-
stars
%
kq1
_fft
*
stars
%
kq2_fft
:
stars
%
kq1_fft
*
stars
%
kq2_fft
*
(
stars
%
kq3_fft
+1
)
-1
)
)
IF
(
input
%
l_f
)
ALLOCATE
(
kpsii
(
1
),&
kpsir
(
-
stars
%
kq1
d
*
stars
%
kq2d
:
2
*
stars
%
kq1d
*
stars
%
kq2d
*
(
stars
%
kq3d
+1
)
-1
),&
ekin
(
-
stars
%
kq1
d
*
stars
%
kq2d
:
2
*
stars
%
kq1d
*
stars
%
kq2d
*
(
stars
%
kq3d
+1
)
-1
))
kpsir
(
-
stars
%
kq1
_fft
*
stars
%
kq2_fft
:
2
*
stars
%
kq1_fft
*
stars
%
kq2_fft
*
(
stars
%
kq3_fft
+1
)
-1
),&
ekin
(
-
stars
%
kq1
_fft
*
stars
%
kq2_fft
:
2
*
stars
%
kq1_fft
*
stars
%
kq2_fft
*
(
stars
%
kq3_fft
+1
)
-1
))
ELSE
ALLOCATE
(
psir
(
0
:
stars
%
kq1
d
*
stars
%
kq2d
*
stars
%
kq3d
-1
),&
psii
(
0
:
stars
%
kq1
d
*
stars
%
kq2d
*
stars
%
kq3d
-1
),&
rhon
(
0
:
stars
%
kq1
d
*
stars
%
kq2d
*
stars
%
kq3d
-1
)
)
IF
(
input
%
l_f
)
ALLOCATE
(
kpsir
(
0
:
stars
%
kq1
d
*
stars
%
kq2d
*
stars
%
kq3d
-1
),&
kpsii
(
0
:
stars
%
kq1
d
*
stars
%
kq2d
*
stars
%
kq3d
-1
),&
ekin
(
0
:
stars
%
kq1
d
*
stars
%
kq2d
*
stars
%
kq3d
-1
)
)
ALLOCATE
(
psir
(
0
:
stars
%
kq1
_fft
*
stars
%
kq2_fft
*
stars
%
kq3_fft
-1
),&
psii
(
0
:
stars
%
kq1
_fft
*
stars
%
kq2_fft
*
stars
%
kq3_fft
-1
),&
rhon
(
0
:
stars
%
kq1
_fft
*
stars
%
kq2_fft
*
stars
%
kq3_fft
-1
)
)
IF
(
input
%
l_f
)
ALLOCATE
(
kpsir
(
0
:
stars
%
kq1
_fft
*
stars
%
kq2_fft
*
stars
%
kq3_fft
-1
),&
kpsii
(
0
:
stars
%
kq1
_fft
*
stars
%
kq2_fft
*
stars
%
kq3_fft
-1
),&
ekin
(
0
:
stars
%
kq1
_fft
*
stars
%
kq2_fft
*
stars
%
kq3_fft
-1
)
)
ENDIF
ENDIF
!
...
...
@@ -211,8 +211,8 @@ CONTAINS
ifftq1
=
stars
%
kq1_fft
ifftq2
=
stars
%
kq1_fft
*
stars
%
kq2_fft
ifftq3
=
stars
%
kq1_fft
*
stars
%
kq2_fft
*
stars
%
kq3_fft
ifftq3d
=
stars
%
kq1
d
*
stars
%
kq2d
*
stars
%
kq3d
ifftq2d
=
stars
%
kq1
d
*
stars
%
kq2d
ifftq3d
=
stars
%
kq1
_fft
*
stars
%
kq2_fft
*
stars
%
kq3_fft
ifftq2d
=
stars
%
kq1
_fft
*
stars
%
kq2_fft
!
nw1
=
NINT
(
stars
%
kq1_fft
/
4.+0.3
)
nw2
=
NINT
(
stars
%
kq2_fft
/
4.+0.3
)
...
...
cdn/q_int_sl.F90
View file @
81a9df5d
...
...
@@ -47,7 +47,7 @@ CONTAINS
!
! ----> g=0 star
!
ALLOCATE
(
stfunint
(
stars
%
n
3d
,
nsl
),
z_z
(
stars
%
n3d
)
)
ALLOCATE
(
stfunint
(
stars
%
n
g3
,
nsl
),
z_z
(
stars
%
ng3
)
)
!
! -----> calculate the integrals of star functions over
! the layer interstitial
...
...
cdn/qpw_to_nmt.f90
View file @
81a9df5d
...
...
@@ -38,7 +38,7 @@ CONTAINS
INTEGER
,
INTENT
(
IN
)
::
jspin
,
l_cutoff
! ..
! .. Array Arguments ..
COMPLEX
,
INTENT
(
IN
)
::
qpwc
(
stars
%
n
3d
)
COMPLEX
,
INTENT
(
IN
)
::
qpwc
(
stars
%
n
g3
)
REAL
,
INTENT
(
INOUT
)
::
rho
(:,
0
:,:,:)
!(atoms%jmtd,0:sphhar%nlhd,atoms%ntype,dimension%jspd)
!-odim
!+odim
...
...
@@ -125,7 +125,7 @@ CONTAINS
CALL
phasy1
(
atoms
,
stars
,
sym
,
cell
,
k
,
pylm
)
ELSE
!-odim
CALL
od_phasy
(
atoms
%
ntype
,
stars
%
n
3d
,
atoms
%
nat
,
atoms
%
lmaxd
,
atoms
%
ntype
,
atoms
%
neq
,
atoms
%
lmax
,&
CALL
od_phasy
(
atoms
%
ntype
,
stars
%
n
g3
,
atoms
%
nat
,
atoms
%
lmaxd
,
atoms
%
ntype
,
atoms
%
neq
,
atoms
%
lmax
,&
atoms
%
taual
,
cell
%
bmat
,
stars
%
kv3
,
k
,
oneD
%
odi
,
oneD
%
ods
,
pylm
)
!keep
!+odim
END
IF
...
...
cdn/vacden.F90
View file @
81a9df5d
...
...
@@ -931,7 +931,7 @@ CONTAINS
m3
=
m
-
m1
IF
(
m3
.EQ.
0
.AND.
i3
.EQ.
0
)
CYCLE
mprimee
IF
(
iabs
(
m3
)
.GT.
oneD
%
odi
%
M
)
CYCLE
mprimee
IF
(
iabs
(
i3
)
.GT.
stars
%
k3d
)
CYCLE
lprimee
IF
(
iabs
(
i3
)
.GT.
stars
%
mx3
)
CYCLE
lprimee
ind1
=
oneD
%
odi
%
ig
(
i3
,
m3
)
ind1p
=
oneD
%
odi
%
ig
(
-
i3
,
-
m3
)
IF
(
ind1
.NE.
0
.OR.
ind1p
.NE.
0
)
THEN
...
...
@@ -1011,7 +1011,7 @@ CONTAINS
i3
=
kvac3
(
l
,
1
)
-
kvac3
(
l1
,
2
)
m3
=
m
-
m1
IF
(
iabs
(
m3
)
.GT.
oneD
%
odi
%
M
)
CYCLE
mprimea
IF
(
iabs
(
i3
)
.GT.
stars
%
k3d
)
CYCLE
lprimea
IF
(
iabs
(
i3
)
.GT.
stars
%
mx3
)
CYCLE
lprimea
ind1
=
oneD
%
odi
%
ig
(
i3
,
m3
)
IF
(
ind1
.NE.
0
)
THEN
IF
(
m3
.EQ.
0
.AND.
i3
.EQ.
0
)
THEN
...
...
@@ -1124,7 +1124,7 @@ CONTAINS
m3
=
m
-
m1
IF
(
m3
.EQ.
0
.AND.
i3
.EQ.
0
)
CYCLE
mprime
IF
(
iabs
(
m3
)
.GT.
oneD
%
odi
%
M
)
CYCLE
mprime
IF
(
iabs
(
i3
)
.GT.
stars
%
k3d
)
CYCLE
lprime
IF
(
iabs
(
i3
)
.GT.
stars
%
mx3
)
CYCLE
lprime
ind1
=
oneD
%
odi
%
ig
(
i3
,
m3
)
ind1p
=
oneD
%
odi
%
ig
(
-
i3
,
-
m3
)
IF
(
ind1
.NE.
0
.OR.
ind1p
.NE.
0
)
THEN
...
...
dos/nstm3.f90
View file @
81a9df5d
...
...
@@ -91,8 +91,8 @@ CONTAINS
!
! Write info on 2D-starfunctions
WRITE
(
87
,
'(i2,1x,i2,1x,i2)'
)
stars
%
mx1
,
stars
%
mx2
,
stars
%
n
2d
DO
i
=
1
,
stars
%
n
2d
WRITE
(
87
,
'(i2,1x,i2,1x,i2)'
)
stars
%
mx1
,
stars
%
mx2
,
stars
%
n
g2
DO
i
=
1
,
stars
%
n
g2
WRITE
(
87
,
'(i2)'
)
stars
%
nstr2
(
i
)
END
DO
DO
i
=-
stars
%
mx1
,
stars
%
mx1
...
...
eigen/eigen.F90
View file @
81a9df5d
...
...
@@ -228,11 +228,11 @@ CONTAINS
!
! load potential from file pottot (=unit 8)
!
ALLOCATE
(
vpw
(
stars
%
n
3d
,
dimension
%
jspd
),
vzxy
(
vacuum
%
nmzxyd
,
oneD
%
odi
%
n2d
-1
,
2
,
dimension
%
jspd
)
)
ALLOCATE
(
vpw
(
stars
%
n
g3
,
dimension
%
jspd
),
vzxy
(
vacuum
%
nmzxyd
,
oneD
%
odi
%
n2d
-1
,
2
,
dimension
%
jspd
)
)
ALLOCATE
(
vz
(
vacuum
%
nmzd
,
2
,
4
),
vr
(
atoms
%
jmtd
,
0
:
sphhar
%
nlhd
,
atoms
%
ntype
,
dimension
%
jspd
)
)
ALLOCATE
(
vr0
(
atoms
%
jmtd
,
atoms
%
ntype
,
dimension
%
jspd
)
)
;
vr0
=
0
IF
(
input
%
gw
.eq.
2
)
THEN
ALLOCATE
(
vpwtot
(
stars
%
n
3d
,
dimension
%
jspd
),
vrtot
(
atoms
%
jmtd
,
0
:
sphhar
%
nlhd
,
atoms
%
ntype
,
dimension
%
jspd
)
)
ALLOCATE
(
vpwtot
(
stars
%
n
g3
,
dimension
%
jspd
),
vrtot
(
atoms
%
jmtd
,
0
:
sphhar
%
nlhd
,
atoms
%
ntype
,
dimension
%
jspd
)
)
IF
(
mpi
%
irank
==
0
)
WRITE
(
6
,
'(A/A/A/A)'
)&
&
'Info: vxc matrix elements for GW will be calculated in gw_vxc'
,&
&
'Info: and stored in "vxc", the values obtained from the'
,&
...
...
eigen/hsint.F90
View file @
81a9df5d
...
...
@@ -48,7 +48,7 @@ CONTAINS
INTEGER
,
INTENT
(
IN
)
::
n_size
,
n_rank
,
jspin
! ..
! .. Array Arguments ..
COMPLEX
,
INTENT
(
INOUT
)
::
vpw
(
stars
%
n
3d
)
COMPLEX
,
INTENT
(
INOUT
)
::
vpw
(
stars
%
n
g3
)
REAL
,
INTENT
(
IN
)
::
bkpt
(
3
)
LOGICAL
,
INTENT
(
IN
)
::
l_real
! ..
...
...
@@ -81,7 +81,7 @@ CONTAINS
!--- J const
IF
(
jij
%
l_J
)
THEN
ALLOCATE
(
vpw1
(
stars
%
n
3d
)
)
ALLOCATE
(
vpw1
(
stars
%
n
g3
)
)
READ
(
25
)
(
vpw1
(
ig3
),
ig3
=
1
,
stars
%
ng3
)
ENDIF
!--- J const
...
...
eigen/hsvac.F90
View file @
81a9df5d
...
...
@@ -33,7 +33,7 @@ CONTAINS
INTEGER
,
INTENT
(
IN
)
::
jsp
,
n_size
,
n_rank
! ..
! .. Array Arguments ..
COMPLEX
,
INTENT
(
INOUT
)
::
vxy
(
vacuum
%
nmzxyd
,
stars
%
n
2d
-1
,
2
)
COMPLEX
,
INTENT
(
INOUT
)
::
vxy
(
vacuum
%
nmzxyd
,
stars
%
n
g2
-1
,
2
)
INTEGER
,
INTENT
(
OUT
)::
nv2
(
DIMENSION
%
jspd
)
REAL
,
INTENT
(
INOUT
)
::
vz
(
vacuum
%
nmzd
,
2
,
4
)
REAL
,
INTENT
(
IN
)
::
evac
(
2
,
DIMENSION
%
jspd
)
...
...
@@ -54,7 +54,7 @@ CONTAINS
INTEGER
map2
(
DIMENSION
%
nvd
,
DIMENSION
%
jspd
)
COMPLEX
tddv
(
DIMENSION
%
nv2d
,
DIMENSION
%
nv2d
),
tduv
(
DIMENSION
%
nv2d
,
DIMENSION
%
nv2d
)
COMPLEX
tudv
(
DIMENSION
%
nv2d
,
DIMENSION
%
nv2d
),
tuuv
(
DIMENSION
%
nv2d
,
DIMENSION
%
nv2d
)
COMPLEX
vxy_help
(
stars
%
n
2d
-1
)
COMPLEX
vxy_help
(
stars
%
n
g2
-1
)
COMPLEX
a
(
DIMENSION
%
nvd
,
DIMENSION
%
jspd
),
b
(
DIMENSION
%
nvd
,
DIMENSION
%
jspd
)
REAL
ddnv
(
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
dudz
(
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
)
REAL
duz
(
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
udz
(
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
)
...
...
@@ -65,7 +65,7 @@ CONTAINS
d2
=
SQRT
(
cell
%
omtil
/
cell
%
area
)
IF
(
jij
%
l_J
)
ALLOCATE
(
vxy1
(
vacuum
%
nmzxyd
,
stars
%
n
2d
-1
,
2
))
IF
(
jij
%
l_J
)
ALLOCATE
(
vxy1
(
vacuum
%
nmzxyd
,
stars
%
n
g2
-1
,
2
))
!---> set up mapping function from 3d-->2d lapws
...
...
eigen/od_hsvac.F90
View file @
81a9df5d
...
...
@@ -80,7 +80,7 @@ CONTAINS
ALLOCATE
(&
ai
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
nvd
),
bi
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
nvd
),&
nvp
(
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
ind
(
stars
%
n
2d
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),&
nvp
(
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
ind
(
stars
%
n
g2
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),&
kvac3
(
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
map1
(
DIMENSION
%
nvd
,
DIMENSION
%
jspd
),&
tddv
(
-
vM
:
vM
,
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
nv2d
),&
tduv
(
-
vM
:
vM
,
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
nv2d
),&
...
...
@@ -113,7 +113,7 @@ CONTAINS
DO
ik
=
1
,
DIMENSION
%
nv2d
nvp
(
ik
,
jspin
)
=
0
DO
i
=
1
,
stars
%
n
2d
DO
i
=
1
,
stars
%
n
g2
ind
(
i
,
ik
,
jspin
)
=
0
END
DO
END
DO
...
...
eigen/vacfun.f90
View file @
81a9df5d
...
...
@@ -34,7 +34,7 @@ CONTAINS
! .. Array Arguments ..
INTEGER
,
INTENT
(
IN
)
::
nv2
(
dimension
%
jspd
)
INTEGER
,
INTENT
(
IN
)
::
kvac1
(
dimension
%
nv2d
,
dimension
%
jspd
),
kvac2
(
dimension
%
nv2d
,
dimension
%
jspd
)
COMPLEX
,
INTENT
(
IN
)
::
vxy
(
vacuum
%
nmzxyd
,
stars
%
n
2d
-1
)
COMPLEX
,
INTENT
(
IN
)
::
vxy
(
vacuum
%
nmzxyd
,
stars
%
n
g2
-1
)
COMPLEX
,
INTENT
(
OUT
)::
tddv
(
dimension
%
nv2d
,
dimension
%
nv2d
),
tduv
(
dimension
%
nv2d
,
dimension
%
nv2d
)
COMPLEX
,
INTENT
(
OUT
)::
tudv
(
dimension
%
nv2d
,
dimension
%
nv2d
),
tuuv
(
dimension
%
nv2d
,
dimension
%
nv2d
)
REAL
,
INTENT
(
IN
)
::
vz
(
vacuum
%
nmzd
,
2
,
4
)
,
evac
(
2
,
dimension
%
jspd
)
...
...
eigen_soc/eigenso.f90
View file @
81a9df5d
...
...
@@ -86,7 +86,7 @@ CONTAINS
! load potential from file pottot (=unit 8)
!
ALLOCATE
(
vz
(
vacuum
%
nmzd
,
2
,
DIMENSION
%
jspd
),
vr
(
atoms
%
jmtd
,
0
:
sphhar
%
nlhd
,
atoms
%
ntype
,
DIMENSION
%
jspd
),&
vzxy
(
vacuum
%
nmzxyd
,
oneD
%
odi
%
n2d
-1
,
2
,
DIMENSION
%
jspd
),
vpw
(
stars
%
n
3d
,
DIMENSION
%
jspd
)
)
vzxy
(
vacuum
%
nmzxyd
,
oneD
%
odi
%
n2d
-1
,
2
,
DIMENSION
%
jspd
),
vpw
(
stars
%
n
g3
,
DIMENSION
%
jspd
)
)
OPEN
(
8
,
file
=
'pottot'
,
form
=
'unformatted'
,
status
=
'old'
)
CALL
loddop
(&
...
...
@@ -264,7 +264,9 @@ CONTAINS
eig
=
eig_so
(:
nsz
))
ELSE
zmat
%
nbasfcn
=
size
(
eig_so
,
1
)
allocate
(
zmat
%
z_c
(
zmat
%
nbasfcn
,
nsz
))
zmat
%
l_real
=
.false.
zmat
%
nbands
=
nsz
DO
jspin
=
1
,
wannierspin
CALL
timestart
(
"eigenso: write_eig"
)
...
...
force/force_b8.f90
View file @
81a9df5d
...
...
@@ -19,7 +19,7 @@ CONTAINS
! ..
! .. Arguments
INTEGER
,
INTENT
(
IN
)
::
jspin
COMPLEX
,
INTENT
(
IN
)
::
ecwk
(
stars
%
n
3d
)
COMPLEX
,
INTENT
(
IN
)
::
ecwk
(
stars
%
n
g3
)
COMPLEX
,
INTENT
(
INOUT
)
::
f_b8
(
3
,
atoms
%
ntype
)
real
,
intent
(
inout
)
::
force
(:,:,:)
! ..
...
...
force/force_sf.F90
View file @
81a9df5d
...
...
@@ -53,10 +53,10 @@
INTEGER
,
INTENT
(
IN
)
::
jsp
! .. Array Arguments ..
COMPLEX
,
INTENT
(
IN
)
::
qpw
(:,:)
!(stars%n
3d
,dimension%jspd)
COMPLEX
,
INTENT
(
IN
)
::
qpw
(:,:)
!(stars%n
g3
,dimension%jspd)
COMPLEX
,
INTENT
(
IN
)
::
vpw
(:,:)
!(n3d,jspd)
COMPLEX
,
INTENT
(
IN
)
::
excpw
(
stars
%
n
3d
)
COMPLEX
,
INTENT
(
IN
)
::
vxcpw
(:,:)
!(stars%n
3d
,dimension%jspd)
COMPLEX
,
INTENT
(
IN
)
::
excpw
(
stars
%
n
g3
)
COMPLEX
,
INTENT
(
IN
)
::
vxcpw
(:,:)
!(stars%n
g3
,dimension%jspd)
! .. Local Scalars ..
INTEGER
::
n
,
j
,
itype
,
s
,
l
,
lm
,
t
,
lp
,
mp
,
lmp
,
jp
,
natom
,
m
...
...
@@ -66,7 +66,7 @@
! .. Local Arrays ..
INTEGER
::
lmaxb
(
atoms_in
%
ntype
)
COMPLEX
::
coeff
(
3
,
-1
:
1
),
qpw2
(
stars
%
n
3d
,
size
(
qpw
,
2
)),
qpwcalc
(
stars
%
n3d
,
size
(
qpw
,
2
))
COMPLEX
::
coeff
(
3
,
-1
:
1
),
qpw2
(
stars
%
n
g3
,
size
(
qpw
,
2
)),
qpwcalc
(
stars
%
ng3
,
size
(
qpw
,
2
))
REAL
,
ALLOCATABLE
::
bsl
(:,:,:)
COMPLEX
,
ALLOCATABLE
::
pylm
(:,:,:),
rho
(:),
V
(:),
pylm2
(:,:)
! COMPLEX, ALLOCATABLE :: qpw2(:,:),qpwcalc(:,:)
...
...
@@ -83,7 +83,7 @@
CALL
init_sf
(
sym
,
cell
,
atoms
)
isdone
=
.true.
ALLOCATE
(
bsl
(
stars
%
n
3d
,
0
:
atoms
%
lmaxd
,
atoms
%
ntype
)
)
ALLOCATE
(
bsl
(
stars
%
n
g3
,
0
:
atoms
%
lmaxd
,
atoms
%
ntype
)
)
ALLOCATE
(
pylm2
((
atoms
%
lmaxd
+1
)
**
2
,
atoms
%
ntype
))
ALLOCATE
(
rho
((
atoms
%
lmaxd
+1
)
**
2
),
V
((
atoms
%
lmaxd
+1
)
**
2
)
)
...
...
@@ -107,7 +107,7 @@
qpw2
=
0.0
OPEN
(
15
,
file
=
'qpw'
,
form
=
'formatted'
,
status
=
'unknown'
)
DO
jp
=
1
,
size
(
qpw
,
2
)
DO
s
=
1
,
stars
%
n
3d
DO
s
=
1
,
stars
%
n
g3
READ
(
15
,
'(i2,i10,2f20.14)'
)
n
,
j
,
qpw2
(
s
,
jp
)
END
DO
! s
END
DO
! jp
...
...
global/checkdop.F90
View file @
81a9df5d
...
...
@@ -39,7 +39,7 @@
! .. Array Arguments ..
REAL
,
INTENT
(
IN
)
::
p
(
3
,
DIMENSION
%
nspd
)
REAL
,
INTENT
(
IN
)
::
fr
(
atoms
%
jmtd
,
0
:
sphhar
%
nlhd
,
atoms
%
ntype
,
DIMENSION
%
jspd
),
fz
(
vacuum
%
nmzd
,
2
,
DIMENSION
%
jspd
)
COMPLEX
,
INTENT
(
IN
)
::
fpw
(
stars
%
n
3d
,
DIMENSION
%
jspd
),
fxy
(
vacuum
%
nmzxyd
,
oneD
%
odi
%
n2d
-1
,
2
,
DIMENSION
%
jspd
)
COMPLEX
,
INTENT
(
IN
)
::
fpw
(
stars
%
n
g3
,
DIMENSION
%
jspd
),
fxy
(
vacuum
%
nmzxyd
,
oneD
%
odi
%
n2d
-1
,
2
,
DIMENSION
%
jspd
)
! ..
! .. Local Scalars ..
REAL
av
,
dms
,
rms
,
s
,
ir2
,
help
,
phi
...
...
@@ -47,7 +47,7 @@
COMPLEX
ic
! ..
! .. Local Arrays ..
COMPLEX
sf2
(
stars
%
n
2d
),
sf3
(
stars
%
n3d
),
ylm
(
(
atoms
%
lmaxd
+1
)
**
2
)
COMPLEX
sf2
(
stars
%
n
g2
),
sf3
(
stars
%
ng3
),
ylm
(
(
atoms
%
lmaxd
+1
)
**
2
)
REAL
rcc
(
3
),
v1
(
DIMENSION
%
nspd
),
v2
(
DIMENSION
%
nspd
),
x
(
3
),
ri
(
3
)
! ..
! ..
...
...
global/qfix.f90
View file @
81a9df5d
...
...
@@ -29,7 +29,7 @@
!+odim
! ..
! .. Array Arguments ..
COMPLEX
,
INTENT
(
INOUT
)
::
qpw
(
stars
%
n
3d
,
input
%
jspins
)
COMPLEX
,
INTENT
(
INOUT
)
::
qpw
(
stars
%
n
g3
,
input
%
jspins
)
COMPLEX
,
INTENT
(
INOUT
)
::
rhtxy
(
vacuum
%
nmzxyd
,
oneD
%
odi
%
n2d
-1
,
2
,
input
%
jspins
)
REAL
,
INTENT
(
INOUT
)
::
rho
(
atoms
%
jmtd
,
0
:
sphhar
%
nlhd
,
atoms
%
ntype
,
input
%
jspins
)
REAL
,
INTENT
(
INOUT
)
::
rht
(
vacuum
%
nmzd
,
2
,
input
%
jspins
)
...
...
global/types.F90
View file @
81a9df5d
...
...
@@ -306,63 +306,38 @@
!The stars
TYPE
t_stars
!dimensions should be deleted later
integer
::
n3d
integer
::
n2d
integer
::
k1d
integer
::
k2d
integer
::
k3d
integer
::
kq1d
integer
::
kq2d
integer
::
kq3d
integer
::
kxc1d
integer
::
kxc2d
integer
::
kxc3d
INTEGER
::
nk1
INTEGER
::
nk2
INTEGER
::
nk3
!max-length of star
REAL
::
gmax
REAL
::
gmaxInit
!no of 3d-stars
!INTEGER :: nq3
INTEGER
::
ng3
!no of 2d-stars
!INTEGER ::nq2
INTEGER
::
ng2
!No of elements in FFT
INTEGER
::
kimax
!No of elements in 2D-FFT
INTEGER
::
kimax2
!dim of box
INTEGER
::
mx1
INTEGER
::
mx2
INTEGER
::
mx3
!fft boxex
integer
::
kxc1_fft
integer
::
kxc2_fft
integer
::
kxc3_fft
!No of elements in FFT
INTEGER
::
kimax
!No of elements in 2D-FFT
INTEGER
::
kimax2
!Box for FFT in pwden
integer
::
kq1_fft
integer
::
kq2_fft
integer
::
kq3_fft
INTEGER
::
ng2_fft
!INTEGER :: nq2_fft
integer
::
kmxq_fft
!no of g-vectors in sphere
!fft box for xc-pot
integer
::
kxc1_fft