Commit 51357d52 authored by Matthias Redies's avatar Matthias Redies

Merge branch 'develop' into MetaGGA

parents c3965064 b03d6d9f
# Summary
<!-- Summarize the bug encountered concisely. -->
## Input and output file:
<!--Please provide at least the inp.xml and the out files produced. -->
## Compute environment
<!-- Please shortly describe the machine&compiler you use. -->
## This is BUG because:
<!-- Please indicate the correct behaviour you expect. -->
## The problem only occurs if:
<!-- Please indicate if you checked if the bug only occurs if, e.g. you run on a specific machine,
in MPI mode, with several OpenMP task, you use LOs or SOC or ... -->
## Console output and other logs
<!-- Paste any relevant logs - please use code blocks (```) to format console output,
logs, and code as it's very hard to read otherwise. -->
## Ideas for fixes
<!-- If you can, give hints that that might help fixing the problem. -->
<!-- Please choose an appropriate label like: ~Bug ~"Critial Bug" . -->
/label ~Bug
# Summary
<!-- Summarize the problem encountered concisely. -->
## Machine
<!-- Please describe the machine you use. -->
## Compiler
<!-- Please describe the compiler you use. -->
## Libraries
<!-- Please describe any specific libraries you use. -->
## Version you try to compile
<!-- Best is to use 'git describe' on the source code and paste the output here. -->
## Command line
<!-- Please give the command line of the configure script you use and of any corresponding environment variables you set -->
## Console output and other logs
<!-- Paste any relevant logs - please use code blocks (```) to format console output,
logs, and code as it's very hard to read otherwise. -->
## Further comments
\label ~"Compilation related"
\ No newline at end of file
# Summary
<!-- Summarize the feature concisely. -->
## Why is this feature needed?
<!-- Please describe the usecase. -->
## Implementation ideas
<!-- If yoy have ideas how the feature should be realized share them. -->
\label ~"Feature Request"
\ No newline at end of file
#!/bin/bash
echo "Please make sure you are in a git directory on the develop branch"
echo "Also the pipeline status should be OK and your workdirectory should be clean"
echo "Press OK to continue"
read
TAG=`date "+%m.%y"`
TAG="snapshot-$TAG"
echo $TAG
git tag -a -m "Monthly snapshot" $TAG
git checkout stable
git merge --ff-only develop
git push origin $TAG
git push
......@@ -27,22 +27,28 @@ CONTAINS
INTEGER, INTENT (IN) :: n,jspin,jsp !atom index,physical spin&spin index for data
REAL dvd(0:atoms%lmaxd*(atoms%lmaxd+3)/2,0:sphhar%nlhd )
REAL dvu(0:atoms%lmaxd*(atoms%lmaxd+3)/2,0:sphhar%nlhd )
REAL uvd(0:atoms%lmaxd*(atoms%lmaxd+3)/2,0:sphhar%nlhd )
REAL uvu(0:atoms%lmaxd*(atoms%lmaxd+3)/2,0:sphhar%nlhd )
REAL f(atoms%jmtd,2,0:atoms%lmaxd,2),g(atoms%jmtd,2,0:atoms%lmaxd,2),x(atoms%jmtd)
REAL flo(atoms%jmtd,2,atoms%nlod)
INTEGER:: indt(0:SIZE(td%tuu,1)-1)
REAL vr0(SIZE(v%mt,1),0:SIZE(v%mt,2)-1)
REAL, ALLOCATABLE :: dvd(:,:),dvu(:,:),uvd(:,:),uvu(:,:),f(:,:,:,:),g(:,:,:,:),x(:),flo(:,:,:)
INTEGER,ALLOCATABLE :: indt(:)
REAL,ALLOCATABLE :: vr0(:,:)
COMPLEX :: cil
REAL :: temp
INTEGER i,l,l2,lamda,lh,lm,lmin,lmin0,lmp,lmpl,lmplm,lmx,lmxx,lp,info,in
INTEGER lp1,lpl ,mem,mems,mp,mu,nh,na,m,nsym,s,i_u,jspin1,jspin2
ALLOCATE( dvd(0:atoms%lmaxd*(atoms%lmaxd+3)/2,0:sphhar%nlhd ))
ALLOCATE( dvu(0:atoms%lmaxd*(atoms%lmaxd+3)/2,0:sphhar%nlhd ))
ALLOCATE( uvd(0:atoms%lmaxd*(atoms%lmaxd+3)/2,0:sphhar%nlhd ))
ALLOCATE( uvu(0:atoms%lmaxd*(atoms%lmaxd+3)/2,0:sphhar%nlhd ))
ALLOCATE( f(atoms%jmtd,2,0:atoms%lmaxd,2),g(atoms%jmtd,2,0:atoms%lmaxd,2),x(atoms%jmtd))
ALLOCATE( flo(atoms%jmtd,2,atoms%nlod))
ALLOCATE( indt(0:SIZE(td%tuu,1)-1))
ALLOCATE( vr0(SIZE(v%mt,1),0:SIZE(v%mt,2)-1))
vr0=v%mt(:,:,n,jsp)
IF (jsp<3) vr0(:,0)=0.0
......@@ -179,7 +185,7 @@ CONTAINS
!---> if there are any
IF (atoms%nlo(n).GE.1) THEN
CALL tlo(atoms,sphhar,jspin,jsp,n,enpara,1,input,v%mt(1,0,n,jsp),&
na,flo,f,g,ud, ud%uuilon(:,:,jspin),ud%duilon(:,:,jspin),ud%ulouilopn(:,:,:,jspin), td)
na,flo,f(:,:,:,jspin),g(:,:,:,jspin),ud, ud%uuilon(:,:,jspin),ud%duilon(:,:,jspin),ud%ulouilopn(:,:,:,jspin), td)
ENDIF
END SUBROUTINE tlmplm
......
......@@ -272,6 +272,7 @@ CONTAINS
DO m1 = -l, l
DO jsloc2= 1,2
sc(jsloc2,m1,ilo) = CMPLX(0.,0.)
IF (l==0) CYCLE
DO m2= -l, l
sc(jsloc2,m1,ilo) = sc(jsloc2,m1,ilo) +&
CONJG(ccof2(m2,band2,ilo,na,jsloc2,js2))&
......@@ -344,6 +345,7 @@ CONTAINS
DO ilo = 1, atoms%nlo(n) ! LO-part
l = atoms%llo(ilo,n)
IF (l==0) CYCLE
DO m1 = -l, l
lm1= l*(l+1) + m1
......
......@@ -71,6 +71,7 @@ CONTAINS
q_vectors(:,1)=noco%qss
END SELECT
if (any(abs(noco%qss-q_vectors(:,1))>1E-4)) CALL judft_warn("q-vector for self-consistency should be first in list for force-theorem")
noco%qss=q_vectors(:,1) ! Usually does not do anything, but ensures that in
!force theorem CASE noco%qss is first q-vector in list
......@@ -88,16 +89,16 @@ CONTAINS
nv = 0
nv2 = 0
DO j1 = -mk1,mk1
s(1) = bkpt(1) + j1 + (2*ispin - 3)/2.0*noco%qss(1)
s(1) = bkpt(1) + j1 + (2*ispin - 3)/2.0*qss(1)
DO j2 = -mk2,mk2
s(2) = bkpt(2) + j2 + (2*ispin - 3)/2.0*noco%qss(2)
s(2) = bkpt(2) + j2 + (2*ispin - 3)/2.0*qss(2)
!---> nv2 for films
s(3) = 0.0
!r2 = dotirp(s,s,cell%bbmat)
r2 = dot_product(matmul(s,cell%bbmat),s)
IF (r2.LE.rk2) nv2 = nv2 + 1
DO j3 = -mk3,mk3
s(3) = bkpt(3) + j3 + (2*ispin - 3)/2.0*noco%qss(3)
s(3) = bkpt(3) + j3 + (2*ispin - 3)/2.0*qss(3)
!r2 = dotirp(s,s,cell%bbmat)
r2 = dot_product(matmul(s,cell%bbmat),s)
IF (r2.LE.rk2) THEN
......@@ -112,7 +113,7 @@ CONTAINS
s(1) = 0.0
s(2) = 0.0
DO j3 = -mk3,mk3
s(3) = bkpt(3) + j3 + (2*ispin - 3)/2.0*noco%qss(3)
s(3) = bkpt(3) + j3 + (2*ispin - 3)/2.0*qss(3)
!r2 = dotirp(s,s,cell%bbmat)
r2 = dot_product(matmul(s,cell%bbmat),s)
......
......@@ -38,7 +38,7 @@
LOGICAL l_error
! ..
! .. Local Arrays ..
COMPLEX sf(stars%ng3)
COMPLEX,ALLOCATABLE:: sf(:)
REAL g(3),gm(3),fJ
REAL, ALLOCATABLE :: bfft(:)
INTEGER, ALLOCATABLE :: icm(:,:,:)
......@@ -69,7 +69,7 @@
END IF
IF (mpi%irank == 0) THEN
ALLOCATE(sf(stars%ng3))
IF (input%film) THEN
dd = vacuum%dvac*cell%area/cell%omtil
IF (oneD%odd%d1) dd = cell%vol/cell%omtil
......
......@@ -135,7 +135,7 @@ CONTAINS
#else
!Send using curl
call execute_command_line(&
'curl -X POST -H "Content-Type: application/json" -d @usage.json https://docker.iff.kfa-juelich.de/fleur-usage-stats/',&
'curl -X POST -H --connect-timeout 4 "Content-Type: application/json" -d @usage.json https://docker.iff.kfa-juelich.de/fleur-usage-stats/',&
exitstat=ierr(1), cmdstat=ierr(2))
if(all(ierr == 0)) then
write (*,*) "Usage data send using curl: usage.json"
......
......@@ -69,14 +69,16 @@ CONTAINS
! -> Collect den%vacxy(:,:,:,jspin)
IF (input%film) THEN
n = vacuum%nmzxyd*(oneD%odi%n2d-1)*2
!n = vacuum%nmzxyd*(oneD%odi%n2d-1)*2
n=size(den%vacxy(:,:,:,jspin))
ALLOCATE(c_b(n))
CALL MPI_REDUCE(den%vacxy(:,:,:,jspin),c_b,n,CPP_MPI_COMPLEX,MPI_SUM,0, MPI_COMM_WORLD,ierr)
IF (mpi%irank.EQ.0) CALL CPP_BLAS_ccopy(n, c_b, 1, den%vacxy(:,:,:,jspin), 1)
DEALLOCATE (c_b)
! -> Collect den%vacz(:,:,jspin)
n = vacuum%nmzd*2
!n = vacuum%nmzd*2
n=size(den%vacz(:,:,jspin))
ALLOCATE(r_b(n))
CALL MPI_REDUCE(den%vacz(:,:,jspin),r_b,n,CPP_MPI_REAL,MPI_SUM,0, MPI_COMM_WORLD,ierr)
IF (mpi%irank.EQ.0) CALL CPP_BLAS_scopy(n, r_b, 1, den%vacz(:,:,jspin), 1)
......@@ -118,7 +120,7 @@ CONTAINS
!--> svac & pvac
IF ( input%film ) THEN
n=2
n=SIZE(regCharges%svac,1)
ALLOCATE(r_b(n))
CALL MPI_REDUCE(regCharges%svac(:,jspin),r_b,n,CPP_MPI_REAL,MPI_SUM,0, MPI_COMM_WORLD,ierr)
IF (mpi%irank.EQ.0) CALL CPP_BLAS_scopy(n, r_b, 1, regCharges%svac(:,jspin), 1)
......@@ -330,13 +332,14 @@ CONTAINS
ALLOCATE(c_b(n))
CALL MPI_REDUCE(den%pw(:,3),c_b,n,CPP_MPI_COMPLEX,MPI_SUM,0, MPI_COMM_WORLD,ierr)
IF (mpi%irank.EQ.0) THEN
CALL CPP_BLAS_ccopy(n, c_b, 1, den%pw(:,3), 1)
den%pw(:,3)=RESHAPE(c_b,(/n/))
ENDIF
DEALLOCATE (c_b)
!
IF (input%film) THEN
n = vacuum%nmzxyd*(oneD%odi%n2d-1)*2
!n = vacuum%nmzxyd*(oneD%odi%n2d-1)*2
n=size(den%vacxy(:,:,:,3))
ALLOCATE(c_b(n))
CALL MPI_REDUCE(den%vacxy(:,:,:,3),c_b,n,CPP_MPI_COMPLEX,MPI_SUM,0, MPI_COMM_WORLD,ierr)
IF (mpi%irank.EQ.0) THEN
......@@ -344,11 +347,12 @@ CONTAINS
ENDIF
DEALLOCATE (c_b)
!
n = vacuum%nmzd*2*2
!n = vacuum%nmzd*2*2
n=SIZE(den%vacz(:,:,3:4))
ALLOCATE(r_b(n))
CALL MPI_REDUCE(den%vacz(:,:,3:4),r_b,n,CPP_MPI_REAL,MPI_SUM,0, MPI_COMM_WORLD,ierr)
IF (mpi%irank.EQ.0) THEN
CALL CPP_BLAS_ccopy(n, r_b, 1, den%vacz(:,:,3:4), 1)
den%vacz(:,:,3:4)=RESHAPE(r_b,SHAPE(den%vacz(:,:,3:4)))
ENDIF
DEALLOCATE (r_b)
......
......@@ -11,5 +11,6 @@ $result=jt::test_grepexists("$workdir/out","it= 1 is completed");
#test orbital moment
$result+=jt::test_grepnumber("$workdir/out","mm 1",".* 1 *([^ ]*)",0.287,0.001);
$result+=jt::test_grepnumber("$workdir/out","qfix",".*x= *([^ ]*)",1.0,0.0001);
$result+=jt::test_grepnumber("$workdir/out","new fermi energy",": *([^ ]*)",-0.2398,0.0001);
$result+=jt::test_grepnumber("$workdir/out","total energy=","= *([^ ]*)",-1272.6849,0.001);
jt::stageresult($workdir,$result,"1");
enable_testing()
set(SerialParallelTests CuBulk CuBulkXML SiLOXML Fe_1l Fe_1lXML Fe-Atom CuBand CuBandXML CuDOS CuDOSXML
Fe_bct Fe_bctXML PTO PTOXML Fe_1l_SOC Fe_1l_SOCXML PTO-SOC PTO-SOCXML Fe_bct_SOC Fe_bct_SOCXML Fe_fccXML
Fe_bct Fe_bctXML PTO PTOXML Fe_1l_SOCXML PTO-SOC PTO-SOCXML Fe_bct_SOC Fe_bct_SOCXML Fe_fccXML
GaAsMultiUForceXML SiFilmPlotXML SiFilmSlicePlotXML CoMCDXML Fe_Kerker Fe_bct_LOXML)
set(SerialOnlyTests Fe_bct_LO Fe_fcc)# TiO2eels TiO2eelsXML)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment