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
51
Issues
51
List
Boards
Labels
Service Desk
Milestones
Operations
Operations
Incidents
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
fleur
fleur
Commits
e169e840
Commit
e169e840
authored
Nov 06, 2018
by
Daniel Wortmann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Removed dimension%jspd and replaced by input%jspins
parent
0aea6a95
Changes
63
Hide whitespace changes
Inline
Side-by-side
Showing
63 changed files
with
237 additions
and
235 deletions
+237
-235
cdn/cdnovlp.F90
cdn/cdnovlp.F90
+4
-4
cdn/cdnval.F90
cdn/cdnval.F90
+3
-3
cdn/int_21.f90
cdn/int_21.f90
+2
-2
cdn/int_21lo.f90
cdn/int_21lo.f90
+3
-3
cdn/m_perp.f90
cdn/m_perp.f90
+1
-1
cdn/qpw_to_nmt.f90
cdn/qpw_to_nmt.f90
+1
-1
cdn/vacden.F90
cdn/vacden.F90
+11
-11
cdn_mt/cdncore.F90
cdn_mt/cdncore.F90
+4
-4
cdn_mt/orbMagMoms.f90
cdn_mt/orbMagMoms.f90
+3
-3
core/ccdnup.f90
core/ccdnup.f90
+4
-4
core/cored.F90
core/cored.F90
+5
-5
core/coredr.F90
core/coredr.F90
+5
-5
diagonalization/chase_diag.F90
diagonalization/chase_diag.F90
+1
-1
eigen/eigen.F90
eigen/eigen.F90
+1
-1
eigen/hsvac.F90
eigen/hsvac.F90
+8
-8
eigen/od_hsvac.F90
eigen/od_hsvac.F90
+8
-8
eigen/od_vacfun.f90
eigen/od_vacfun.f90
+11
-11
eigen/rad_ovlp.f90
eigen/rad_ovlp.f90
+2
-2
eigen/vacfun.f90
eigen/vacfun.f90
+7
-7
eigen_secvar/aline.F90
eigen_secvar/aline.F90
+3
-3
eigen_secvar/hssr_wu.F90
eigen_secvar/hssr_wu.F90
+3
-2
eigen_soc/alineso.F90
eigen_soc/alineso.F90
+4
-4
eigen_soc/eigenso.F90
eigen_soc/eigenso.F90
+5
-5
eigen_soc/hsoham.F90
eigen_soc/hsoham.F90
+1
-1
eigen_soc/hsohelp.F90
eigen_soc/hsohelp.F90
+11
-11
eigen_soc/sorad.f90
eigen_soc/sorad.f90
+1
-1
eigen_soc/spnorb.f90
eigen_soc/spnorb.f90
+1
-1
force/force_a4.f90
force/force_a4.f90
+2
-2
force/force_a4_add.f90
force/force_a4_add.f90
+3
-3
force/force_a8.F90
force/force_a8.F90
+1
-1
force/force_sf.F90
force/force_sf.F90
+4
-4
hybrid/gen_wavf.F90
hybrid/gen_wavf.F90
+2
-2
hybrid/hybrid.F90
hybrid/hybrid.F90
+1
-1
hybrid/mixedbasis.F90
hybrid/mixedbasis.F90
+8
-8
hybrid/read_core.F90
hybrid/read_core.F90
+3
-3
hybrid/subvxc.F90
hybrid/subvxc.F90
+3
-3
hybrid/wavefproducts.F90
hybrid/wavefproducts.F90
+1
-1
init/initParallelProcesses.F90
init/initParallelProcesses.F90
+1
-1
init/old_inp/dimen7.F90
init/old_inp/dimen7.F90
+2
-2
init/old_inp/dimens.F90
init/old_inp/dimens.F90
+2
-2
init/parawrite.f90
init/parawrite.f90
+3
-2
io/cdn_io.F90
io/cdn_io.F90
+6
-6
io/cdnpot_io_hdf.F90
io/cdnpot_io_hdf.F90
+18
-18
io/r_inpXML.F90
io/r_inpXML.F90
+0
-1
main/cdngen.F90
main/cdngen.F90
+1
-1
main/fleur.F90
main/fleur.F90
+5
-5
main/fleur_init.F90
main/fleur_init.F90
+1
-1
mpi/mpi_bc_all.F90
mpi/mpi_bc_all.F90
+5
-5
mpi/mpi_bc_coreDen.F90
mpi/mpi_bc_coreDen.F90
+6
-6
mpi/mpi_make_groups.F90
mpi/mpi_make_groups.F90
+4
-3
optional/atom2.f90
optional/atom2.f90
+6
-6
optional/cdnsp.f90
optional/cdnsp.f90
+2
-2
optional/outcdn.f90
optional/outcdn.f90
+4
-4
optional/plotdop.f90
optional/plotdop.f90
+1
-1
optional/stden.f90
optional/stden.f90
+4
-4
types/types_cdnval.f90
types/types_cdnval.f90
+5
-4
types/types_denCoeffsOffdiag.f90
types/types_denCoeffsOffdiag.f90
+3
-3
types/types_setup.F90
types/types_setup.F90
+0
-1
vgen/fleur_vdW.F90
vgen/fleur_vdW.F90
+2
-2
vgen/od_vvacis.f90
vgen/od_vvacis.f90
+3
-3
vgen/vgen_coulomb.F90
vgen/vgen_coulomb.F90
+1
-1
vgen/write_xcstuff.f90
vgen/write_xcstuff.f90
+1
-1
wannier/wannier.F
wannier/wannier.F
+10
-10
No files found.
cdn/cdnovlp.F90
View file @
e169e840
...
...
@@ -109,10 +109,10 @@
LOGICAL
,
INTENT
(
IN
)
::
l_st
! ..
! .. Array Arguments ..
COMPLEX
,
INTENT
(
INOUT
)
::
qpw
(
stars
%
ng3
,
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
)
COMPLEX
,
INTENT
(
INOUT
)
::
qpw
(
stars
%
ng3
,
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
)
REAL
,
INTENT
(
INOUT
)
::
rh
(
DIMENSION
%
msh
,
atoms
%
ntype
)
! ..
! .. Local Scalars ..
...
...
cdn/cdnval.F90
View file @
e169e840
...
...
@@ -127,7 +127,7 @@ SUBROUTINE cdnval(eig_id, mpi,kpts,jspin,noco,input,banddos,cell,atoms,enpara,st
ALLOCATE
(
f
(
atoms
%
jmtd
,
2
,
0
:
atoms
%
lmaxd
,
jsp_start
:
jsp_end
))
! Deallocation before mpi_col_den
ALLOCATE
(
g
(
atoms
%
jmtd
,
2
,
0
:
atoms
%
lmaxd
,
jsp_start
:
jsp_end
))
ALLOCATE
(
flo
(
atoms
%
jmtd
,
2
,
atoms
%
nlod
,
dimension
%
jspd
))
ALLOCATE
(
flo
(
atoms
%
jmtd
,
2
,
atoms
%
nlod
,
input
%
jspins
))
! Initializations
CALL
usdus
%
init
(
atoms
,
input
%
jspins
)
...
...
@@ -227,7 +227,7 @@ SUBROUTINE cdnval(eig_id, mpi,kpts,jspin,noco,input,banddos,cell,atoms,enpara,st
IF
(
input
%
film
)
CALL
regCharges
%
sumBandsVac
(
vacuum
,
dos
,
noccbd
,
ikpt
,
jsp_start
,
jsp_end
,
eig
,
we
)
! valence density in the atomic spheres
CALL
eigVecCoeffs
%
init
(
dimension
,
atoms
,
noco
,
jspin
,
noccbd
)
CALL
eigVecCoeffs
%
init
(
input
,
DIMENSION
,
atoms
,
noco
,
jspin
,
noccbd
)
DO
ispin
=
jsp_start
,
jsp_end
IF
(
input
%
l_f
)
CALL
force
%
init2
(
noccbd
,
input
,
atoms
)
CALL
abcof
(
input
,
atoms
,
sym
,
cell
,
lapw
,
noccbd
,
usdus
,
noco
,
ispin
,
oneD
,&
...
...
@@ -276,7 +276,7 @@ SUBROUTINE cdnval(eig_id, mpi,kpts,jspin,noco,input,banddos,cell,atoms,enpara,st
#endif
IF
(
mpi
%
irank
==
0
)
THEN
CALL
cdnmt
(
dimension
%
jspd
,
atoms
,
sphhar
,
noco
,
jsp_start
,
jsp_end
,&
CALL
cdnmt
(
input
%
jspins
,
atoms
,
sphhar
,
noco
,
jsp_start
,
jsp_end
,&
enpara
,
vTot
%
mt
(:,
0
,:,:),
denCoeffs
,
usdus
,
orb
,
denCoeffsOffdiag
,
moments
,
den
%
mt
)
IF
(
l_coreSpec
)
CALL
corespec_ddscs
(
jspin
,
input
%
jspins
)
DO
ispin
=
jsp_start
,
jsp_end
...
...
cdn/int_21.f90
View file @
e169e840
...
...
@@ -20,8 +20,8 @@ CONTAINS
INTEGER
,
INTENT
(
IN
)
::
l
,
ityp
REAL
,
INTENT
(
IN
)
::
f
(:,:,
0
:,:)
!(atoms%jmtd,2,0:atoms%lmaxd,
dimension%jspd
)
REAL
,
INTENT
(
IN
)
::
g
(:,:,
0
:,:)
!(atoms%jmtd,2,0:atoms%lmaxd,
dimension%jspd
)
REAL
,
INTENT
(
IN
)
::
f
(:,:,
0
:,:)
!(atoms%jmtd,2,0:atoms%lmaxd,
input%jspins
)
REAL
,
INTENT
(
IN
)
::
g
(:,:,
0
:,:)
!(atoms%jmtd,2,0:atoms%lmaxd,
input%jspins
)
REAL
,
INTENT
(
INOUT
)
::
uu21n
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
),
ud21n
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
)
REAL
,
INTENT
(
INOUT
)
::
du21n
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
),
dd21n
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
)
...
...
cdn/int_21lo.f90
View file @
e169e840
...
...
@@ -25,9 +25,9 @@ CONTAINS
! .. Scalar Arguments ..
INTEGER
,
INTENT
(
IN
)
::
ilo
,
n
! ... Array Arguments
REAL
,
INTENT
(
IN
)
::
f
(:,:,
0
:,:)
!(atoms%jmtd,2,0:atoms%lmaxd,
dimension%jspd
)
REAL
,
INTENT
(
IN
)
::
g
(:,:,
0
:,:)
!(atoms%jmtd,2,0:atoms%lmaxd,
dimension%jspd
)
REAL
,
INTENT
(
IN
)
::
flo
(:,:,:,:)
!(atoms%jmtd,2,atoms%nlod,
dimension%jspd
)
REAL
,
INTENT
(
IN
)
::
f
(:,:,
0
:,:)
!(atoms%jmtd,2,0:atoms%lmaxd,
input%jspins
)
REAL
,
INTENT
(
IN
)
::
g
(:,:,
0
:,:)
!(atoms%jmtd,2,0:atoms%lmaxd,
input%jspins
)
REAL
,
INTENT
(
IN
)
::
flo
(:,:,:,:)
!(atoms%jmtd,2,atoms%nlod,
input%jspins
)
! ...local scalars
INTEGER
iri
,
l
,
lp
,
ilop
...
...
cdn/m_perp.f90
View file @
e169e840
...
...
@@ -29,7 +29,7 @@ CONTAINS
INTEGER
,
INTENT
(
IN
)
::
itype
,
iRepAtom
! ..
! .. Array Arguments ..
REAL
,
INTENT
(
IN
)
::
chmom
(:,:)
!(atoms%ntype,
dimension%jspd
)
REAL
,
INTENT
(
IN
)
::
chmom
(:,:)
!(atoms%ntype,
input%jspins
)
REAL
,
INTENT
(
IN
)
::
vr0
(:,:,:)
!(atoms%jmtd,atoms%ntype,jspd)
COMPLEX
,
INTENT
(
IN
)
::
qa21
(
atoms
%
ntype
)
! ..
...
...
cdn/qpw_to_nmt.f90
View file @
e169e840
...
...
@@ -39,7 +39,7 @@ CONTAINS
! ..
! .. Array Arguments ..
COMPLEX
,
INTENT
(
IN
)
::
qpwc
(
stars
%
ng3
)
REAL
,
INTENT
(
INOUT
)
::
rho
(:,
0
:,:,:)
!(atoms%jmtd,0:sphhar%nlhd,atoms%ntype,
dimension%jspd
)
REAL
,
INTENT
(
INOUT
)
::
rho
(:,
0
:,:,:)
!(atoms%jmtd,0:sphhar%nlhd,atoms%ntype,
input%jspins
)
!-odim
!+odim
! ..
...
...
cdn/vacden.F90
View file @
e169e840
...
...
@@ -70,15 +70,15 @@ CONTAINS
INTEGER
,
PARAMETER
::
n2max
=
13
REAL
,
PARAMETER
::
emax
=
2.0
/
hartree_to_ev_const
! .. Array Arguments ..
REAL
,
INTENT
(
IN
)
::
evac
(
2
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
IN
)
::
evac
(
2
,
input
%
jspins
)
REAL
,
INTENT
(
IN
)
::
we
(
DIMENSION
%
neigd
)
REAL
::
vz
(
vacuum
%
nmzd
,
2
)
! Note this breaks the INTENT(IN) from cdnval. It may be read from a file in this subroutine.
! STM-Arguments
REAL
,
INTENT
(
IN
)
::
eig
(
DIMENSION
%
neigd
)
! local STM variables
INTEGER
nv2
(
DIMENSION
%
jspd
)
INTEGER
kvac1
(
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
kvac2
(
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
map2
(
DIMENSION
%
nvd
,
DIMENSION
%
jspd
)
INTEGER
kvac3
(
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
map1
(
DIMENSION
%
nvd
,
DIMENSION
%
jspd
)
INTEGER
nv2
(
input
%
jspins
)
INTEGER
kvac1
(
DIMENSION
%
nv2d
,
input
%
jspins
),
kvac2
(
DIMENSION
%
nv2d
,
input
%
jspins
),
map2
(
DIMENSION
%
nvd
,
input
%
jspins
)
INTEGER
kvac3
(
DIMENSION
%
nv2d
,
input
%
jspins
),
map1
(
DIMENSION
%
nvd
,
input
%
jspins
)
INTEGER
mapg2k
(
DIMENSION
%
nv2d
)
! .. Local Scalars ..
COMPLEX
aa
,
ab
,
av
,
ba
,
bb
,
bv
,
t1
,
aae
,
bbe
,
abe
,
bae
,
aaee
,
bbee
,
abee
,
baee
,&
...
...
@@ -138,14 +138,14 @@ CONTAINS
CALL
timestart
(
"vacden"
)
ALLOCATE
(
ac
(
DIMENSION
%
nv2d
,
DIMENSION
%
neigd
,
DIMENSION
%
jspd
),
bc
(
DIMENSION
%
nv2d
,
DIMENSION
%
neigd
,
DIMENSION
%
jspd
),
dt
(
DIMENSION
%
nv2d
),&
ALLOCATE
(
ac
(
DIMENSION
%
nv2d
,
DIMENSION
%
neigd
,
input
%
jspins
),
bc
(
DIMENSION
%
nv2d
,
DIMENSION
%
neigd
,
input
%
jspins
),
dt
(
DIMENSION
%
nv2d
),&
&
dte
(
DIMENSION
%
nv2d
),
du
(
vacuum
%
nmzd
),
ddu
(
vacuum
%
nmzd
,
DIMENSION
%
nv2d
),
due
(
vacuum
%
nmzd
),&
&
ddue
(
vacuum
%
nmzd
,
DIMENSION
%
nv2d
),
t
(
DIMENSION
%
nv2d
),
te
(
DIMENSION
%
nv2d
),&
&
tei
(
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
u
(
vacuum
%
nmzd
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
ue
(
vacuum
%
nmzd
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),&
&
tei
(
DIMENSION
%
nv2d
,
input
%
jspins
),
u
(
vacuum
%
nmzd
,
DIMENSION
%
nv2d
,
input
%
jspins
),
ue
(
vacuum
%
nmzd
,
DIMENSION
%
nv2d
,
input
%
jspins
),&
&
v
(
3
),
yy
(
vacuum
%
nmzd
))
IF
(
oneD
%
odi
%
d1
)
THEN
ALLOCATE
(
ac_1
(
DIMENSION
%
nv2d
,
-
oneD
%
odi
%
mb
:
oneD
%
odi
%
mb
,
DIMENSION
%
neigd
,
DIMENSION
%
jspd
),&
&
bc_1
(
DIMENSION
%
nv2d
,
-
oneD
%
odi
%
mb
:
oneD
%
odi
%
mb
,
DIMENSION
%
neigd
,
DIMENSION
%
jspd
),&
ALLOCATE
(
ac_1
(
DIMENSION
%
nv2d
,
-
oneD
%
odi
%
mb
:
oneD
%
odi
%
mb
,
DIMENSION
%
neigd
,
input
%
jspins
),&
&
bc_1
(
DIMENSION
%
nv2d
,
-
oneD
%
odi
%
mb
:
oneD
%
odi
%
mb
,
DIMENSION
%
neigd
,
input
%
jspins
),&
&
dt_1
(
DIMENSION
%
nv2d
,
-
oneD
%
odi
%
mb
:
oneD
%
odi
%
mb
),&
&
dte_1
(
DIMENSION
%
nv2d
,
-
oneD
%
odi
%
mb
:
oneD
%
odi
%
mb
),&
&
du_1
(
vacuum
%
nmzd
,
-
oneD
%
odi
%
mb
:
oneD
%
odi
%
mb
),&
...
...
@@ -154,9 +154,9 @@ CONTAINS
&
ddue_1
(
vacuum
%
nmzd
,
DIMENSION
%
nv2d
,
-
oneD
%
odi
%
mb
:
oneD
%
odi
%
mb
),&
&
t_1
(
DIMENSION
%
nv2d
,
-
oneD
%
odi
%
mb
:
oneD
%
odi
%
mb
),&
&
te_1
(
DIMENSION
%
nv2d
,
-
oneD
%
odi
%
mb
:
oneD
%
odi
%
mb
),&
&
tei_1
(
DIMENSION
%
nv2d
,
-
oneD
%
odi
%
mb
:
oneD
%
odi
%
mb
,
DIMENSION
%
jspd
),&
&
u_1
(
vacuum
%
nmzd
,
DIMENSION
%
nv2d
,
-
oneD
%
odi
%
mb
:
oneD
%
odi
%
mb
,
DIMENSION
%
jspd
),&
&
ue_1
(
vacuum
%
nmzd
,
DIMENSION
%
nv2d
,
-
oneD
%
odi
%
mb
:
oneD
%
odi
%
mb
,
DIMENSION
%
jspd
)
)
&
tei_1
(
DIMENSION
%
nv2d
,
-
oneD
%
odi
%
mb
:
oneD
%
odi
%
mb
,
input
%
jspins
),&
&
u_1
(
vacuum
%
nmzd
,
DIMENSION
%
nv2d
,
-
oneD
%
odi
%
mb
:
oneD
%
odi
%
mb
,
input
%
jspins
),&
&
ue_1
(
vacuum
%
nmzd
,
DIMENSION
%
nv2d
,
-
oneD
%
odi
%
mb
:
oneD
%
odi
%
mb
,
input
%
jspins
)
)
END
IF
! oneD%odi%d1
!
...
...
cdn_mt/cdncore.F90
View file @
e169e840
...
...
@@ -47,10 +47,10 @@ SUBROUTINE cdncore(mpi,dimension,oneD,input,vacuum,noco,sym,&
REAL
::
seig
,
rhoint
,
momint
LOGICAL
,
PARAMETER
::
l_st
=
.FALSE.
REAL
::
rh
(
dimension
%
msh
,
atoms
%
ntype
,
dimension
%
jspd
)
REAL
::
qint
(
atoms
%
ntype
,
dimension
%
jspd
)
REAL
::
tec
(
atoms
%
ntype
,
DIMENSION
%
jspd
)
REAL
::
rhTemp
(
dimension
%
msh
,
atoms
%
ntype
,
dimension
%
jspd
)
REAL
::
rh
(
dimension
%
msh
,
atoms
%
ntype
,
input
%
jspins
)
REAL
::
qint
(
atoms
%
ntype
,
input
%
jspins
)
REAL
::
tec
(
atoms
%
ntype
,
input
%
jspins
)
REAL
::
rhTemp
(
dimension
%
msh
,
atoms
%
ntype
,
input
%
jspins
)
results
%
seigc
=
0.0
IF
(
mpi
%
irank
.EQ.
0
)
THEN
...
...
cdn_mt/orbMagMoms.f90
View file @
e169e840
...
...
@@ -8,18 +8,18 @@ MODULE m_orbMagMoms
CONTAINS
SUBROUTINE
orbMagMoms
(
dimension
,
atoms
,
noco
,
clmom
)
SUBROUTINE
orbMagMoms
(
input
,
atoms
,
noco
,
clmom
)
USE
m_types
USE
m_xmlOutput
IMPLICIT
NONE
TYPE
(
t_
dimension
),
INTENT
(
IN
)
::
dimension
TYPE
(
t_
input
),
INTENT
(
IN
)
::
input
TYPE
(
t_atoms
),
INTENT
(
IN
)
::
atoms
TYPE
(
t_noco
),
INTENT
(
IN
)
::
noco
REAL
,
INTENT
(
INOUT
)
::
clmom
(
3
,
atoms
%
ntype
,
dimension
%
jspd
)
REAL
,
INTENT
(
INOUT
)
::
clmom
(
3
,
atoms
%
ntype
,
input
%
jspins
)
INTEGER
::
iType
,
j
REAL
::
thetai
,
phii
,
slmom
,
slxmom
,
slymom
...
...
core/ccdnup.f90
View file @
e169e840
...
...
@@ -24,10 +24,10 @@ CONTAINS
! ..
! .. Array Arguments ..
REAL
,
INTENT
(
IN
)
::
rhochr
(:),
rhospn
(:)
!(dimension%msh)
REAL
,
INTENT
(
IN
)
::
vrs
(:,:,:)
!(atoms%jmtd,atoms%ntype,
dimension%jspd
)
REAL
,
INTENT
(
OUT
)
::
tecs
(:,:)
!(atoms%ntype,
dimension%jspd
)
REAL
,
INTENT
(
OUT
)
::
qints
(:,:)
!(atoms%ntype,
dimension%jspd
)
REAL
,
INTENT
(
INOUT
)
::
rho
(:,
0
:,:,:)
!(atoms%jmtd,0:sphhar%nlhd,atoms%ntype,
dimension%jspd
)
REAL
,
INTENT
(
IN
)
::
vrs
(:,:,:)
!(atoms%jmtd,atoms%ntype,
input%jspins
)
REAL
,
INTENT
(
OUT
)
::
tecs
(:,:)
!(atoms%ntype,
input%jspins
)
REAL
,
INTENT
(
OUT
)
::
qints
(:,:)
!(atoms%ntype,
input%jspins
)
REAL
,
INTENT
(
INOUT
)
::
rho
(:,
0
:,:,:)
!(atoms%jmtd,0:sphhar%nlhd,atoms%ntype,
input%jspins
)
! ..
! .. Local Scalars ..
REAL
d
,
dxx
,
q
,
rad
,
rhs
...
...
core/cored.F90
View file @
e169e840
...
...
@@ -30,10 +30,10 @@ CONTAINS
! ..
! .. Array Arguments ..
REAL
,
INTENT
(
IN
)
::
vr
(
atoms
%
jmtd
,
atoms
%
ntype
)
REAL
,
INTENT
(
INOUT
)
::
rho
(
atoms
%
jmtd
,
0
:
sphhar
%
nlhd
,
atoms
%
ntype
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
INOUT
)
::
rhc
(
DIMENSION
%
msh
,
atoms
%
ntype
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
INOUT
)
::
qint
(
atoms
%
ntype
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
INOUT
)
::
tec
(
atoms
%
ntype
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
INOUT
)
::
rho
(
atoms
%
jmtd
,
0
:
sphhar
%
nlhd
,
atoms
%
ntype
,
input
%
jspins
)
REAL
,
INTENT
(
INOUT
)
::
rhc
(
DIMENSION
%
msh
,
atoms
%
ntype
,
input
%
jspins
)
REAL
,
INTENT
(
INOUT
)
::
qint
(
atoms
%
ntype
,
input
%
jspins
)
REAL
,
INTENT
(
INOUT
)
::
tec
(
atoms
%
ntype
,
input
%
jspins
)
! ..
! .. Local Scalars ..
REAL
e
,
fj
,
fl
,
fn
,
q
,
rad
,
rhos
,
rhs
,
sea
,
sume
,
t2
...
...
@@ -85,7 +85,7 @@ CONTAINS
! rn = rmt(jatom)
dxx
=
atoms
%
dx
(
jatom
)
bmu
=
0.0
CALL
setcor
(
jatom
,
DIMENSION
%
jspd
,
atoms
,
input
,
bmu
,
nst
,
kappa
,
nprnc
,
occ_h
)
CALL
setcor
(
jatom
,
input
%
jspins
,
atoms
,
input
,
bmu
,
nst
,
kappa
,
nprnc
,
occ_h
)
IF
((
bmu
>
99.
))
THEN
occ
(
1
:
nst
)
=
input
%
jspins
*
occ_h
(
1
:
nst
,
jspin
)
ELSE
...
...
core/coredr.F90
View file @
e169e840
...
...
@@ -21,9 +21,9 @@ CONTAINS
REAL
seig
! ..
! .. Array Arguments ..
REAL
,
INTENT
(
IN
)
::
vrs
(
atoms
%
jmtd
,
atoms
%
ntype
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
INOUT
)
::
rho
(
atoms
%
jmtd
,
0
:
sphhar
%
nlhd
,
atoms
%
ntype
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
OUT
)
::
rhc
(
DIMENSION
%
msh
,
atoms
%
ntype
,
DIMENSION
%
jspd
),
qints
(
atoms
%
ntype
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
IN
)
::
vrs
(
atoms
%
jmtd
,
atoms
%
ntype
,
input
%
jspins
)
REAL
,
INTENT
(
INOUT
)
::
rho
(
atoms
%
jmtd
,
0
:
sphhar
%
nlhd
,
atoms
%
ntype
,
input
%
jspins
)
REAL
,
INTENT
(
OUT
)
::
rhc
(
DIMENSION
%
msh
,
atoms
%
ntype
,
input
%
jspins
),
qints
(
atoms
%
ntype
,
input
%
jspins
)
! ..
! .. Local Scalars ..
REAL
dxx
,
rnot
,
sume
,
t2
,
t2b
,
z
,
t1
,
rr
,
d
,
v1
,
v2
...
...
@@ -32,8 +32,8 @@ CONTAINS
! ..
! .. Local Arrays ..
REAL
br
(
atoms
%
jmtd
,
atoms
%
ntype
),
brd
(
DIMENSION
%
msh
),
etab
(
100
,
atoms
%
ntype
),&
rhcs
(
atoms
%
jmtd
,
atoms
%
ntype
,
DIMENSION
%
jspd
),
rhochr
(
DIMENSION
%
msh
),
rhospn
(
DIMENSION
%
msh
),&
tecs
(
atoms
%
ntype
,
DIMENSION
%
jspd
),
vr
(
atoms
%
jmtd
,
atoms
%
ntype
),
vrd
(
DIMENSION
%
msh
)
rhcs
(
atoms
%
jmtd
,
atoms
%
ntype
,
input
%
jspins
),
rhochr
(
DIMENSION
%
msh
),
rhospn
(
DIMENSION
%
msh
),&
tecs
(
atoms
%
ntype
,
input
%
jspins
),
vr
(
atoms
%
jmtd
,
atoms
%
ntype
),
vrd
(
DIMENSION
%
msh
)
INTEGER
nkmust
(
atoms
%
ntype
),
ntab
(
100
,
atoms
%
ntype
),
ltab
(
100
,
atoms
%
ntype
)
! ..
...
...
diagonalization/chase_diag.F90
View file @
e169e840
...
...
@@ -117,7 +117,7 @@ CONTAINS
IF
(
TRIM
(
juDFT_string_for_argument
(
"-diag"
))
==
"chase"
)
THEN
nevd
=
min
(
dimension
%
neigd
,
dimension
%
nvd
+
atoms
%
nlotot
)
nexd
=
min
(
max
(
nevd
/
4
,
45
),
dimension
%
nvd
+
atoms
%
nlotot
-
nevd
)
!dimensioning for workspace
chase_eig_id
=
open_eig
(
mpi
%
mpi_comm
,
DIMENSION
%
nbasfcn
,
nevd
+
nexd
,
kpts
%
nkpt
,
DIMENSION
%
jspd
,&
chase_eig_id
=
open_eig
(
mpi
%
mpi_comm
,
DIMENSION
%
nbasfcn
,
nevd
+
nexd
,
kpts
%
nkpt
,
input
%
jspins
,&
noco
%
l_noco
,
.TRUE.
,
l_real
,
noco
%
l_soc
,
.FALSE.
,
mpi
%
n_size
)
END
IF
END
SUBROUTINE
init_chase
...
...
eigen/eigen.F90
View file @
e169e840
...
...
@@ -105,7 +105,7 @@ CONTAINS
INTEGER
::
comm
(
kpts
%
nkpt
),
irank2
(
kpts
%
nkpt
),
isize2
(
kpts
%
nkpt
),
dealloc_stat
character
(
len
=
300
)
::
errmsg
call
ud
%
init
(
atoms
,
DIMENSION
%
jspd
)
call
ud
%
init
(
atoms
,
input
%
jspins
)
ALLOCATE
(
eig
(
DIMENSION
%
neigd
),
bkpt
(
3
))
l_real
=
sym
%
invs
.AND..NOT.
noco
%
l_noco
...
...
eigen/hsvac.F90
View file @
e169e840
...
...
@@ -35,7 +35,7 @@ CONTAINS
INTEGER
,
INTENT
(
IN
)
::
jsp
! ..
! .. Array Arguments ..
REAL
,
INTENT
(
IN
)
::
evac
(
2
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
IN
)
::
evac
(
2
,
input
%
jspins
)
! ..
! .. Local Scalars ..
COMPLEX
hij
,
sij
,
apw_lo
,
c_1
...
...
@@ -46,16 +46,16 @@ CONTAINS
INTEGER
i_start
,
nc
,
nc_0
! ..
! .. Local Arrays ..
INTEGER
::
nv2
(
DIMENSION
%
jspd
)
INTEGER
kvac1
(
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
kvac2
(
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
)
INTEGER
map2
(
DIMENSION
%
nvd
,
DIMENSION
%
jspd
)
INTEGER
::
nv2
(
input
%
jspins
)
INTEGER
kvac1
(
DIMENSION
%
nv2d
,
input
%
jspins
),
kvac2
(
DIMENSION
%
nv2d
,
input
%
jspins
)
INTEGER
map2
(
DIMENSION
%
nvd
,
input
%
jspins
)
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
%
ng2
-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
)
REAL
uz
(
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
)
COMPLEX
a
(
DIMENSION
%
nvd
,
input
%
jspins
),
b
(
DIMENSION
%
nvd
,
input
%
jspins
)
REAL
ddnv
(
DIMENSION
%
nv2d
,
input
%
jspins
),
dudz
(
DIMENSION
%
nv2d
,
input
%
jspins
)
REAL
duz
(
DIMENSION
%
nv2d
,
input
%
jspins
),
udz
(
DIMENSION
%
nv2d
,
input
%
jspins
)
REAL
uz
(
DIMENSION
%
nv2d
,
input
%
jspins
)
! ..
d2
=
SQRT
(
cell
%
omtil
/
cell
%
area
)
...
...
eigen/od_hsvac.F90
View file @
e169e840
...
...
@@ -40,9 +40,9 @@ CONTAINS
! ..
! .. Array Arguments ..
COMPLEX
,
INTENT
(
INOUT
)
::
vxy
(
vacuum
%
nmzxyd
,
n2d_1
-1
,
2
)
INTEGER
,
INTENT
(
OUT
)::
nv2
(
DIMENSION
%
jspd
)
INTEGER
,
INTENT
(
OUT
)::
nv2
(
input
%
jspins
)
REAL
,
INTENT
(
INOUT
)
::
vz
(
vacuum
%
nmzd
,
2
,
4
)
REAL
,
INTENT
(
IN
)
::
evac
(
2
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
IN
)
::
evac
(
2
,
input
%
jspins
)
REAL
,
INTENT
(
IN
)
::
bkpt
(
3
)
LOGICAL
,
INTENT
(
IN
)
::
l_real
...
...
@@ -76,17 +76,17 @@ CONTAINS
ALLOCATE
(&
ai
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
nvd
),
bi
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
nvd
),&
nvp
(
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
ind
(
stars
%
ng2
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),&
kvac3
(
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
map1
(
DIMENSION
%
nvd
,
DIMENSION
%
jspd
),&
nvp
(
DIMENSION
%
nv2d
,
input
%
jspins
),
ind
(
stars
%
ng2
,
DIMENSION
%
nv2d
,
input
%
jspins
),&
kvac3
(
DIMENSION
%
nv2d
,
input
%
jspins
),
map1
(
DIMENSION
%
nvd
,
input
%
jspins
),&
tddv
(
-
vM
:
vM
,
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
nv2d
),&
tduv
(
-
vM
:
vM
,
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
nv2d
),&
tudv
(
-
vM
:
vM
,
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
nv2d
),&
tuuv
(
-
vM
:
vM
,
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
nv2d
),&
a
(
-
vM
:
vM
,
DIMENSION
%
nvd
,
DIMENSION
%
jspd
),
b
(
-
vM
:
vM
,
DIMENSION
%
nvd
,
DIMENSION
%
jspd
),&
a
(
-
vM
:
vM
,
DIMENSION
%
nvd
,
input
%
jspins
),
b
(
-
vM
:
vM
,
DIMENSION
%
nvd
,
input
%
jspins
),&
bess
(
-
vM
:
vM
),
dbss
(
-
vM
:
vM
),
bess1
(
-
vM
:
vM
),&
ddnv
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
dudz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),&
duz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),&
udz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
uz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
)
)
ddnv
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
input
%
jspins
),
dudz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
input
%
jspins
),&
duz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
input
%
jspins
),&
udz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
input
%
jspins
),
uz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
input
%
jspins
)
)
!---> set up mapping function from 3d-->1d lapws
!---> creating arrays ind and nvp
...
...
eigen/od_vacfun.f90
View file @
e169e840
...
...
@@ -36,19 +36,19 @@ CONTAINS
INTEGER
,
INTENT
(
IN
)
::
ivac
,
n2d_1
,
m_cyl
! ..
! .. Array Arguments ..
INTEGER
,
INTENT
(
IN
)
::
nv2
(
DIMENSION
%
jspd
)
INTEGER
,
INTENT
(
IN
)
::
kvac3
(
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
)
INTEGER
,
INTENT
(
IN
)
::
nv2
(
input
%
jspins
)
INTEGER
,
INTENT
(
IN
)
::
kvac3
(
DIMENSION
%
nv2d
,
input
%
jspins
)
COMPLEX
,
INTENT
(
IN
)
::
vxy
(
vacuum
%
nmzxyd
,
n2d_1
-1
)
COMPLEX
,
INTENT
(
OUT
)::
tddv
(
-
vM
:
vM
,
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
nv2d
)
COMPLEX
,
INTENT
(
OUT
)::
tduv
(
-
vM
:
vM
,
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
nv2d
)
COMPLEX
,
INTENT
(
OUT
)::
tudv
(
-
vM
:
vM
,
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
nv2d
)
COMPLEX
,
INTENT
(
OUT
)::
tuuv
(
-
vM
:
vM
,
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
nv2d
)
REAL
,
INTENT
(
IN
)
::
vz
(
vacuum
%
nmzd
,
2
,
4
)
,
evac
(
2
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
IN
)
::
vz
(
vacuum
%
nmzd
,
2
,
4
)
,
evac
(
2
,
input
%
jspins
)
REAL
,
INTENT
(
IN
)
::
bkpt
(
3
)
REAL
,
INTENT
(
OUT
)::
udz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
uz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
OUT
)::
dudz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
OUT
)::
duz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
OUT
)::
ddnv
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
OUT
)::
udz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
input
%
jspins
),
uz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
input
%
jspins
)
REAL
,
INTENT
(
OUT
)::
dudz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
input
%
jspins
)
REAL
,
INTENT
(
OUT
)::
duz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
input
%
jspins
)
REAL
,
INTENT
(
OUT
)::
ddnv
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
input
%
jspins
)
! ..
! .. Local Scalars ..
REAL
ev
,
scale
,
xv
,
yv
,
vzero
,
v1
,
wronk
...
...
@@ -57,12 +57,12 @@ CONTAINS
LOGICAL
tail
! ..
! .. Local Arrays ..
REAL
wdz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
wz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
)
REAL
dwdz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
dwz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
)
REAL
u
(
vacuum
%
nmzd
,
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
ud
(
vacuum
%
nmzd
,
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
)
REAL
wdz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
input
%
jspins
),
wz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
input
%
jspins
)
REAL
dwdz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
input
%
jspins
),
dwz
(
-
vM
:
vM
,
DIMENSION
%
nv2d
,
input
%
jspins
)
REAL
u
(
vacuum
%
nmzd
,
-
vM
:
vM
,
DIMENSION
%
nv2d
,
input
%
jspins
),
ud
(
vacuum
%
nmzd
,
-
vM
:
vM
,
DIMENSION
%
nv2d
,
input
%
jspins
)
REAL
v
(
3
),
x
(
vacuum
%
nmzd
)
REAL
vr0
(
vacuum
%
nmzd
,
2
,
4
)
REAL
w
(
vacuum
%
nmzd
,
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
),
wd
(
vacuum
%
nmzd
,
-
vM
:
vM
,
DIMENSION
%
nv2d
,
DIMENSION
%
jspd
)
REAL
w
(
vacuum
%
nmzd
,
-
vM
:
vM
,
DIMENSION
%
nv2d
,
input
%
jspins
),
wd
(
vacuum
%
nmzd
,
-
vM
:
vM
,
DIMENSION
%
nv2d
,
input
%
jspins
)
REAL
qssbti
(
2
)
! ..
...
...
eigen/rad_ovlp.f90
View file @
e169e840
...
...
@@ -25,8 +25,8 @@ MODULE m_radovlp
TYPE
(
t_usdus
),
INTENT
(
INOUT
)::
usdus
! .. Array Arguments ..
REAL
,
INTENT
(
IN
)::
epar
(
0
:,:,:)
!(0:atoms%lmaxd,atoms%ntype,
dimension%jspd
)
REAL
,
INTENT
(
IN
)::
vr
(:,
0
:,:,:)
!(atoms%jmtd,0:sphhar%nlhd,atoms%ntype,
dimension%jspd
)
REAL
,
INTENT
(
IN
)::
epar
(
0
:,:,:)
!(0:atoms%lmaxd,atoms%ntype,
input%jspins
)
REAL
,
INTENT
(
IN
)::
vr
(:,
0
:,:,:)
!(atoms%jmtd,0:sphhar%nlhd,atoms%ntype,
input%jspins
)
REAL
,
INTENT
(
OUT
)::
uun21
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
),
udn21
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
)
REAL
,
INTENT
(
OUT
)::
dun21
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
),
ddn21
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
)
! ..
...
...
eigen/vacfun.f90
View file @
e169e840
...
...
@@ -32,16 +32,16 @@ CONTAINS
REAL
,
INTENT
(
OUT
)
::
wronk
! ..
! .. Array Arguments ..
INTEGER
,
INTENT
(
IN
)
::
nv2
(
dimension
%
jspd
)
INTEGER
,
INTENT
(
IN
)
::
kvac1
(
dimension
%
nv2d
,
dimension
%
jspd
),
kvac2
(
dimension
%
nv2d
,
dimension
%
jspd
)
INTEGER
,
INTENT
(
IN
)
::
nv2
(
input
%
jspins
)
INTEGER
,
INTENT
(
IN
)
::
kvac1
(
dimension
%
nv2d
,
input
%
jspins
),
kvac2
(
dimension
%
nv2d
,
input
%
jspins
)
COMPLEX
,
INTENT
(
IN
)
::
vxy
(
vacuum
%
nmzxyd
,
stars
%
ng2
-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
)
REAL
,
INTENT
(
IN
)
::
vz
(
vacuum
%
nmzd
,
2
,
4
)
,
evac
(
2
,
input
%
jspins
)
REAL
,
INTENT
(
IN
)
::
bkpt
(
3
)
REAL
,
INTENT
(
OUT
)::
udz
(
dimension
%
nv2d
,
dimension
%
jspd
),
uz
(
dimension
%
nv2d
,
dimension
%
jspd
)
REAL
,
INTENT
(
OUT
)::
dudz
(
dimension
%
nv2d
,
dimension
%
jspd
),
duz
(
dimension
%
nv2d
,
dimension
%
jspd
)
REAL
,
INTENT
(
OUT
)::
ddnv
(
dimension
%
nv2d
,
dimension
%
jspd
)
REAL
,
INTENT
(
OUT
)::
udz
(
dimension
%
nv2d
,
input
%
jspins
),
uz
(
dimension
%
nv2d
,
input
%
jspins
)
REAL
,
INTENT
(
OUT
)::
dudz
(
dimension
%
nv2d
,
input
%
jspins
),
duz
(
dimension
%
nv2d
,
input
%
jspins
)
REAL
,
INTENT
(
OUT
)::
ddnv
(
dimension
%
nv2d
,
input
%
jspins
)
! ..
! .. Local Scalars ..
REAL
ev
,
scale
,
xv
,
yv
,
vzero
...
...
@@ -50,7 +50,7 @@ CONTAINS
LOGICAL
tail
! ..
! .. Local Arrays ..
REAL
u
(
vacuum
%
nmzd
,
dimension
%
nv2d
,
dimension
%
jspd
),
ud
(
vacuum
%
nmzd
,
dimension
%
nv2d
,
dimension
%
jspd
)
REAL
u
(
vacuum
%
nmzd
,
dimension
%
nv2d
,
input
%
jspins
),
ud
(
vacuum
%
nmzd
,
dimension
%
nv2d
,
input
%
jspins
)
REAL
v
(
3
),
x
(
vacuum
%
nmzd
),
qssbti
(
2
,
2
)
! ..
tail
=
.true.
...
...
eigen_secvar/aline.F90
View file @
e169e840
...
...
@@ -53,7 +53,7 @@ CONTAINS
INTEGER
,
INTENT
(
OUT
)::
ne
! ..
! .. Array Arguments ..
REAL
,
INTENT
(
IN
)
::
el
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
IN
)
::
el
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
,
input
%
jspins
)
REAL
,
INTENT
(
OUT
)
::
eig
(
DIMENSION
%
neigd
)
TYPE
(
t_mat
),
INTENT
(
IN
)::
hmat
,
smat
...
...
@@ -140,10 +140,10 @@ CONTAINS
!
CALL
timestart
(
"aline: hssr_wu"
)
IF
(
l_real
)
THEN
CALL
hssr_wu
(
atoms
,
DIMENSION
,
sym
,
jsp
,
el
,
ne
,
usdus
,
lapw
,&
CALL
hssr_wu
(
atoms
,
DIMENSION
,
sym
,
jsp
,
el
,
ne
,
usdus
,
lapw
,
input
,
&
tlmplm
,
acof
,
bcof
,
ccof
,
h_r
,
s_r
)
ELSE
CALL
hssr_wu
(
atoms
,
DIMENSION
,
sym
,
jsp
,
el
,
ne
,
usdus
,
lapw
,&
CALL
hssr_wu
(
atoms
,
DIMENSION
,
sym
,
jsp
,
el
,
ne
,
usdus
,
lapw
,
input
,
&
tlmplm
,
acof
,
bcof
,
ccof
,
h_c
=
h_c
,
s_c
=
s_c
)
ENDIF
...
...
eigen_secvar/hssr_wu.F90
View file @
e169e840
...
...
@@ -8,7 +8,7 @@ MODULE m_hssrwu
! r. wu 1992
!*********************************************************************
CONTAINS
SUBROUTINE
hssr_wu
(
atoms
,
DIMENSION
,
sym
,
jsp
,
el
,
ne
,
usdus
,
lapw
,&
SUBROUTINE
hssr_wu
(
atoms
,
DIMENSION
,
sym
,
jsp
,
el
,
ne
,
usdus
,
lapw
,
input
,
&
tlmplm
,
acof
,
bcof
,
ccof
,
h_r
,
s_r
,
h_c
,
s_c
)
!
USE
m_types
...
...
@@ -20,12 +20,13 @@ CONTAINS
TYPE
(
t_usdus
),
INTENT
(
IN
)
::
usdus
TYPE
(
t_tlmplm
),
INTENT
(
IN
)
::
tlmplm
TYPE
(
t_lapw
),
INTENT
(
IN
)
::
lapw
TYPE
(
t_input
),
INTENT
(
IN
)
::
input
! ..
! .. Scalar Arguments ..
INTEGER
,
INTENT
(
IN
)
::
jsp
,
ne
! ..
! .. Array Arguments ..
REAL
,
INTENT
(
IN
)
::
el
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
IN
)
::
el
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
,
input
%
jspins
)
COMPLEX
,
INTENT
(
IN
)
::
acof
(
DIMENSION
%
neigd
,
0
:
DIMENSION
%
lmd
,
atoms
%
nat
)
COMPLEX
,
INTENT
(
IN
)
::
bcof
(
DIMENSION
%
neigd
,
0
:
DIMENSION
%
lmd
,
atoms
%
nat
)
COMPLEX
,
INTENT
(
IN
)
::
ccof
(
-
atoms
%
llod
:
atoms
%
llod
,
DIMENSION
%
neigd
,
atoms
%
nlod
,
atoms
%
nat
)
...
...
eigen_soc/alineso.F90
View file @
e169e840
...
...
@@ -53,7 +53,7 @@ CONTAINS
! ..
! .. Local Arrays ..
INTEGER
::
nsz
(
2
)
REAL
::
eig
(
DIMENSION
%
neigd
,
DIMENSION
%
jspd
),
s
(
3
)
REAL
::
eig
(
DIMENSION
%
neigd
,
input
%
jspins
),
s
(
3
)
REAL
,
ALLOCATABLE
::
rwork
(:)
COMPLEX
,
ALLOCATABLE
::
cwork
(:),
chelp
(:,:,:,:,:)
COMPLEX
,
ALLOCATABLE
::
ahelp
(:,:,:,:),
bhelp
(:,:,:,:)
...
...
@@ -61,7 +61,7 @@ CONTAINS
COMPLEX
,
ALLOCATABLE
::
hso
(:,:),
hsomtx
(:,:,:,:)
COMPLEX
,
ALLOCATABLE
::
sigma_xc_apw
(:,:),
sigma_xc
(:,:)
TYPE
(
t_mat
)::
zmat
(
dimension
%
jspd
)
TYPE
(
t_mat
)::
zmat
(
input
%
jspins
)
! ..
! .. External Subroutines ..
EXTERNAL
CPP_LAPACK_cheev
...
...
@@ -76,7 +76,7 @@ CONTAINS
l_real
=
sym
%
invs
.and..not.
noco
%
l_noco
.and..not.
(
noco
%
l_soc
.and.
atoms
%
n_u
>
0
)
zmat
%
l_real
=
l_real
zMat
(
1
:
dimension
%
jspd
)
%
matsize1
=
lapw
%
nv
(
1
:
dimension
%
jspd
)
+
atoms
%
nlotot
zMat
(
1
:
input
%
jspins
)
%
matsize1
=
lapw
%
nv
(
1
:
input
%
jspins
)
+
atoms
%
nlotot
zmat
%
matsize2
=
dimension
%
neigd
INQUIRE
(
4649
,
opened
=
l_socvec
)
...
...
@@ -232,7 +232,7 @@ CONTAINS
IF
(
l_qsgw
)
THEN
nbas
=
lapw
%
nv
(
1
)
+
atoms
%
nlotot
WRITE
(
*
,
'(A,I3,A,I5,A)'
)
'Read fleur.qsgw ('
,
nk
,
','
,
nbas
,
')'
IF
(
DIMENSION
%
jspd
.EQ.
2
)
STOP
'alineso: GW+noco not implemented.'
IF
(
input
%
jspins
.EQ.
2
)
STOP
'alineso: GW+noco not implemented.'
ALLOCATE
(
sigma_xc
(
2
*
nsz
(
1
),
2
*
nsz
(
1
))
)
ALLOCATE
(
sigma_xc_apw
(
nbas
,
nbas
)
)
INQUIRE
(
667
,
opened
=
l_open
)
...
...
eigen_soc/eigenso.F90
View file @
e169e840
...
...
@@ -84,11 +84,11 @@ CONTAINS
! now the definition of rotation matrices
! is equivalent to the def in the noco-routines
ALLOCATE
(
usdus
%
us
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
,
DIMENSION
%
jspd
),
usdus
%
dus
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
,
DIMENSION
%
jspd
),&
usdus
%
uds
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
,
DIMENSION
%
jspd
),
usdus
%
duds
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
,
DIMENSION
%
jspd
),&
usdus
%
ddn
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
,
DIMENSION
%
jspd
),&
usdus
%
ulos
(
atoms
%
nlod
,
atoms
%
ntype
,
DIMENSION
%
jspd
),
usdus
%
dulos
(
atoms
%
nlod
,
atoms
%
ntype
,
DIMENSION
%
jspd
),&
usdus
%
uulon
(
atoms
%
nlod
,
atoms
%
ntype
,
DIMENSION
%
jspd
),
usdus
%
dulon
(
atoms
%
nlod
,
atoms
%
ntype
,
DIMENSION
%
jspd
))
ALLOCATE
(
usdus
%
us
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
,
input
%
jspins
),
usdus
%
dus
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
,
input
%
jspins
),&
usdus
%
uds
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
,
input
%
jspins
),
usdus
%
duds
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
,
input
%
jspins
),&
usdus
%
ddn
(
0
:
atoms
%
lmaxd
,
atoms
%
ntype
,
input
%
jspins
),&
usdus
%
ulos
(
atoms
%
nlod
,
atoms
%
ntype
,
input
%
jspins
),
usdus
%
dulos
(
atoms
%
nlod
,
atoms
%
ntype
,
input
%
jspins
),&
usdus
%
uulon
(
atoms
%
nlod
,
atoms
%
ntype
,
input
%
jspins
),
usdus
%
dulon
(
atoms
%
nlod
,
atoms
%
ntype
,
input
%
jspins
))
IF
(
input
%
l_wann
.OR.
l_socvec
)
THEN
wannierspin
=
2
...
...
eigen_soc/hsoham.F90
View file @
e169e840
...
...
@@ -27,7 +27,7 @@ CONTAINS
! ..