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
54
Issues
54
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
aa4f501a
Commit
aa4f501a
authored
Oct 19, 2017
by
Gregor Michalicek
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Eliminate disc storage of Coulomb potential
parent
be9ae2bb
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
101 additions
and
97 deletions
+101
-97
eigen/eigen.F90
eigen/eigen.F90
+0
-7
main/fleur.F90
main/fleur.F90
+6
-6
main/totale.f90
main/totale.f90
+8
-18
main/vgen.F90
main/vgen.F90
+77
-61
mpi/mpi_bc_potden.F90
mpi/mpi_bc_potden.F90
+10
-5
No files found.
eigen/eigen.F90
View file @
aa4f501a
...
...
@@ -38,9 +38,6 @@ CONTAINS
!USE m_icorrkeys
USE
m_eig66_io
,
ONLY
:
open_eig
,
write_eig
,
close_eig
,
read_eig
USE
m_xmlOutput
#ifdef CPP_MPI
USE
m_mpi_bc_pot
#endif
IMPLICIT
NONE
TYPE
(
t_results
),
INTENT
(
INOUT
)::
results
...
...
@@ -154,10 +151,6 @@ CONTAINS
! CALL readPotential(stars,vacuum,atoms,sphhar,input,sym,POT_ARCHIVE_TYPE_TOT_const,&
! v%iter,v%mt,v%pw,v%vacz,v%vacxy)
!END IF
#ifdef CPP_MPI
CALL
mpi_bc_pot
(
mpi
,
stars
,
sphhar
,
atoms
,
input
,
vacuum
,&
v
%
iter
,
v
%
mt
,
v
%
pw
,
v
%
vacz
,
v
%
vacxy
)
#endif
999
CONTINUE
IF
(
mpi
%
irank
.EQ.
0
)
CALL
openXMLElementFormPoly
(
'iteration'
,(/
'numberForCurrentRun'
,
'overallNumber '
/),(/
it
,
v
%
iter
/),&
...
...
main/fleur.F90
View file @
aa4f501a
...
...
@@ -102,7 +102,7 @@ CONTAINS
TYPE
(
t_mpi
)
::
mpi
TYPE
(
t_coreSpecInput
)
::
coreSpecInput
TYPE
(
t_wann
)
::
wann
TYPE
(
t_potden
)
::
v
,
vx
TYPE
(
t_potden
)
::
v
Tot
,
vx
,
vCoul
TYPE
(
t_potden
)
::
inDen
,
outDen
,
mixDen
! .. Local Scalars ..
...
...
@@ -301,7 +301,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
Tot
,
it
)
!#endif
DO
pc
=
1
,
wann
%
nparampts
...
...
@@ -320,7 +320,7 @@ CONTAINS
CALL
timestart
(
"generation of potential"
)
IF
(
mpi
%
irank
==
0
)
WRITE
(
*
,
"(a)"
,
advance
=
"no"
)
" * Potential generation "
CALL
vgen
(
hybrid
,
reap
,
input
,
xcpot
,
DIMENSION
,
atoms
,
sphhar
,
stars
,
vacuum
,&
sym
,
obsolete
,
cell
,
oneD
,
sliceplot
,
mpi
,
results
,
noco
,
inDen
,
v
,
vx
)
sym
,
obsolete
,
cell
,
oneD
,
sliceplot
,
mpi
,
results
,
noco
,
inDen
,
v
Tot
,
vx
,
vCoul
)
CALL
timestop
(
"generation of potential"
)
IF
(
mpi
%
irank
.EQ.
0
)
THEN
...
...
@@ -395,7 +395,7 @@ CONTAINS
IF
(
mpi
%
irank
==
0
)
WRITE
(
*
,
"(a)"
,
advance
=
"no"
)
"* Eigenvalue problem "
CALL
eigen
(
mpi
,
stars
,
sphhar
,
atoms
,
obsolete
,
xcpot
,&
sym
,
kpts
,
DIMENSION
,
vacuum
,
input
,
cell
,
enpara
,
banddos
,
noco
,
jij
,
oneD
,
hybrid
,&
it
,
eig_id
,
inDen
,
results
,
v
,
vx
)
it
,
eig_id
,
inDen
,
results
,
v
Tot
,
vx
)
eig_idList
(
pc
)
=
eig_id
CALL
timestop
(
"eigen"
)
!
...
...
@@ -627,7 +627,7 @@ CONTAINS
input
%
total
=
.FALSE.
CALL
timestart
(
"generation of potential (total)"
)
CALL
vgen
(
hybrid
,
reap
,
input
,
xcpot
,
DIMENSION
,
atoms
,
sphhar
,
stars
,
vacuum
,
sym
,&
obsolete
,
cell
,
oneD
,
sliceplot
,
mpi
,
results
,
noco
,
outDen
,
v
,
vx
)
obsolete
,
cell
,
oneD
,
sliceplot
,
mpi
,
results
,
noco
,
outDen
,
v
Tot
,
vx
,
vCoul
)
CALL
timestop
(
"generation of potential (total)"
)
CALL
potdis
(
stars
,
vacuum
,
atoms
,
sphhar
,
input
,
cell
,
sym
)
...
...
@@ -636,7 +636,7 @@ CONTAINS
!----> total energy
CALL
timestart
(
'determination of total energy'
)
CALL
totale
(
atoms
,
sphhar
,
stars
,
vacuum
,
DIMENSION
,&
sym
,
input
,
noco
,
cell
,
oneD
,
xcpot
,
hybrid
,
it
,
results
)
sym
,
input
,
noco
,
cell
,
oneD
,
xcpot
,
hybrid
,
vTot
,
vCoul
,
it
,
results
)
CALL
timestop
(
'determination of total energy'
)
...
...
main/totale.f90
View file @
aa4f501a
...
...
@@ -6,7 +6,7 @@
MODULE
m_totale
CONTAINS
SUBROUTINE
totale
(
atoms
,
sphhar
,
stars
,
vacuum
,
dimension
,
&
sym
,
input
,
noco
,
cell
,
oneD
,
xcpot
,
hybrid
,
it
,
results
)
sym
,
input
,
noco
,
cell
,
oneD
,
xcpot
,
hybrid
,
vTot
,
vCoul
,
it
,
results
)
!
! ***************************************************
! subroutine calculates the total energy
...
...
@@ -64,6 +64,7 @@ CONTAINS
TYPE
(
t_sphhar
),
INTENT
(
IN
)
::
sphhar
TYPE
(
t_atoms
),
INTENT
(
IN
)
::
atoms
TYPE
(
t_dimension
),
INTENT
(
IN
)
::
dimension
TYPE
(
t_potden
),
INTENT
(
IN
)
::
vTot
,
vCoul
! ..
! .. Scalar Arguments ..
INTEGER
,
INTENT
(
IN
)
::
it
...
...
@@ -149,26 +150,15 @@ CONTAINS
CALL
readDensity
(
stars
,
vacuum
,
atoms
,
cell
,
sphhar
,
input
,
sym
,
oneD
,
archiveType
,&
CDN_INPUT_DEN_const
,
0
,
fermiEnergyTemp
,
l_qfix
,
iter
,
rho
,
qpw
,
rht
,
rhtxy
,
cdom
,
cdomvz
,
cdomvxy
)
!+for
! ---> reload the COULOMB potential
!
CALL
readPotential
(
stars
,
vacuum
,
atoms
,
sphhar
,
input
,
sym
,
POT_ARCHIVE_TYPE_COUL_const
,&
iter
,
vr
,
vpw
,
vz
,
vxy
)
!
! CLASSICAL HELLMAN-FEYNMAN FORCE
!
CALL
force_a3
(
atoms
,
sphhar
,
input
,
rho
,
vr
,
results
%
force
)
!
! CLASSICAL HELLMAN-FEYNMAN FORCE
CALL
force_a3
(
atoms
,
sphhar
,
input
,
rho
,
vCoul
%
mt
,
results
%
force
)
IF
(
input
%
l_f
)
THEN
!
! core contribution to force: needs TOTAL POTENTIAL and core charge
CALL
readPotential
(
stars
,
vacuum
,
atoms
,
sphhar
,
input
,
sym
,
POT_ARCHIVE_TYPE_TOT_const
,&
iter
,
vr
,
vpw
,
vz
,
vxy
)
! core contribution to force: needs TOTAL POTENTIAL and core charge
CALL
force_a4
(
atoms
,
sphhar
,
input
,
dimension
,
vTot
%
mt
,
results
%
force
)
CALL
force_a4
(
atoms
,
sphhar
,
input
,
dimension
,
vr
,
results
%
force
)
!
ENDIF
!
!-for
! ---> add spin-up and spin-down charge density for lh=0
...
...
main/vgen.F90
View file @
aa4f501a
This diff is collapsed.
Click to expand it.
mpi/mpi_bc_potden.F90
View file @
aa4f501a
...
...
@@ -24,18 +24,21 @@ CONTAINS
TYPE
(
t_potden
),
INTENT
(
INOUT
)
::
potden
INTEGER
::
n
,
ierr
(
3
)
LOGICAL
::
l_nocoAlloc
,
l_denMatAlloc
LOGICAL
::
l_nocoAlloc
,
l_denMatAlloc
,
l_vaczAlloc
CALL
MPI_BCAST
(
potden
%
iter
,
1
,
MPI_INTEGER
,
0
,
mpi
%
mpi_comm
,
ierr
)
l_nocoAlloc
=
.FALSE.
l_denMatAlloc
=
.FALSE.
l_vaczAlloc
=
.FALSE.
IF
(
mpi
%
irank
.EQ.
0
)
THEN
IF
(
ALLOCATED
(
potden
%
cdom
))
l_nocoAlloc
=
.TRUE.
IF
(
ALLOCATED
(
potden
%
mmpMat
))
l_denMatAlloc
=
.TRUE.
IF
(
ALLOCATED
(
potden
%
vacz
))
l_vaczAlloc
=
.TRUE.
END
IF
CALL
MPI_BCAST
(
l_nocoAlloc
,
1
,
MPI_LOGICAL
,
0
,
mpi
%
mpi_comm
,
ierr
)
CALL
MPI_BCAST
(
l_denMatAlloc
,
1
,
MPI_LOGICAL
,
0
,
mpi
%
mpi_comm
,
ierr
)
CALL
MPI_BCAST
(
l_vaczAlloc
,
1
,
MPI_LOGICAL
,
0
,
mpi
%
mpi_comm
,
ierr
)
IF
((
mpi
%
irank
.NE.
0
)
.AND.
l_nocoAlloc
)
THEN
IF
(
noco
%
l_noco
)
THEN
IF
(
.NOT.
ALLOCATED
(
potden
%
cdom
))
ALLOCATE
(
potden
%
cdom
(
stars
%
ng3
))
...
...
@@ -65,11 +68,13 @@ CONTAINS
n
=
atoms
%
jmtd
*
(
sphhar
%
nlhd
+1
)
*
atoms
%
ntype
*
input
%
jspins
CALL
MPI_BCAST
(
potden
%
mt
,
n
,
MPI_DOUBLE
,
0
,
mpi
%
mpi_comm
,
ierr
)
n
=
vacuum
%
nmzd
*
2
*
SIZE
(
potden
%
vacz
,
3
)
CALL
MPI_BCAST
(
potden
%
vacz
,
n
,
MPI_DOUBLE
,
0
,
mpi
%
mpi_comm
,
ierr
)
IF
(
l_vaczAlloc
)
THEN
n
=
vacuum
%
nmzd
*
2
*
SIZE
(
potden
%
vacz
,
3
)
CALL
MPI_BCAST
(
potden
%
vacz
,
n
,
MPI_DOUBLE
,
0
,
mpi
%
mpi_comm
,
ierr
)
n
=
vacuum
%
nmzxyd
*
(
stars
%
ng2
-1
)
*
2
*
input
%
jspins
CALL
MPI_BCAST
(
potden
%
vacxy
,
n
,
MPI_DOUBLE_COMPLEX
,
0
,
mpi
%
mpi_comm
,
ierr
)
n
=
vacuum
%
nmzxyd
*
(
stars
%
ng2
-1
)
*
2
*
input
%
jspins
CALL
MPI_BCAST
(
potden
%
vacxy
,
n
,
MPI_DOUBLE_COMPLEX
,
0
,
mpi
%
mpi_comm
,
ierr
)
END
IF
IF
(
l_nocoAlloc
)
THEN
n
=
SIZE
(
potden
%
cdom
,
1
)
...
...
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