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
529e4e3d
Commit
529e4e3d
authored
Jan 17, 2017
by
Daniel Wortmann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Started to clean types...
removed: weight, natd, nkpts,nkptd
parent
f8449286
Changes
127
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
127 changed files
with
870 additions
and
872 deletions
+870
-872
cdn/cdnovlp.F90
cdn/cdnovlp.F90
+12
-12
cdn/cdntot.f90
cdn/cdntot.f90
+2
-2
cdn/cdnval.F90
cdn/cdnval.F90
+72
-72
cdn/eparas.f90
cdn/eparas.f90
+10
-10
cdn/m_perp.f90
cdn/m_perp.f90
+5
-5
cdn/n_mat.f90
cdn/n_mat.f90
+1
-1
cdn/pwden.F90
cdn/pwden.F90
+3
-3
cdn/pwint_sl.f90
cdn/pwint_sl.f90
+1
-1
cdn/q_int_sl.F90
cdn/q_int_sl.F90
+3
-3
cdn/q_mt_sl.f90
cdn/q_mt_sl.f90
+7
-7
cdn/qal_21.f90
cdn/qal_21.f90
+12
-12
cdn/qpw_to_nmt.f90
cdn/qpw_to_nmt.f90
+4
-4
cdn/slab_dim.f90
cdn/slab_dim.f90
+2
-2
cdn/slabgeom.f90
cdn/slabgeom.f90
+1
-1
cdn/vacden.F90
cdn/vacden.F90
+2
-2
cdn_mt/abclocdn.F90
cdn_mt/abclocdn.F90
+8
-8
cdn_mt/abclocdn1.F90
cdn_mt/abclocdn1.F90
+7
-7
cdn_mt/abclocdn_pulay.F90
cdn_mt/abclocdn_pulay.F90
+11
-11
cdn_mt/abcof.F90
cdn_mt/abcof.F90
+7
-7
cdn_mt/abcof3.F90
cdn_mt/abcof3.F90
+7
-7
cdn_mt/abcrot2.f90
cdn_mt/abcrot2.f90
+3
-3
cdn_mt/cdnmt.f90
cdn_mt/cdnmt.f90
+40
-40
cdn_mt/orb_comp2.f90
cdn_mt/orb_comp2.f90
+5
-5
cdn_mt/rhomt.f90
cdn_mt/rhomt.f90
+3
-3
cdn_mt/rhomt21.f90
cdn_mt/rhomt21.f90
+3
-3
cdn_mt/rhomtlo.f90
cdn_mt/rhomtlo.f90
+5
-5
cdn_mt/rhonmt21.f90
cdn_mt/rhonmt21.f90
+4
-4
cdn_mt/rhonmtlo.f90
cdn_mt/rhonmtlo.f90
+6
-6
core/ccdnup.f90
core/ccdnup.f90
+4
-4
core/cored.F90
core/cored.F90
+3
-3
core/coredr.F90
core/coredr.F90
+7
-7
core/etabinit.F90
core/etabinit.F90
+3
-3
diagonalization/locrectify.F90
diagonalization/locrectify.F90
+4
-4
dos/Ek_write_sl.f90
dos/Ek_write_sl.f90
+5
-5
dos/cdninf.f90
dos/cdninf.f90
+4
-4
dos/doswrite.f90
dos/doswrite.f90
+5
-5
dos/evaldos.f90
dos/evaldos.f90
+16
-16
eigen/eigen.F90
eigen/eigen.F90
+31
-31
eigen/hsmt.F90
eigen/hsmt.F90
+4
-4
eigen/hsmt_extra.F90
eigen/hsmt_extra.F90
+1
-1
eigen/hsmt_sph.F90
eigen/hsmt_sph.F90
+5
-5
eigen/hsmt_sph_new.F90
eigen/hsmt_sph_new.F90
+2
-2
eigen/lodpot.f90
eigen/lodpot.f90
+5
-5
eigen/rad_ovlp.f90
eigen/rad_ovlp.f90
+4
-4
eigen/setabc1locdn.f90
eigen/setabc1locdn.f90
+6
-6
eigen/setabc1locdn1.f90
eigen/setabc1locdn1.f90
+5
-5
eigen/slomat.F90
eigen/slomat.F90
+2
-2
eigen/tlmplm.F90
eigen/tlmplm.F90
+3
-3
eigen/tlo.f90
eigen/tlo.f90
+2
-2
eigen_secvar/aline.F90
eigen_secvar/aline.F90
+3
-3
eigen_secvar/hssr_wu.F90
eigen_secvar/hssr_wu.F90
+4
-4
eigen_soc/alineso.F90
eigen_soc/alineso.F90
+14
-14
eigen_soc/eigenso.f90
eigen_soc/eigenso.f90
+22
-22
eigen_soc/hsoham.f90
eigen_soc/hsoham.f90
+15
-15
eigen_soc/hsohelp.F90
eigen_soc/hsohelp.F90
+6
-6
eigen_soc/soinit.f90
eigen_soc/soinit.f90
+10
-10
eigen_soc/sorad.f90
eigen_soc/sorad.f90
+9
-9
eigen_soc/spnorb.f90
eigen_soc/spnorb.f90
+10
-10
fermi/fergwt.f90
fermi/fergwt.f90
+2
-2
fermi/ferhis.f90
fermi/ferhis.f90
+7
-7
fermi/fermie.F90
fermi/fermie.F90
+3
-3
force/force_a12.f90
force/force_a12.f90
+7
-7
force/force_a21.F90
force/force_a21.F90
+9
-9
force/force_a21_U.f90
force/force_a21_U.f90
+7
-7
force/force_a21_lo.f90
force/force_a21_lo.f90
+7
-7
force/force_a3.f90
force/force_a3.f90
+3
-3
force/force_a4.f90
force/force_a4.f90
+2
-2
force/force_a4_add.f90
force/force_a4_add.f90
+1
-1
force/force_a8.F90
force/force_a8.F90
+4
-4
force/force_b8.f90
force/force_b8.f90
+1
-1
force/force_sf.F90
force/force_sf.F90
+9
-9
force/force_w.f90
force/force_w.f90
+1
-1
force/geo.f90
force/geo.f90
+5
-5
force/to_pulay.F90
force/to_pulay.F90
+14
-14
global/checkdop.F90
global/checkdop.F90
+1
-1
global/qfix.f90
global/qfix.f90
+1
-1
global/radflo.F90
global/radflo.F90
+3
-3
global/types.F90
global/types.F90
+0
-5
init/bandstr1.F
init/bandstr1.F
+5
-5
init/dimen7.F90
init/dimen7.F90
+8
-8
init/dimens.F90
init/dimens.F90
+11
-11
init/gen_map.f90
init/gen_map.f90
+2
-2
init/gkptwgt.f90
init/gkptwgt.f90
+5
-5
init/initParallelProcesses.F90
init/initParallelProcesses.F90
+8
-8
init/inped.F90
init/inped.F90
+5
-5
init/inpeig.f90
init/inpeig.f90
+2
-2
init/inpeig_dim.f90
init/inpeig_dim.f90
+2
-2
init/julia.f90
init/julia.f90
+4
-4
init/mapatom.F90
init/mapatom.F90
+1
-1
init/od_mapatom.F90
init/od_mapatom.F90
+1
-1
init/parawrite.f90
init/parawrite.f90
+2
-2
init/setup.f90
init/setup.f90
+5
-5
inpgen/set_inp.f90
inpgen/set_inp.f90
+8
-8
io/loddop.f90
io/loddop.f90
+1
-1
io/r_inpXML.F90
io/r_inpXML.F90
+29
-29
io/rw_inp.f90
io/rw_inp.f90
+2
-2
io/w_inpXML.f90
io/w_inpXML.f90
+4
-4
io/wrtdop.f90
io/wrtdop.f90
+1
-1
main/cdngen.f90
main/cdngen.f90
+7
-7
main/fleur.F90
main/fleur.F90
+5
-5
main/fleur_info.f90
main/fleur_info.f90
+4
-0
main/fleur_init.F90
main/fleur_init.F90
+38
-39
main/mix.F90
main/mix.F90
+2
-2
main/totale.f90
main/totale.f90
+2
-2
main/vgen.F90
main/vgen.F90
+7
-7
mix/brysh1.f90
mix/brysh1.f90
+2
-2
mix/brysh2.f90
mix/brysh2.f90
+1
-1
mix/potdis.f90
mix/potdis.f90
+1
-1
mpi/mpi_bc_all.F90
mpi/mpi_bc_all.F90
+49
-49
mpi/mpi_bc_st.F90
mpi/mpi_bc_st.F90
+3
-3
mpi/mpi_col_den.F90
mpi/mpi_col_den.F90
+35
-35
mpi/mpi_make_groups.F90
mpi/mpi_make_groups.F90
+6
-6
optional/outcdn.f90
optional/outcdn.f90
+1
-1
optional/pldngen.f90
optional/pldngen.f90
+2
-2
optional/plotdop.f90
optional/plotdop.f90
+2
-2
optional/stden.f90
optional/stden.f90
+11
-11
orbdep/mcd_init.f90
orbdep/mcd_init.f90
+4
-4
orbdep/orbmom.f90
orbdep/orbmom.f90
+6
-6
vgen/mpmom.F90
vgen/mpmom.F90
+4
-4
vgen/pot_mod.f90
vgen/pot_mod.f90
+1
-1
vgen/psqpw.F90
vgen/psqpw.F90
+6
-6
vgen/rhodirgen.f90
vgen/rhodirgen.f90
+1
-1
vgen/vmatgen.f90
vgen/vmatgen.f90
+1
-1
vgen/vmts.F90
vgen/vmts.F90
+6
-6
vgen/vmtxc.f90
vgen/vmtxc.f90
+4
-4
vgen/vmtxcg.F90
vgen/vmtxcg.F90
+4
-4
vgen/write_xcstuff.f90
vgen/write_xcstuff.f90
+2
-2
No files found.
cdn/cdnovlp.F90
View file @
529e4e3d
...
...
@@ -111,9 +111,9 @@
! .. Array Arguments ..
COMPLEX
,
INTENT
(
INOUT
)
::
qpw
(
stars
%
n3d
,
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
%
ntyp
d
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
INOUT
)
::
rho
(
atoms
%
jmtd
,
0
:
sphhar
%
nlhd
,
atoms
%
ntyp
e
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
INOUT
)
::
rht
(
vacuum
%
nmzd
,
2
,
DIMENSION
%
jspd
)
REAL
,
INTENT
(
INOUT
)
::
rh
(
DIMENSION
%
msh
,
atoms
%
ntyp
d
)
REAL
,
INTENT
(
INOUT
)
::
rh
(
DIMENSION
%
msh
,
atoms
%
ntyp
e
)
! ..
! .. Local Scalars ..
COMPLEX
czero
,
carg
,
VALUE
,
slope
,
ci
...
...
@@ -126,9 +126,9 @@
! ..
! .. Local Arrays ..
COMPLEX
,
ALLOCATABLE
::
qpwc
(:)
REAL
acoff
(
atoms
%
ntyp
d
),
alpha
(
atoms
%
ntypd
),
rho_out
(
2
)
REAL
rat
(
DIMENSION
%
msh
,
atoms
%
ntyp
d
)
INTEGER
mshc
(
atoms
%
ntyp
d
)
REAL
acoff
(
atoms
%
ntyp
e
),
alpha
(
atoms
%
ntype
),
rho_out
(
2
)
REAL
rat
(
DIMENSION
%
msh
,
atoms
%
ntyp
e
)
INTEGER
mshc
(
atoms
%
ntyp
e
)
REAL
fJ
(
-
oneD
%
odi
%
M
:
oneD
%
odi
%
M
),
dfJ
(
-
oneD
%
odi
%
M
:
oneD
%
odi
%
M
)
! ..
DATA
czero
/(
0.0
,
0.0
)/,
zero
/
0.0
/,
tol_14
/
1.0e-10
/
!-14
...
...
@@ -175,7 +175,7 @@
! (2) cut_off core tails from noise
!
#ifdef CPP_MPI
CALL
MPI_BCAST
(
rh
,
DIMENSION
%
msh
*
atoms
%
ntyp
d
,
CPP_MPI_REAL
,
0
,
mpi
%
mpi_comm
,
ierr
)
CALL
MPI_BCAST
(
rh
,
DIMENSION
%
msh
*
atoms
%
ntyp
e
,
CPP_MPI_REAL
,
0
,
mpi
%
mpi_comm
,
ierr
)
#endif
nloop
:
DO
n
=
1
,
atoms
%
ntype
IF
((
atoms
%
ncst
(
n
)
.GT.
0
)
.OR.
l_st
)
THEN
...
...
@@ -490,13 +490,13 @@
type
(
t_mpi
)
,
intent
(
in
)
::
mpi
type
(
t_dimension
),
intent
(
in
)
::
DIMENSION
type
(
t_atoms
)
,
intent
(
in
)
::
atoms
integer
,
intent
(
in
)
::
mshc
(
atoms
%
ntyp
d
)
real
,
intent
(
in
)
::
alpha
(
atoms
%
ntyp
d
),
tol_14
real
,
intent
(
in
)
::
rh
(
DIMENSION
%
msh
,
atoms
%
ntyp
d
)
real
,
intent
(
in
)
::
acoff
(
atoms
%
ntyp
d
)
integer
,
intent
(
in
)
::
mshc
(
atoms
%
ntyp
e
)
real
,
intent
(
in
)
::
alpha
(
atoms
%
ntyp
e
),
tol_14
real
,
intent
(
in
)
::
rh
(
DIMENSION
%
msh
,
atoms
%
ntyp
e
)
real
,
intent
(
in
)
::
acoff
(
atoms
%
ntyp
e
)
type
(
t_stars
)
,
intent
(
in
)
::
stars
integer
,
intent
(
in
)
::
method2
real
,
intent
(
in
)
::
rat
(
DIMENSION
%
msh
,
atoms
%
ntyp
d
)
real
,
intent
(
in
)
::
rat
(
DIMENSION
%
msh
,
atoms
%
ntyp
e
)
type
(
t_cell
)
,
intent
(
in
)
::
cell
type
(
t_oneD
)
,
intent
(
in
)
::
oneD
type
(
t_sym
)
,
intent
(
in
)
::
sym
...
...
@@ -551,7 +551,7 @@
END
DO
END
IF
CALL
StructureConst_forAtom
(
nat1
,
stars
,
oneD
,
sym
,&
atoms
%
neq
(
n
),
atoms
%
nat
d
,
atoms
%
taual
,&
atoms
%
neq
(
n
),
atoms
%
nat
,
atoms
%
taual
,&
cell
,
qf
,
qpwc_at
)
#ifdef CPP_MPI
DO
k
=
1
,
stars
%
n3d
...
...
cdn/cdntot.f90
View file @
529e4e3d
...
...
@@ -32,7 +32,7 @@
! ..
! .. Array Arguments ..
COMPLEX
,
INTENT
(
IN
)
::
qpw
(
stars
%
n3d
,
input
%
jspins
)
REAL
,
INTENT
(
IN
)
::
rho
(:,
0
:,:,:)
!(atoms%jmtd,0:sphhar%nlhd,atoms%ntyp
d
,input%jspins)
REAL
,
INTENT
(
IN
)
::
rho
(:,
0
:,:,:)
!(atoms%jmtd,0:sphhar%nlhd,atoms%ntyp
e
,input%jspins)
REAL
,
INTENT
(
IN
)
::
rht
(
vacuum
%
nmzd
,
2
,
input
%
jspins
)
!-odim
!+odim
...
...
@@ -44,7 +44,7 @@
INTEGER
i
,
ivac
,
j
,
jspin
,
n
,
nz
! ..
! .. Local Arrays ..
REAL
qmt
(
atoms
%
ntyp
d
),
qvac
(
2
),
q2
(
vacuum
%
nmz
),
rht1
(
vacuum
%
nmzd
,
2
,
input
%
jspins
)
REAL
qmt
(
atoms
%
ntyp
e
),
qvac
(
2
),
q2
(
vacuum
%
nmz
),
rht1
(
vacuum
%
nmzd
,
2
,
input
%
jspins
)
INTEGER
,
ALLOCATABLE
::
lengths
(:,:)
CHARACTER
(
LEN
=
20
)
::
attributes
(
6
),
names
(
6
)
! ..
...
...
cdn/cdnval.F90
View file @
529e4e3d
...
...
@@ -116,12 +116,12 @@ CONTAINS
COMPLEX
,
INTENT
(
INOUT
)
::
cdom
(
stars
%
n3d
)
COMPLEX
,
INTENT
(
INOUT
)
::
cdomvz
(
vacuum
%
nmzd
,
2
)
COMPLEX
,
INTENT
(
INOUT
)
::
cdomvxy
(
vacuum
%
nmzxyd
,
oneD
%
odi
%
n2d
-1
,
2
)
COMPLEX
,
INTENT
(
INOUT
)
::
qa21
(
atoms
%
ntyp
d
)
COMPLEX
,
INTENT
(
INOUT
)
::
qa21
(
atoms
%
ntyp
e
)
INTEGER
,
INTENT
(
IN
)
::
igq_fft
(
0
:
stars
%
kq1d
*
stars
%
kq2d
*
stars
%
kq3d
-1
)
REAL
,
INTENT
(
IN
)
::
vz
(
vacuum
%
nmzd
,
2
)
REAL
,
INTENT
(
IN
)
::
vr
(
atoms
%
jmtd
,
0
:
sphhar
%
nlhd
,
atoms
%
ntyp
d
,
dimension
%
jspd
)
REAL
,
INTENT
(
OUT
)
::
chmom
(
atoms
%
ntyp
d
,
dimension
%
jspd
),
clmom
(
3
,
atoms
%
ntypd
,
dimension
%
jspd
)
REAL
,
INTENT
(
INOUT
)
::
rho
(
atoms
%
jmtd
,
0
:
sphhar
%
nlhd
,
atoms
%
ntyp
d
,
dimension
%
jspd
)
REAL
,
INTENT
(
IN
)
::
vr
(
atoms
%
jmtd
,
0
:
sphhar
%
nlhd
,
atoms
%
ntyp
e
,
dimension
%
jspd
)
REAL
,
INTENT
(
OUT
)
::
chmom
(
atoms
%
ntyp
e
,
dimension
%
jspd
),
clmom
(
3
,
atoms
%
ntype
,
dimension
%
jspd
)
REAL
,
INTENT
(
INOUT
)
::
rho
(
atoms
%
jmtd
,
0
:
sphhar
%
nlhd
,
atoms
%
ntyp
e
,
dimension
%
jspd
)
REAL
,
INTENT
(
INOUT
)
::
rht
(
vacuum
%
nmzd
,
2
,
dimension
%
jspd
)
COMPLEX
,
INTENT
(
INOUT
)
::
n_mmp
(
-3
:
3
,
-3
:
3
,
atoms
%
n_u
)
...
...
@@ -140,14 +140,14 @@ CONTAINS
COMPLEX
,
parameter
::
czero
=
(
0.0
,
0.0
)
LOGICAL
l_fmpl
,
l_mcd
,
l_evp
,
l_orbcomprot
! ...Local Arrays ..
INTEGER
n_bands
(
0
:
dimension
%
neigd
),
ncore
(
atoms
%
ntyp
d
)
REAL
cartk
(
3
),
bkpt
(
3
),
xp
(
3
,
dimension
%
nspd
),
e_mcd
(
atoms
%
ntyp
d
,
input
%
jspins
,
dimension
%
nstd
)
REAL
ello
(
atoms
%
nlod
,
atoms
%
ntyp
d
,
dimension
%
jspd
),
evac
(
2
,
dimension
%
jspd
)
REAL
epar
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
d
,
dimension
%
jspd
),
evdu
(
2
,
dimension
%
jspd
)
INTEGER
n_bands
(
0
:
dimension
%
neigd
),
ncore
(
atoms
%
ntyp
e
)
REAL
cartk
(
3
),
bkpt
(
3
),
xp
(
3
,
dimension
%
nspd
),
e_mcd
(
atoms
%
ntyp
e
,
input
%
jspins
,
dimension
%
nstd
)
REAL
ello
(
atoms
%
nlod
,
atoms
%
ntyp
e
,
dimension
%
jspd
),
evac
(
2
,
dimension
%
jspd
)
REAL
epar
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
e
,
dimension
%
jspd
),
evdu
(
2
,
dimension
%
jspd
)
REAL
eig
(
dimension
%
neigd
)
REAL
vz0
(
2
)
REAL
uuilon
(
atoms
%
nlod
,
atoms
%
ntyp
d
),
duilon
(
atoms
%
nlod
,
atoms
%
ntypd
)
REAL
ulouilopn
(
atoms
%
nlod
,
atoms
%
nlod
,
atoms
%
ntyp
d
)
REAL
uuilon
(
atoms
%
nlod
,
atoms
%
ntyp
e
),
duilon
(
atoms
%
nlod
,
atoms
%
ntype
)
REAL
ulouilopn
(
atoms
%
nlod
,
atoms
%
nlod
,
atoms
%
ntyp
e
)
INTEGER
,
PARAMETER
::
n2max_nstm3
=
13
...
...
@@ -209,15 +209,15 @@ CONTAINS
!---> added. if l_mperp = F, these loops run only from jspin - jspin.
jsp_start
=
1
jsp_end
=
2
ALLOCATE
(
mt21
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
d
),
lo21
(
atoms
%
nlod
,
atoms
%
ntypd
)
)
! Deallocation at end of subroutine
ALLOCATE
(
uloulopn21
(
atoms
%
nlod
,
atoms
%
nlod
,
atoms
%
ntyp
d
)
)
ALLOCATE
(
uloulop21
(
atoms
%
nlod
,
atoms
%
nlod
,
atoms
%
ntyp
d
)
)
ALLOCATE
(
qmat
(
0
:
3
,
atoms
%
ntyp
d
,
dimension
%
neigd
,
4
)
)
ALLOCATE
(
mt21
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
e
),
lo21
(
atoms
%
nlod
,
atoms
%
ntype
)
)
! Deallocation at end of subroutine
ALLOCATE
(
uloulopn21
(
atoms
%
nlod
,
atoms
%
nlod
,
atoms
%
ntyp
e
)
)
ALLOCATE
(
uloulop21
(
atoms
%
nlod
,
atoms
%
nlod
,
atoms
%
ntyp
e
)
)
ALLOCATE
(
qmat
(
0
:
3
,
atoms
%
ntyp
e
,
dimension
%
neigd
,
4
)
)
IF
(
l_fmpl
)
THEN
ALLOCATE
(
uunmt21
((
atoms
%
lmaxd
+1
)
**
2
,
sphhar
%
nlhd
,
atoms
%
ntyp
d
)
)
ALLOCATE
(
ddnmt21
((
atoms
%
lmaxd
+1
)
**
2
,
sphhar
%
nlhd
,
atoms
%
ntyp
d
)
)
ALLOCATE
(
dunmt21
((
atoms
%
lmaxd
+1
)
**
2
,
sphhar
%
nlhd
,
atoms
%
ntyp
d
)
)
ALLOCATE
(
udnmt21
((
atoms
%
lmaxd
+1
)
**
2
,
sphhar
%
nlhd
,
atoms
%
ntyp
d
)
)
ALLOCATE
(
uunmt21
((
atoms
%
lmaxd
+1
)
**
2
,
sphhar
%
nlhd
,
atoms
%
ntyp
e
)
)
ALLOCATE
(
ddnmt21
((
atoms
%
lmaxd
+1
)
**
2
,
sphhar
%
nlhd
,
atoms
%
ntyp
e
)
)
ALLOCATE
(
dunmt21
((
atoms
%
lmaxd
+1
)
**
2
,
sphhar
%
nlhd
,
atoms
%
ntyp
e
)
)
ALLOCATE
(
udnmt21
((
atoms
%
lmaxd
+1
)
**
2
,
sphhar
%
nlhd
,
atoms
%
ntyp
e
)
)
ELSE
ALLOCATE
(
uunmt21
(
1
,
1
,
1
),
ddnmt21
(
1
,
1
,
1
)
)
ALLOCATE
(
dunmt21
(
1
,
1
,
1
),
udnmt21
(
1
,
1
,
1
)
)
...
...
@@ -235,31 +235,31 @@ CONTAINS
!
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
(
usdus
%
us
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
usdus
%
uds
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
usdus
%
dus
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
usdus
%
duds
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
usdus
%
ddn
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
usdus
%
us
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
usdus
%
uds
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
usdus
%
dus
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
usdus
%
duds
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
usdus
%
ddn
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
lapw
%
k1
(
dimension
%
nvd
,
dimension
%
jspd
),
lapw
%
k2
(
dimension
%
nvd
,
dimension
%
jspd
),
lapw
%
k3
(
dimension
%
nvd
,
dimension
%
jspd
)
)
ALLOCATE
(
jsym
(
dimension
%
neigd
),
ksym
(
dimension
%
neigd
)
)
ALLOCATE
(
gvac1d
(
dimension
%
nv2d
),
gvac2d
(
dimension
%
nv2d
)
)
ALLOCATE
(
usdus
%
ulos
(
atoms
%
nlod
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
usdus
%
dulos
(
atoms
%
nlod
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
usdus
%
uulon
(
atoms
%
nlod
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
usdus
%
dulon
(
atoms
%
nlod
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
usdus
%
uloulopn
(
atoms
%
nlod
,
atoms
%
nlod
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
uu
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
dd
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
du
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
uunmt
(
0
:
llpd
,
sphhar
%
nlhd
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
ddnmt
(
0
:
llpd
,
sphhar
%
nlhd
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
dunmt
(
0
:
llpd
,
sphhar
%
nlhd
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
udnmt
(
0
:
llpd
,
sphhar
%
nlhd
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
qal
(
0
:
3
,
atoms
%
ntyp
d
,
dimension
%
neigd
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
sqal
(
0
:
3
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
ener
(
0
:
3
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
sqlo
(
atoms
%
nlod
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
enerlo
(
atoms
%
nlod
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
usdus
%
ulos
(
atoms
%
nlod
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
usdus
%
dulos
(
atoms
%
nlod
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
usdus
%
uulon
(
atoms
%
nlod
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
usdus
%
dulon
(
atoms
%
nlod
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
usdus
%
uloulopn
(
atoms
%
nlod
,
atoms
%
nlod
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
uu
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
dd
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
du
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
uunmt
(
0
:
llpd
,
sphhar
%
nlhd
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
ddnmt
(
0
:
llpd
,
sphhar
%
nlhd
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
dunmt
(
0
:
llpd
,
sphhar
%
nlhd
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
udnmt
(
0
:
llpd
,
sphhar
%
nlhd
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
qal
(
0
:
3
,
atoms
%
ntyp
e
,
dimension
%
neigd
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
sqal
(
0
:
3
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
ener
(
0
:
3
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
sqlo
(
atoms
%
nlod
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
enerlo
(
atoms
%
nlod
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
svac
(
2
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
pvac
(
2
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
qstars
(
vacuum
%
nstars
,
dimension
%
neigd
,
vacuum
%
layerd
,
2
)
)
...
...
@@ -285,9 +285,9 @@ CONTAINS
sqal
(:,:,:)
=
0.0
;
ener
(:,:,:)
=
0.0
!+soc
IF
(
noco
%
l_soc
)
THEN
ALLOCATE
(
orb
(
0
:
atoms
%
lmaxd
,
-
atoms
%
lmaxd
:
atoms
%
lmaxd
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
orbl
(
atoms
%
nlod
,
-
atoms
%
llod
:
atoms
%
llod
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
orblo
(
atoms
%
nlod
,
atoms
%
nlod
,
-
atoms
%
llod
:
atoms
%
llod
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
))
ALLOCATE
(
orb
(
0
:
atoms
%
lmaxd
,
-
atoms
%
lmaxd
:
atoms
%
lmaxd
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
orbl
(
atoms
%
nlod
,
-
atoms
%
llod
:
atoms
%
llod
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
orblo
(
atoms
%
nlod
,
atoms
%
nlod
,
-
atoms
%
llod
:
atoms
%
llod
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
))
orb
(:,:,:,:)
%
uu
=
0.0
;
orb
(:,:,:,:)
%
dd
=
0.0
orb
(:,:,:,:)
%
uum
=
czero
;
orb
(:,:,:,:)
%
uup
=
czero
orb
(:,:,:,:)
%
ddm
=
czero
;
orb
(:,:,:,:)
%
ddp
=
czero
...
...
@@ -303,8 +303,8 @@ CONTAINS
ENDIF
!+for
IF
(
input
%
l_f
)
THEN
ALLOCATE
(
f_a12
(
3
,
atoms
%
ntyp
d
),
f_a21
(
3
,
atoms
%
ntypd
)
)
ALLOCATE
(
f_b4
(
3
,
atoms
%
ntyp
d
),
f_b8
(
3
,
atoms
%
ntypd
)
)
ALLOCATE
(
f_a12
(
3
,
atoms
%
ntyp
e
),
f_a21
(
3
,
atoms
%
ntype
)
)
ALLOCATE
(
f_b4
(
3
,
atoms
%
ntyp
e
),
f_b8
(
3
,
atoms
%
ntype
)
)
f_b4
(:,:)
=
czero
;
f_a12
(:,:)
=
czero
f_b8
(:,:)
=
czero
;
f_a21
(:,:)
=
czero
ELSE
...
...
@@ -316,8 +316,8 @@ CONTAINS
OPEN
(
23
,
file
=
'mcd_inp'
,
STATUS
=
'old'
,
FORM
=
'formatted'
)
READ
(
23
,
*
)
emcd_lo
,
emcd_up
CLOSE
(
23
)
ALLOCATE
(
m_mcd
(
dimension
%
nstd
,(
3+1
)
**
2
,
3
*
atoms
%
ntyp
d
,
2
)
)
ALLOCATE
(
mcd
(
3
*
atoms
%
ntyp
d
,
dimension
%
nstd
,
dimension
%
neigd
)
)
ALLOCATE
(
m_mcd
(
dimension
%
nstd
,(
3+1
)
**
2
,
3
*
atoms
%
ntyp
e
,
2
)
)
ALLOCATE
(
mcd
(
3
*
atoms
%
ntyp
e
,
dimension
%
nstd
,
dimension
%
neigd
)
)
IF
(
.not.
banddos
%
dos
)
WRITE
(
*
,
*
)
'For mcd-spectra set banddos%dos=T!'
ELSE
ALLOCATE
(
m_mcd
(
1
,
1
,
1
,
1
),
mcd
(
1
,
1
,
1
)
)
...
...
@@ -341,18 +341,18 @@ CONTAINS
!+lo
!---> if local orbitals are used, the eigenvector has a higher
!---> dimension then nvd
ALLOCATE
(
aclo
(
atoms
%
nlod
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
),
&
bclo
(
atoms
%
nlod
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
),&
cclo
(
atoms
%
nlod
,
atoms
%
nlod
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
),&
acnmt
(
0
:
atoms
%
lmaxd
,
atoms
%
nlod
,
sphhar
%
nlhd
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
),
&
bcnmt
(
0
:
atoms
%
lmaxd
,
atoms
%
nlod
,
sphhar
%
nlhd
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
),
&
ccnmt
(
atoms
%
nlod
,
atoms
%
nlod
,
sphhar
%
nlhd
,
atoms
%
ntyp
d
,
jsp_start
:
jsp_end
)
)
ALLOCATE
(
aclo
(
atoms
%
nlod
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
),
&
bclo
(
atoms
%
nlod
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
),&
cclo
(
atoms
%
nlod
,
atoms
%
nlod
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
),&
acnmt
(
0
:
atoms
%
lmaxd
,
atoms
%
nlod
,
sphhar
%
nlhd
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
),
&
bcnmt
(
0
:
atoms
%
lmaxd
,
atoms
%
nlod
,
sphhar
%
nlhd
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
),
&
ccnmt
(
atoms
%
nlod
,
atoms
%
nlod
,
sphhar
%
nlhd
,
atoms
%
ntyp
e
,
jsp_start
:
jsp_end
)
)
aclo
(:,:,:)
=
0.0
;
bclo
(:,:,:)
=
0.0
;
ccnmt
(:,:,:,:,:)
=
0.0
acnmt
(:,:,:,:,:)
=
0.0
;
bcnmt
(:,:,:,:,:)
=
0.0
;
cclo
(:,:,:,:)
=
0.0
ALLOCATE
(
qis
(
dimension
%
neigd
,
kpts
%
nkpt
d
,
dimension
%
jspd
),
&
qvac
(
dimension
%
neigd
,
2
,
kpts
%
nkpt
d
,
dimension
%
jspd
),
&
qvlay
(
dimension
%
neigd
,
vacuum
%
layerd
,
2
,
kpts
%
nkpt
d
,
dimension
%
jspd
)
)
ALLOCATE
(
qis
(
dimension
%
neigd
,
kpts
%
nkpt
,
dimension
%
jspd
),
&
qvac
(
dimension
%
neigd
,
2
,
kpts
%
nkpt
,
dimension
%
jspd
),
&
qvlay
(
dimension
%
neigd
,
vacuum
%
layerd
,
2
,
kpts
%
nkpt
,
dimension
%
jspd
)
)
qvac
(:,:,:,:)
=
0.0
;
qvlay
(:,:,:,:,:)
=
0.0
skip_tt
=
dot_product
(
enpara
%
skiplo
(:
atoms
%
ntype
,
jspin
),
atoms
%
neq
(:
atoms
%
ntype
))
...
...
@@ -426,7 +426,7 @@ CONTAINS
IF
((
banddos
%
ndir
.EQ.
-3
)
.AND.
banddos
%
dos
)
THEN
IF
(
oneD
%
odi
%
d1
)
CALL
juDFT_error
(
"layer-resolved feature does not work with 1D"
,
calledby
=
"cdnval"
)
CALL
slab_dim
(
atoms
,
nsld
)
ALLOCATE
(
nmtsl
(
atoms
%
ntyp
d
,
nsld
),
nslat
(
atoms
%
natd
,
nsld
)
)
ALLOCATE
(
nmtsl
(
atoms
%
ntyp
e
,
nsld
),
nslat
(
atoms
%
nat
,
nsld
)
)
ALLOCATE
(
zsl
(
2
,
nsld
),
volsl
(
nsld
)
)
ALLOCATE
(
volintsl
(
nsld
)
)
CALL
slabgeom
(&
...
...
@@ -435,8 +435,8 @@ CONTAINS
ALLOCATE
(
qintsl
(
nsld
,
dimension
%
neigd
))
ALLOCATE
(
qmtsl
(
nsld
,
dimension
%
neigd
))
ALLOCATE
(
orbcomp
(
dimension
%
neigd
,
23
,
atoms
%
nat
d
)
)
ALLOCATE
(
qmtp
(
dimension
%
neigd
,
atoms
%
nat
d
)
)
ALLOCATE
(
orbcomp
(
dimension
%
neigd
,
23
,
atoms
%
nat
)
)
ALLOCATE
(
qmtp
(
dimension
%
neigd
,
atoms
%
nat
)
)
IF
(
.NOT.
input
%
film
)
qvac
(:,:,:,
jspin
)
=
0.0
ELSE
ALLOCATE
(
nmtsl
(
1
,
1
),
nslat
(
1
,
1
),
zsl
(
1
,
1
),
volsl
(
1
),
volintsl
(
1
))
...
...
@@ -678,27 +678,27 @@ CONTAINS
!---> valence density in the atomic spheres
!---> construct a(tilta) and b(tilta)
IF
(
noco
%
l_mperp
)
THEN
ALLOCATE
(
acof
(
noccbd
,
0
:
dimension
%
lmd
,
atoms
%
nat
d
,
dimension
%
jspd
),&
ALLOCATE
(
acof
(
noccbd
,
0
:
dimension
%
lmd
,
atoms
%
nat
,
dimension
%
jspd
),&
! Deallocated before call to sympsi
bcof
(
noccbd
,
0
:
dimension
%
lmd
,
atoms
%
nat
d
,
dimension
%
jspd
),
&
ccof
(
-
atoms
%
llod
:
atoms
%
llod
,
noccbd
,
atoms
%
nlod
,
atoms
%
nat
d
,
dimension
%
jspd
)
)
bcof
(
noccbd
,
0
:
dimension
%
lmd
,
atoms
%
nat
,
dimension
%
jspd
),
&
ccof
(
-
atoms
%
llod
:
atoms
%
llod
,
noccbd
,
atoms
%
nlod
,
atoms
%
nat
,
dimension
%
jspd
)
)
ELSE
ALLOCATE
(
acof
(
noccbd
,
0
:
dimension
%
lmd
,
atoms
%
nat
d
,
jspin
:
jspin
),&
bcof
(
noccbd
,
0
:
dimension
%
lmd
,
atoms
%
nat
d
,
jspin
:
jspin
),&
ccof
(
-
atoms
%
llod
:
atoms
%
llod
,
noccbd
,
atoms
%
nlod
,
atoms
%
nat
d
,
jspin
:
jspin
)
)
ALLOCATE
(
acof
(
noccbd
,
0
:
dimension
%
lmd
,
atoms
%
nat
,
jspin
:
jspin
),&
bcof
(
noccbd
,
0
:
dimension
%
lmd
,
atoms
%
nat
,
jspin
:
jspin
),&
ccof
(
-
atoms
%
llod
:
atoms
%
llod
,
noccbd
,
atoms
%
nlod
,
atoms
%
nat
,
jspin
:
jspin
)
)
END
IF
DO
ispin
=
jsp_start
,
jsp_end
IF
(
input
%
l_f
)
THEN
CALL
timestart
(
"cdnval: to_pulay"
)
ALLOCATE
(
e1cof
(
noccbd
,
0
:
atoms
%
lmaxd
*
(
atoms
%
lmaxd
+2
),
atoms
%
nat
d
),&
ALLOCATE
(
e1cof
(
noccbd
,
0
:
atoms
%
lmaxd
*
(
atoms
%
lmaxd
+2
),
atoms
%
nat
),&
! Deallocated after call to force_a21
e2cof
(
noccbd
,
0
:
atoms
%
lmaxd
*
(
atoms
%
lmaxd
+2
),
atoms
%
nat
d
),&
acoflo
(
-
atoms
%
llod
:
atoms
%
llod
,
noccbd
,
atoms
%
nlod
,
atoms
%
nat
d
),&
bcoflo
(
-
atoms
%
llod
:
atoms
%
llod
,
noccbd
,
atoms
%
nlod
,
atoms
%
nat
d
),&
aveccof
(
3
,
noccbd
,
0
:
atoms
%
lmaxd
*
(
atoms
%
lmaxd
+2
),
atoms
%
nat
d
),&
bveccof
(
3
,
noccbd
,
0
:
atoms
%
lmaxd
*
(
atoms
%
lmaxd
+2
),
atoms
%
nat
d
),&
cveccof
(
3
,
-
atoms
%
llod
:
atoms
%
llod
,
noccbd
,
atoms
%
nlod
,
atoms
%
nat
d
)
)
e2cof
(
noccbd
,
0
:
atoms
%
lmaxd
*
(
atoms
%
lmaxd
+2
),
atoms
%
nat
),&
acoflo
(
-
atoms
%
llod
:
atoms
%
llod
,
noccbd
,
atoms
%
nlod
,
atoms
%
nat
),&
bcoflo
(
-
atoms
%
llod
:
atoms
%
llod
,
noccbd
,
atoms
%
nlod
,
atoms
%
nat
),&
aveccof
(
3
,
noccbd
,
0
:
atoms
%
lmaxd
*
(
atoms
%
lmaxd
+2
),
atoms
%
nat
),&
bveccof
(
3
,
noccbd
,
0
:
atoms
%
lmaxd
*
(
atoms
%
lmaxd
+2
),
atoms
%
nat
),&
cveccof
(
3
,
-
atoms
%
llod
:
atoms
%
llod
,
noccbd
,
atoms
%
nlod
,
atoms
%
nat
)
)
CALL
to_pulay
(
input
,
atoms
,
noccbd
,
sym
,
lapw
,
noco
,
cell
,
bkpt
,
noccbd
,
eig
,
usdus
,&
kveclo
,
ispin
,
oneD
,
acof
(:,
0
:,:,
ispin
),
bcof
(:,
0
:,:,
ispin
),&
e1cof
,
e2cof
,
aveccof
,
bveccof
,
ccof
(
-
atoms
%
llod
,
1
,
1
,
1
,
ispin
),
acoflo
,
bcoflo
,
cveccof
,
zMat
,
l_real
)
...
...
cdn/eparas.f90
View file @
529e4e3d
...
...
@@ -37,17 +37,17 @@ CONTAINS
LOGICAL
,
INTENT
(
IN
)
::
l_mcd
,
l_evp
! ..
! .. Array Arguments ..
INTEGER
,
INTENT
(
IN
)
::
ncore
(
atoms
%
ntyp
d
)
INTEGER
,
INTENT
(
IN
)
::
ncore
(
atoms
%
ntyp
e
)
REAL
,
INTENT
(
IN
)
::
eig
(:)
!(dimension%neigd),
REAL
,
INTENT
(
IN
)
::
we
(
noccbd
)
COMPLEX
,
INTENT
(
IN
)
::
ccof
(
-
atoms
%
llod
:
atoms
%
llod
,
noccbd
,
atoms
%
nlod
,
atoms
%
nat
d
)
COMPLEX
,
INTENT
(
IN
)
::
acof
(:,
0
:,:)
!(noccbd,0:dimension%lmd,atoms%nat
d
)
COMPLEX
,
INTENT
(
IN
)
::
bcof
(:,
0
:,:)
!(noccbd,0:dimension%lmd,atoms%nat
d
)
COMPLEX
,
INTENT
(
IN
)
::
ccof
(
-
atoms
%
llod
:
atoms
%
llod
,
noccbd
,
atoms
%
nlod
,
atoms
%
nat
)
COMPLEX
,
INTENT
(
IN
)
::
acof
(:,
0
:,:)
!(noccbd,0:dimension%lmd,atoms%nat)
COMPLEX
,
INTENT
(
IN
)
::
bcof
(:,
0
:,:)
!(noccbd,0:dimension%lmd,atoms%nat)
COMPLEX
,
INTENT
(
IN
)
::
m_mcd
(:,:,:,:)
!(dimension%nstd,(3+1)**2,3*ntypd ,2)
REAL
,
INTENT
(
OUT
)
::
enerlo
(
atoms
%
nlod
,
atoms
%
ntyp
d
),
sqlo
(
atoms
%
nlod
,
atoms
%
ntypd
)
REAL
,
INTENT
(
OUT
)
::
ener
(
0
:
3
,
atoms
%
ntyp
d
),
sqal
(
0
:
3
,
atoms
%
ntypd
)
REAL
,
INTENT
(
OUT
)
::
qal
(
0
:,:,:)
!(0:3,atoms%ntyp
d
,dimension%neigd)
REAL
,
INTENT
(
OUT
)
::
mcd
(:,:,:)
!(3*atoms%ntyp
d
,dimension%nstd,dimension%neigd)
REAL
,
INTENT
(
OUT
)
::
enerlo
(
atoms
%
nlod
,
atoms
%
ntyp
e
),
sqlo
(
atoms
%
nlod
,
atoms
%
ntype
)
REAL
,
INTENT
(
OUT
)
::
ener
(
0
:
3
,
atoms
%
ntyp
e
),
sqal
(
0
:
3
,
atoms
%
ntype
)
REAL
,
INTENT
(
OUT
)
::
qal
(
0
:,:,:)
!(0:3,atoms%ntyp
e
,dimension%neigd)
REAL
,
INTENT
(
OUT
)
::
mcd
(:,:,:)
!(3*atoms%ntyp
e
,dimension%nstd,dimension%neigd)
! ..
! .. Local Scalars ..
...
...
@@ -57,8 +57,8 @@ CONTAINS
COMPLEX
suma
,
sumb
,
sumab
,
sumba
! ..
! .. Local Arrays ..
REAL
qlo
(
noccbd
,
atoms
%
nlod
,
atoms
%
nlod
,
atoms
%
ntyp
d
)
REAL
qaclo
(
noccbd
,
atoms
%
nlod
,
atoms
%
ntyp
d
),
qbclo
(
noccbd
,
atoms
%
nlod
,
atoms
%
ntypd
)
REAL
qlo
(
noccbd
,
atoms
%
nlod
,
atoms
%
nlod
,
atoms
%
ntyp
e
)
REAL
qaclo
(
noccbd
,
atoms
%
nlod
,
atoms
%
ntyp
e
),
qbclo
(
noccbd
,
atoms
%
nlod
,
atoms
%
ntype
)
! ..
!
!---> initialize ener, sqal, enerlo and sqlo on first call
...
...
cdn/m_perp.f90
View file @
529e4e3d
...
...
@@ -29,10 +29,10 @@ CONTAINS
INTEGER
,
INTENT
(
IN
)
::
itype
! ..
! .. Array Arguments ..
REAL
,
INTENT
(
IN
)
::
chmom
(:,:)
!(atoms%ntyp
d
,dimension%jspd)
REAL
,
INTENT
(
IN
)
::
alphdiff
(
atoms
%
ntyp
d
)
REAL
,
INTENT
(
IN
)
::
vr0
(:,:,:)
!(atoms%jmtd,atoms%ntyp
d
,jspd)
COMPLEX
,
INTENT
(
IN
)
::
qa21
(
atoms
%
ntyp
d
)
REAL
,
INTENT
(
IN
)
::
chmom
(:,:)
!(atoms%ntyp
e
,dimension%jspd)
REAL
,
INTENT
(
IN
)
::
alphdiff
(
atoms
%
ntyp
e
)
REAL
,
INTENT
(
IN
)
::
vr0
(:,:,:)
!(atoms%jmtd,atoms%ntyp
e
,jspd)
COMPLEX
,
INTENT
(
IN
)
::
qa21
(
atoms
%
ntyp
e
)
! ..
! .. Local Scalars ..
INTEGER
iri
...
...
@@ -42,7 +42,7 @@ CONTAINS
COMPLEX
rho21
! ..
! .. Local Arrays ..
REAL
b_xc_h
(
atoms
%
jmtd
),
b_xav
(
atoms
%
ntyp
d
)
REAL
b_xc_h
(
atoms
%
jmtd
),
b_xav
(
atoms
%
ntyp
e
)
!---> calculated the comp. of the local moment vector
...
...
cdn/n_mat.f90
View file @
529e4e3d
...
...
@@ -29,7 +29,7 @@ CONTAINS
REAL
,
INTENT
(
IN
)
::
we
(:)
!(dimension%neigd)
COMPLEX
,
INTENT
(
IN
)
::
acof
(:,
0
:,:)
!(nobd,0:atoms%lmaxd*(lmaxd+2) ,natd)
COMPLEX
,
INTENT
(
IN
)
::
bcof
(:,
0
:,:)
!(nobd,0:atoms%lmaxd*(lmaxd+2) ,natd)
COMPLEX
,
INTENT
(
IN
)
::
ccof
(
-
atoms
%
llod
:,:,:,:)
!(-llod:llod,nobd,atoms%nlod,atoms%nat
d
)
COMPLEX
,
INTENT
(
IN
)
::
ccof
(
-
atoms
%
llod
:,:,:,:)
!(-llod:llod,nobd,atoms%nlod,atoms%nat)
COMPLEX
,
INTENT
(
INOUT
)
::
n_mmp
(
-3
:
3
,
-3
:
3
,
atoms
%
n_u
)
! ..
! .. Local Scalars ..
...
...
cdn/pwden.F90
View file @
529e4e3d
...
...
@@ -103,9 +103,9 @@ CONTAINS
INTEGER
,
INTENT
(
IN
)
::
ikpt
,
jspin
COMPLEX
,
INTENT
(
INOUT
)
::
qpw
(:,:)
!(stars%n3d,dimension%jspd)
COMPLEX
,
INTENT
(
INOUT
)
::
cdom
(:)
!(stars%n3d)
REAL
,
INTENT
(
OUT
)
::
qis
(:,:,:)
!(dimension%neigd,kpts%nkpt
d
,dimension%jspd)
COMPLEX
,
INTENT
(
INOUT
)
::
f_b8
(
3
,
atoms
%
ntyp
d
)
REAL
,
INTENT
(
INOUT
)
::
forces
(:,:,:)
!(3,atoms%ntyp
d
,dimension%jspd)
REAL
,
INTENT
(
OUT
)
::
qis
(:,:,:)
!(dimension%neigd,kpts%nkpt,dimension%jspd)
COMPLEX
,
INTENT
(
INOUT
)
::
f_b8
(
3
,
atoms
%
ntyp
e
)
REAL
,
INTENT
(
INOUT
)
::
forces
(:,:,:)
!(3,atoms%ntyp
e
,dimension%jspd)
!
!-----> LOCAL VARIABLES
!
...
...
cdn/pwint_sl.f90
View file @
529e4e3d
...
...
@@ -21,7 +21,7 @@ CONTAINS
! ..
! .. Array Arguments ..
INTEGER
,
INTENT
(
IN
)
::
kv
(
3
)
INTEGER
,
INTENT
(
IN
)
::
nmtsl1
(
atoms
%
ntyp
d
)
INTEGER
,
INTENT
(
IN
)
::
nmtsl1
(
atoms
%
ntyp
e
)
! ..
! .. Local Scalars ..
COMPLEX
s1
,
sfs
...
...
cdn/q_int_sl.F90
View file @
529e4e3d
...
...
@@ -26,9 +26,9 @@ CONTAINS
INTEGER
,
INTENT
(
IN
)
::
ne
,
isp
,
nsl
! ..
! .. Array Arguments ..
INTEGER
,
INTENT
(
IN
)
::
nmtsl
(
atoms
%
ntyp
d
,
nsl
)
REAL
,
INTENT
(
IN
)
::
volintsl
(
atoms
%
nat
d
)
REAL
,
INTENT
(
IN
)
::
zsl
(
2
,
atoms
%
nat
d
)
,
volsl
(
atoms
%
natd
)
INTEGER
,
INTENT
(
IN
)
::
nmtsl
(
atoms
%
ntyp
e
,
nsl
)
REAL
,
INTENT
(
IN
)
::
volintsl
(
atoms
%
nat
)
REAL
,
INTENT
(
IN
)
::
zsl
(
2
,
atoms
%
nat
)
,
volsl
(
atoms
%
nat
)
REAL
,
INTENT
(
OUT
)::
qintslk
(:,:)
!(nsl,dimension%neigd)
LOGICAL
,
OPTIONAL
,
INTENT
(
IN
)
::
realdata
! ..
...
...
cdn/q_mt_sl.f90
View file @
529e4e3d
...
...
@@ -21,10 +21,10 @@ CONTAINS
INTEGER
,
INTENT
(
IN
)
::
nsl
,
nsld
! ..
! .. Array Arguments ..
COMPLEX
,
INTENT
(
IN
)
::
ccof
(
-
atoms
%
llod
:
atoms
%
llod
,
nobd
,
atoms
%
nlod
,
atoms
%
nat
d
)
COMPLEX
,
INTENT
(
IN
)
::
acof
(:,
0
:,:)
!(nobd,0:dimension%lmd,atoms%nat
d
)
COMPLEX
,
INTENT
(
IN
)
::
bcof
(:,
0
:,:)
!(nobd,0:dimension%lmd,atoms%nat
d
)
INTEGER
,
INTENT
(
IN
)
::
nmtsl
(
atoms
%
ntyp
d
,
atoms
%
natd
)
COMPLEX
,
INTENT
(
IN
)
::
ccof
(
-
atoms
%
llod
:
atoms
%
llod
,
nobd
,
atoms
%
nlod
,
atoms
%
nat
)
COMPLEX
,
INTENT
(
IN
)
::
acof
(:,
0
:,:)
!(nobd,0:dimension%lmd,atoms%nat)
COMPLEX
,
INTENT
(
IN
)
::
bcof
(:,
0
:,:)
!(nobd,0:dimension%lmd,atoms%nat)
INTEGER
,
INTENT
(
IN
)
::
nmtsl
(
atoms
%
ntyp
e
,
atoms
%
nat
)
REAL
,
INTENT
(
OUT
)
::
qmtslk
(:,:)
!(nsl,dimension%neigd)
! ..
! .. Local Scalars ..
...
...
@@ -41,9 +41,9 @@ CONTAINS
INTRINSIC
conjg
,
cmplx
ALLOCATE
(
qlo
(
nobd
,
atoms
%
nlod
,
atoms
%
ntyp
d
),
qmt
(
atoms
%
ntypd
,
SIZE
(
qmtslk
,
2
))
)
ALLOCATE
(
qaclo
(
nobd
,
atoms
%
nlod
,
atoms
%
ntyp
d
),
qbclo
(
nobd
,
atoms
%
nlod
,
atoms
%
ntypd
)
)
ALLOCATE
(
qmttot
(
atoms
%
ntyp
d
,
SIZE
(
qmtslk
,
2
)),
qmtlo
(
atoms
%
ntypd
,
SIZE
(
qmtslk
,
2
))
)
ALLOCATE
(
qlo
(
nobd
,
atoms
%
nlod
,
atoms
%
ntyp
e
),
qmt
(
atoms
%
ntype
,
SIZE
(
qmtslk
,
2
))
)
ALLOCATE
(
qaclo
(
nobd
,
atoms
%
nlod
,
atoms
%
ntyp
e
),
qbclo
(
nobd
,
atoms
%
nlod
,
atoms
%
ntype
)
)
ALLOCATE
(
qmttot
(
atoms
%
ntyp
e
,
SIZE
(
qmtslk
,
2
)),
qmtlo
(
atoms
%
ntype
,
SIZE
(
qmtslk
,
2
))
)
!
!---> l-decomposed density for each valence state
!
...
...
cdn/qal_21.f90
View file @
529e4e3d
...
...
@@ -19,14 +19,14 @@ CONTAINS
INTEGER
,
INTENT
(
IN
)
::
noccbd
! ..
! .. Array Arguments ..
REAL
,
INTENT
(
INout
)
::
we
(
noccbd
),
qal
(
0
:,:,:,:)
!(0:3,atoms%ntyp
d
,DIMENSION%neigd,input%jspins)
REAL
,
INTENT
(
IN
)
::
uloulopn21
(
atoms
%
nlod
,
atoms
%
nlod
,
atoms
%
ntyp
d
)
COMPLEX
,
INTENT
(
IN
)
::
ccof
(
-
atoms
%
llod
:
atoms
%
llod
,
noccbd
,
atoms
%
nlod
,
atoms
%
nat
d
,
input
%
jspins
)
COMPLEX
,
INTENT
(
IN
)
::
acof
(:,
0
:,:,:)
!(noccbd,0:DIMENSION%lmd,atoms%nat
d
,input%jspins)
COMPLEX
,
INTENT
(
IN
)
::
bcof
(:,
0
:,:,:)
!(noccbd,0:DIMENSION%lmd,atoms%nat
d
,input%jspins)
REAL
,
INTENT
(
OUT
)
::
qmat
(
0
:,:,:,:)
!(0:3,atoms%ntyp
d
,DIMENSION%neigd,4)
TYPE
(
t_mt21
),
INTENT
(
IN
)
::
mt21
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
d
)
TYPE
(
t_lo21
),
INTENT
(
IN
)
::
lo21
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
d
)
REAL
,
INTENT
(
INout
)
::
we
(
noccbd
),
qal
(
0
:,:,:,:)
!(0:3,atoms%ntyp
e
,DIMENSION%neigd,input%jspins)
REAL
,
INTENT
(
IN
)
::
uloulopn21
(
atoms
%
nlod
,
atoms
%
nlod
,
atoms
%
ntyp
e
)
COMPLEX
,
INTENT
(
IN
)
::
ccof
(
-
atoms
%
llod
:
atoms
%
llod
,
noccbd
,
atoms
%
nlod
,
atoms
%
nat
,
input
%
jspins
)
COMPLEX
,
INTENT
(
IN
)
::
acof
(:,
0
:,:,:)
!(noccbd,0:DIMENSION%lmd,atoms%nat,input%jspins)
COMPLEX
,
INTENT
(
IN
)
::
bcof
(:,
0
:,:,:)
!(noccbd,0:DIMENSION%lmd,atoms%nat,input%jspins)
REAL
,
INTENT
(
OUT
)
::
qmat
(
0
:,:,:,:)
!(0:3,atoms%ntyp
e
,DIMENSION%neigd,4)
TYPE
(
t_mt21
),
INTENT
(
IN
)
::
mt21
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
e
)
TYPE
(
t_lo21
),
INTENT
(
IN
)
::
lo21
(
0
:
atoms
%
lmaxd
,
atoms
%
ntyp
e
)
! ..
! .. Local Scalars ..
...
...
@@ -38,10 +38,10 @@ CONTAINS
! ..
! .. Local Arrays ..
COMPLEX
qlo
(
noccbd
,
atoms
%
nlod
,
atoms
%
nlod
,
atoms
%
ntyp
d
)
COMPLEX
qaclo
(
noccbd
,
atoms
%
nlod
,
atoms
%
ntyp
d
),
qbclo
(
noccbd
,
atoms
%
nlod
,
atoms
%
ntypd
)
COMPLEX
qcloa
(
noccbd
,
atoms
%
nlod
,
atoms
%
ntyp
d
),
qclob
(
noccbd
,
atoms
%
nlod
,
atoms
%
ntypd
)
COMPLEX
qal21
(
0
:
3
,
atoms
%
ntyp
d
,
size
(
qmat
,
3
))