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
52
Issues
52
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
6d1970a5
Commit
6d1970a5
authored
Sep 26, 2017
by
Gregor Michalicek
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
First try to make core spectrum inp.xml input functional
...hope, it works.
parent
549f89f9
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
45 additions
and
22 deletions
+45
-22
cdn/cdnval.F90
cdn/cdnval.F90
+4
-2
eels/corespec_io.f90
eels/corespec_io.f90
+6
-2
force/geo.f90
force/geo.f90
+2
-1
io/r_inpXML.F90
io/r_inpXML.F90
+15
-3
main/cdngen.F90
main/cdngen.F90
+5
-4
main/fleur.F90
main/fleur.F90
+9
-8
main/fleur_init.F90
main/fleur_init.F90
+4
-2
No files found.
cdn/cdnval.F90
View file @
6d1970a5
...
...
@@ -2,7 +2,7 @@ MODULE m_cdnval
use
m_juDFT
CONTAINS
SUBROUTINE
cdnval
(
eig_id
,
mpi
,
kpts
,
jspin
,
sliceplot
,
noco
,
input
,
banddos
,
cell
,
atoms
,
enpara
,
stars
,&
vacuum
,
dimension
,
sphhar
,
sym
,
obsolete
,
igq_fft
,
vr
,
vz
,
oneD
,
n_mmp
,
results
,
qpw
,
rhtxy
,&
vacuum
,
dimension
,
sphhar
,
sym
,
obsolete
,
igq_fft
,
vr
,
vz
,
oneD
,
coreSpecInput
,
n_mmp
,
results
,
qpw
,
rhtxy
,&
rho
,
rht
,
cdom
,
cdomvz
,
cdomvxy
,
qvac
,
qvlay
,
qa21
,
chmom
,
clmom
)
!
! ***********************************************************
...
...
@@ -110,6 +110,8 @@ CONTAINS
TYPE
(
t_kpts
),
INTENT
(
IN
)
::
kpts
TYPE
(
t_sphhar
),
INTENT
(
IN
)
::
sphhar
TYPE
(
t_atoms
),
INTENT
(
IN
)
::
atoms
TYPE
(
t_coreSpecInput
),
INTENT
(
IN
)
::
coreSpecInput
! .. Scalar Arguments ..
INTEGER
,
INTENT
(
IN
)
::
eig_id
,
jspin
...
...
@@ -328,7 +330,7 @@ CONTAINS
ENDIF
! calculation of core spectra (EELS) initializations -start-
CALL
corespec_init
(
atoms
)
CALL
corespec_init
(
input
,
atoms
,
coreSpecInput
)
IF
(
l_cs
.AND.
(
mpi
%
isize
.NE.
1
))
CALL
juDFT_error
(
'EELS + MPI not implemented'
,
calledby
=
'cdnval'
)
IF
(
l_cs
.AND.
jspin
.EQ.
1
)
CALL
corespec_gaunt
()
! calculation of core spectra (EELS) initializations -end-
...
...
eels/corespec_io.f90
View file @
6d1970a5
...
...
@@ -20,11 +20,13 @@ MODULE m_corespec_io
!
!-------------------------------------------------------------------------------
!
SUBROUTINE
corespec_init
(
atoms
)
SUBROUTINE
corespec_init
(
input
,
atoms
,
coreSpecInput
)
IMPLICIT
NONE
TYPE
(
t_atoms
),
INTENT
(
IN
)
::
atoms
TYPE
(
t_input
),
INTENT
(
IN
)
::
input
TYPE
(
t_atoms
),
INTENT
(
IN
)
::
atoms
TYPE
(
t_coreSpecInput
),
INTENT
(
IN
)
::
coreSpecInput
INTEGER
::
ui
,
i
LOGICAL
::
lexist
...
...
@@ -53,6 +55,8 @@ MODULE m_corespec_io
open
(
ui
,
file
=
"corespec_inp"
,
status
=
'old'
)
read
(
ui
,
nml
=
csinp
)
close
(
ui
)
else
if
(
input
%
l_coreSpec
)
THEN
csi
=
coreSpecInput
else
return
endif
...
...
force/geo.f90
View file @
6d1970a5
...
...
@@ -85,6 +85,7 @@ CONTAINS
TYPE
(
t_kpts
)
::
kpts_temp
TYPE
(
t_hybrid
)
::
hybrid_temp
TYPE
(
t_oneD
)
::
oneD_temp
TYPE
(
t_coreSpecInput
)
::
coreSpecInput_temp
TYPE
(
t_wann
)
::
wann_temp
LOGICAL
::
l_kpts_temp
INTEGER
::
numSpecies
...
...
@@ -234,7 +235,7 @@ CONTAINS
ALLOCATE
(
xmlCoreOccs
(
1
,
1
,
1
))
CALL
r_inpXML
(
atoms_temp
,
obsolete_temp
,
vacuum_temp
,
input_temp
,
stars_temp
,
sliceplot_temp
,&
banddos_temp
,
dimension_temp
,
cell_temp
,
sym_temp
,
xcpot_temp
,
noco_temp
,
Jij_temp
,&
oneD_temp
,
hybrid_temp
,
kpts_temp
,
enpara_temp
,
wann_temp
,
noel_temp
,&
oneD_temp
,
hybrid_temp
,
kpts_temp
,
enpara_temp
,
coreSpecInput_temp
,
wann_temp
,
noel_temp
,&
namex_temp
,
relcor_temp
,
a1_temp
,
a2_temp
,
a3_temp
,
scale_temp
,
dtild_temp
,
xmlElectronStates
,&
xmlPrintCoreStates
,
xmlCoreOccs
,
atomTypeSpecies
,
speciesRepAtomType
,
l_kpts_temp
)
numSpecies
=
SIZE
(
speciesRepAtomType
)
...
...
io/r_inpXML.F90
View file @
6d1970a5
...
...
@@ -15,7 +15,7 @@ MODULE m_rinpXML
CONTAINS
SUBROUTINE
r_inpXML
(&
atoms
,
obsolete
,
vacuum
,
input
,
stars
,
sliceplot
,
banddos
,
dimension
,&
cell
,
sym
,
xcpot
,
noco
,
jij
,
oneD
,
hybrid
,
kpts
,
enpara
,
wann
,&
cell
,
sym
,
xcpot
,
noco
,
jij
,
oneD
,
hybrid
,
kpts
,
enpara
,
coreSpecInput
,
wann
,&
noel
,
namex
,
relcor
,
a1
,
a2
,
a3
,
scale
,
dtild
,
xmlElectronStates
,&
xmlPrintCoreStates
,
xmlCoreOccs
,
atomTypeSpecies
,
speciesRepAtomType
,&
l_kpts
)
...
...
@@ -55,6 +55,7 @@ SUBROUTINE r_inpXML(&
TYPE
(
t_noco
),
INTENT
(
INOUT
)
::
noco
TYPE
(
t_dimension
),
INTENT
(
OUT
)
::
dimension
TYPE
(
t_enpara
)
,
INTENT
(
OUT
)
::
enpara
TYPE
(
t_coreSpecInput
),
INTENT
(
OUT
)
::
coreSpecInput
TYPE
(
t_wann
)
,
INTENT
(
INOUT
)
::
wann
LOGICAL
,
INTENT
(
OUT
)
::
l_kpts
INTEGER
,
ALLOCATABLE
,
INTENT
(
INOUT
)
::
xmlElectronStates
(:,:)
...
...
@@ -111,7 +112,7 @@ SUBROUTINE r_inpXML(&
INTEGER
::
atomicNumber
,
coreStates
,
gridPoints
,
lmax
,
lnonsphr
,
lmaxAPW
INTEGER
::
latticeDef
,
symmetryDef
,
nop48
,
firstAtomOfType
,
errorStatus
INTEGER
::
loEDeriv
,
ntp1
,
ios
,
ntst
,
jrc
,
minNeigd
,
providedCoreStates
,
providedStates
INTEGER
::
nv
,
nv2
,
kq1
,
kq2
,
kq3
,
nprncTemp
,
kappaTemp
INTEGER
::
nv
,
nv2
,
kq1
,
kq2
,
kq3
,
nprncTemp
,
kappaTemp
,
tempInt
INTEGER
::
ldau_l
(
4
),
numVac
,
numU
INTEGER
::
speciesEParams
(
0
:
3
)
INTEGER
::
mrotTemp
(
3
,
3
,
48
)
...
...
@@ -1653,6 +1654,8 @@ SUBROUTINE r_inpXML(&
banddos
%
band
=
.FALSE.
banddos
%
vacdos
=
.FALSE.
sliceplot
%
slice
=
.FALSE.
input
%
l_coreSpec
=
.FALSE.
input
%
l_wann
=
.FALSE.
input
%
vchk
=
.FALSE.
input
%
cdinf
=
.FALSE.
...
...
@@ -1791,7 +1794,16 @@ SUBROUTINE r_inpXML(&
END
IF
IF
(
numberNodes
.EQ.
1
)
THEN
CALL
juDFT_error
(
"Reading in eels input not yet implemented!"
,
calledby
=
"r_inpXML"
)
coreSpecInput
%
verb
=
evaluateFirstBoolOnly
(
xmlGetAttributeValue
(
TRIM
(
ADJUSTL
(
xPathA
))//
'/@verbose'
))
coreSpecInput
%
ek0
=
evaluateFirstOnly
(
xmlGetAttributeValue
(
TRIM
(
ADJUSTL
(
xPathA
))//
'/@eKin'
))
coreSpecInput
%
atomType
=
evaluateFirstIntOnly
(
xmlGetAttributeValue
(
TRIM
(
ADJUSTL
(
xPathA
))//
'/@atomType'
))
coreSpecInput
%
lx
=
evaluateFirstIntOnly
(
xmlGetAttributeValue
(
TRIM
(
ADJUSTL
(
xPathA
))//
'/@lmax'
))
coreSpecInput
%
edge
=
TRIM
(
ADJUSTL
(
xmlGetAttributeValue
(
TRIM
(
ADJUSTL
(
xPathA
))//
'/@edgeType'
)))
coreSpecInput
%
edgeidx
=
evaluateFirstIntOnly
(
xmlGetAttributeValue
(
TRIM
(
ADJUSTL
(
xPathA
))//
'/@edgeIndex'
))
coreSpecInput
%
emn
=
evaluateFirstOnly
(
xmlGetAttributeValue
(
TRIM
(
ADJUSTL
(
xPathA
))//
'/@eMin'
))
coreSpecInput
%
emx
=
evaluateFirstOnly
(
xmlGetAttributeValue
(
TRIM
(
ADJUSTL
(
xPathA
))//
'/@eMax'
))
tempInt
=
evaluateFirstIntOnly
(
xmlGetAttributeValue
(
TRIM
(
ADJUSTL
(
xPathA
))//
'/@numPoints'
))
coreSpecInput
%
ein
=
(
coreSpecInput
%
emx
-
coreSpecInput
%
emn
)
/
(
tempInt
-
1.0
)
END
IF
! Read in optional Wannier functions parameters
...
...
main/cdngen.F90
View file @
6d1970a5
...
...
@@ -6,9 +6,9 @@
MODULE
m_cdngen
use
m_juDFT
CONTAINS
SUBROUTINE
cdngen
(
eig_id
,
mpi
,
input
,
banddos
,
sliceplot
,
vacuum
,&
dimension
,
kpts
,
atoms
,
sphhar
,
stars
,
sym
,
obsolete
,&
enpara
,
cell
,
noco
,
jij
,
results
,
oneD
)
SUBROUTINE
cdngen
(
eig_id
,
mpi
,
input
,
banddos
,
sliceplot
,
vacuum
,&
dimension
,
kpts
,
atoms
,
sphhar
,
stars
,
sym
,
obsolete
,&
enpara
,
cell
,
noco
,
jij
,
results
,
oneD
,
coreSpecInput
)
!
! *****************************************************
! Charge density generator
...
...
@@ -55,6 +55,7 @@
TYPE
(
t_kpts
),
INTENT
(
IN
)
::
kpts
TYPE
(
t_sphhar
),
INTENT
(
IN
)
::
sphhar
TYPE
(
t_atoms
),
INTENT
(
IN
)
::
atoms
TYPE
(
t_coreSpecInput
),
INTENT
(
IN
)
::
coreSpecInput
! .. Scalar Arguments ..
INTEGER
,
INTENT
(
IN
)
::
eig_id
...
...
@@ -181,7 +182,7 @@
CALL
timestart
(
"cdngen: cdnval"
)
CALL
cdnval
(
eig_id
,&
mpi
,
kpts
,
jspin
,
sliceplot
,
noco
,
input
,
banddos
,
cell
,
atoms
,
enpara
,
stars
,
vacuum
,
dimension
,&
sphhar
,
sym
,
obsolete
,
igq_fft
,
vr
,
vz
(:,:,
jspin
),
oneD
,&
sphhar
,
sym
,
obsolete
,
igq_fft
,
vr
,
vz
(:,:,
jspin
),
oneD
,
coreSpecInput
,&
n_mmp
(
-3
:,
-3
:,:,
jspin
),
results
,
qpw
,
rhtxy
,
rho
,
rht
,
cdom
,
cdomvz
,
cdomvxy
,
qvac
,
qvlay
,
qa21
,
chmom
,
clmom
)
CALL
timestop
(
"cdngen: cdnval"
)
!-fo
...
...
main/fleur.F90
View file @
6d1970a5
...
...
@@ -97,6 +97,7 @@ CONTAINS
TYPE
(
t_hybrid
)
::
hybrid
TYPE
(
t_oneD
)
::
oneD
TYPE
(
t_mpi
)
::
mpi
TYPE
(
t_coreSpecInput
)
::
coreSpecInput
TYPE
(
t_wann
)
::
wann
TYPE
(
t_potden
)
::
v
,
vx
...
...
@@ -120,8 +121,8 @@ CONTAINS
CALL
timestart
(
"Initialization"
)
CALL
fleur_init
(
mpi
,
input
,
DIMENSION
,
atoms
,
sphhar
,
cell
,
stars
,
sym
,
noco
,
vacuum
,&
sliceplot
,
banddos
,
obsolete
,
enpara
,
xcpot
,
results
,
jij
,
kpts
,
hybrid
,&
oneD
,
wann
,
l_opti
)
sliceplot
,
banddos
,
obsolete
,
enpara
,
xcpot
,
results
,
jij
,
kpts
,
hybrid
,&
oneD
,
coreSpecInput
,
wann
,
l_opti
)
CALL
timestop
(
"Initialization"
)
...
...
@@ -130,11 +131,11 @@ CONTAINS
IF
(
sliceplot
%
iplot
.AND.
(
mpi
%
irank
==
0
)
)
THEN
IF
(
noco
%
l_noco
)
THEN
CALL
pldngen
(
sym
,
stars
,
atoms
,
sphhar
,
vacuum
,&
cell
,
input
,
noco
,
oneD
,
sliceplot
)
cell
,
input
,
noco
,
oneD
,
sliceplot
)
ENDIF
ENDIF
CALL
OPTIONAL
(
mpi
,
atoms
,
sphhar
,
vacuum
,
DIMENSION
,&
stars
,
input
,
sym
,
cell
,
sliceplot
,
obsolete
,
xcpot
,
noco
,
oneD
)
stars
,
input
,
sym
,
cell
,
sliceplot
,
obsolete
,
xcpot
,
noco
,
oneD
)
ENDIF
!
IF
(
sliceplot
%
iplot
)
CALL
juDFT_end
(
"density plot o.k."
,
mpi
%
irank
)
...
...
@@ -197,7 +198,7 @@ CONTAINS
IF
(
noco
%
l_noco
)
THEN
CALL
timestart
(
"gen. spin-up and -down density"
)
CALL
rhodirgen
(
DIMENSION
,
sym
,
stars
,
atoms
,
sphhar
,&
vacuum
,
22
,
cell
,
input
,
oneD
)
vacuum
,
22
,
cell
,
input
,
oneD
)
CALL
timestop
(
"gen. spin-up and -down density"
)
ENDIF
!---> pk non-collinear
...
...
@@ -243,7 +244,7 @@ CONTAINS
!HF
IF
(
hybrid
%
l_hybrid
)
CALL
calc_hybrid
(
hybrid
,
kpts
,
atoms
,
input
,
DIMENSION
,
mpi
,
noco
,&
cell
,
vacuum
,
oneD
,
banddos
,
results
,
sym
,
xcpot
,
v
,
it
)
cell
,
vacuum
,
oneD
,
banddos
,
results
,
sym
,
xcpot
,
v
,
it
)
!#endif
DO
pc
=
1
,
wann
%
nparampts
...
...
@@ -532,8 +533,8 @@ CONTAINS
CALL
timestart
(
"generation of new charge density (total)"
)
IF
(
mpi
%
irank
==
0
)
WRITE
(
*
,
"(a)"
,
advance
=
"no"
)
"* New Charge "
CALL
cdngen
(
eig_id
,
mpi
,
input
,
banddos
,
sliceplot
,
vacuum
,&
DIMENSION
,
kpts
,
atoms
,
sphhar
,
stars
,
sym
,
obsolete
,&
enpara
,
cell
,
noco
,
jij
,
results
,
oneD
)
DIMENSION
,
kpts
,
atoms
,
sphhar
,
stars
,
sym
,
obsolete
,&
enpara
,
cell
,
noco
,
jij
,
results
,
oneD
,
coreSpecInput
)
IF
(
noco
%
l_soc
.AND.
(
.NOT.
noco
%
l_noco
)
)
dimension
%
neigd
=
dimension
%
neigd
/
2
!+t3e
...
...
main/fleur_init.F90
View file @
6d1970a5
...
...
@@ -9,7 +9,7 @@
SUBROUTINE
fleur_init
(
mpi
,&
input
,
DIMENSION
,
atoms
,
sphhar
,
cell
,
stars
,
sym
,
noco
,
vacuum
,&
sliceplot
,
banddos
,
obsolete
,
enpara
,
xcpot
,
results
,
jij
,
kpts
,
hybrid
,&
oneD
,
wann
,
l_opti
)
oneD
,
coreSpecInput
,
wann
,
l_opti
)
USE
m_judft
USE
m_juDFT_init
USE
m_types
...
...
@@ -60,6 +60,7 @@
TYPE
(
t_kpts
)
,
INTENT
(
OUT
)::
kpts
TYPE
(
t_hybrid
)
,
INTENT
(
OUT
)::
hybrid
TYPE
(
t_oneD
)
,
INTENT
(
OUT
)::
oneD
TYPE
(
t_coreSpecInput
),
INTENT
(
OUT
)
::
coreSpecInput
TYPE
(
t_wann
)
,
INTENT
(
OUT
)::
wann
LOGICAL
,
INTENT
(
OUT
)::
l_opti
...
...
@@ -160,7 +161,7 @@
scale
=
1.0
CALL
r_inpXML
(&
atoms
,
obsolete
,
vacuum
,
input
,
stars
,
sliceplot
,
banddos
,
DIMENSION
,&
cell
,
sym
,
xcpot
,
noco
,
Jij
,
oneD
,
hybrid
,
kpts
,
enpara
,
wann
,&
cell
,
sym
,
xcpot
,
noco
,
Jij
,
oneD
,
hybrid
,
kpts
,
enpara
,
coreSpecInput
,
wann
,&
noel
,
namex
,
relcor
,
a1
,
a2
,
a3
,
scale
,
dtild
,
xmlElectronStates
,&
xmlPrintCoreStates
,
xmlCoreOccs
,
atomTypeSpecies
,
speciesRepAtomType
,&
l_kpts
)
...
...
@@ -286,6 +287,7 @@
kpts
%
specificationType
=
0
atoms
%
numStatesProvided
(:)
=
0
input
%
l_coreSpec
=
.FALSE.
jij
%
M
(:)
=
0.0
jij
%
l_magn
(:)
=
.FALSE.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment