Commit e50a56e3 authored by Daniel Wortmann's avatar Daniel Wortmann

Merge branch 'develop' of ssh://fleur-git/fleur into develop

parents ea759903 08d880c5
......@@ -26,10 +26,10 @@ function configure_machine(){
echo "All required modules load loaded"
else
echo "You have to load the required modules"
echo "module load Python/2.7.12 CMake HDF5 ELPA/2016.05.003-hybrid"
echo "See and/or source $DIR/cmake/maschines/JURECA/intelsource.sh"
exit
fi
cp $DIR/cmake/JURECA.cmake config.cmake
cp $DIR/cmake/maschines/JURECA/JURECA.cmake config.cmake
elif module list 2>&1 |grep -q PGI
then
echo "PGI toolchain used"
......@@ -40,17 +40,15 @@ function configure_machine(){
then
echo "All required modules loaded, all variables set"
else
echo "Please do at least"
echo "module load MVAPICH2 CMake"
echo "Not all modules are loaded"
echo "See and/or source $DIR/cmake/maschines/JURECA/pgisource.sh"
echo "And set the variables XML2_ROOT and MAGMA_ROOT"
exit
fi
cp $DIR/cmake/JURECAGPU.cmake config.cmake
cp $DIR/cmake/maschines/JURECA/JURECAGPU.cmake config.cmake
else
echo "You have to load the correct modules for compiling"
echo " a) intel-para"
echo " or"
echo " b) PGI"
echo " Look for files to source in $DIR/cmake/maschines/JURECA"
exit
fi
# JUQUEEN
......@@ -66,13 +64,13 @@ function configure_machine(){
echo "module load hdf5/1.8.15_BGQ scalapack/2.0.2_elpa_simd"
exit
fi
cp $DIR/cmake/JUQUEEN.cmake config.cmake
cp $DIR/cmake/maschines/JUQUEEN/JUQUEEN.cmake config.cmake
#IFF linux cluster
elif [ "$machine" = "IFF" ]
then
echo "IFF cluster configuration used"
cp $DIR/cmake/IFF.cmake config.cmake
cp $DIR/cmake/maschines/IFF.cmake config.cmake
#RWTH cluster
elif [ "$machine" = "CLAIX" ]
......@@ -83,7 +81,7 @@ function configure_machine(){
echo "Please use intelmpi, e.g. do a module switch openmpi intelmpi"
exit
fi
cp $DIR/cmake/CLAIX.cmake config.cmake
cp $DIR/cmake/maschines/CLAIX.cmake config.cmake
module load LIBRARIES
elif [ "$machine" = "MARCONI" ]
then
......@@ -92,7 +90,7 @@ module load LIBRARIES
echo "Load the modules needed to compile: intel,intelmpi,cmake"
exit
fi
cp $DIR/cmake/MARCONI.cmake config.cmake
cp $DIR/cmake/maschines/MARCONI.cmake config.cmake
elif [ "$machine" = "AUTO" ]
then
echo "No machine specific settings used"
......
#Set the compiler names
set(CMAKE_Fortran_COMPILER mpif90)
set(CMAKE_C_COMPILER mpicc)
#Add include pathes
#set(CMAKE_C_FLAGS " -I$ENV{XML2_ROOT}/include")
set(FLEUR_Fortran_FLAGS " -I$ENV{MAGMA_ROOT}/include")
#Linker Stuff
#set(FLEUR_LIBRARIES "-L$ENV{XML2_ROOT}/lib;-lxml2;-lz;-L$ENV{MAGMA_ROOT}/lib;-lmagma")
set(FLEUR_LIBRARIES "-L$ENV{MAGMA_ROOT}/lib;-lmagma")
set(FLEUR_DEFINITIONS ${FLEUR_DEFINITIONS} "CPP_AIX")
set(FLEUR_MPI_DEFINITIONS ${FLEUR_MPI_DEFINITIONS} "CPP_AIX")
ml purge
ml use /usr/local/software/jureca/OtherStages
ml Stages/2016a
ml intel-para CMake HDF5 ELPA/2015.11.001-hybrid Python
ml purge
ml PGI MVAPICH2 CMake libxml2/.2.9.4
......@@ -264,7 +264,7 @@ CONTAINS
eig=eig_so(:nsz))
ELSE
zmat%nbasfcn=size(eig_so,1)
zmat%nbasfcn=size(zso,1)
allocate(zmat%z_c(zmat%nbasfcn,nsz))
zmat%l_real=.false.
zmat%nbands=nsz
......
......@@ -132,7 +132,6 @@ SUBROUTINE initParallelProcesses(atoms,vacuum,input,stars,sliceplot,banddos,&
ALLOCATE(kpts%specialPointNames(kpts%numSpecialPoints))
ALLOCATE(kpts%bk(3,kpts%nkpt))
ALLOCATE(kpts%wtkpt(kpts%nkpt))
ALLOCATE(kpts%wtkpt(kpts%nkpt))
ALLOCATE(kpts%ntetra(4,kpts%ntet))
ALLOCATE(kpts%voltet(kpts%ntet))
......
......@@ -317,10 +317,11 @@ CONTAINS
!
!---> store number of star with respect to z-index in igz
!
ngz = izmax - izmin + 1
DO k = 1,stars%ng3
igz(k) = stars%kv3(3,k) - izmin + 1
ENDDO
!ngz = izmax - izmin + 1
!DO k = 1,stars%ng3
! igz(k) = stars%kv3(3,k) - izmin + 1
!ENDDO
igz=0;ngz=0;izmin=0;izmax=0
!---> generate all star members
!+gu
......@@ -510,7 +511,13 @@ CONTAINS
ENDDO
ENDIF
IF (stars%mx1 .ne. mxx1 .or. stars%mx2 .ne. mxx2) CALL judft_error("BUG in strgn")
IF (stars%mx1< mxx1 .or. stars%mx2< mxx2) then
print *,stars%mx1, mxx1, stars%mx2, mxx2
CALL judft_error("BUG in strgn")
endif
stars%mx1=mxx1
stars%mx2=mxx2
!
!---> write /str0/ and /str1/ to unit 51
!
......@@ -767,11 +774,11 @@ CONTAINS
!
!---> store number of star with respect to z-index in igz
!
ngz = izmax - izmin + 1
DO k = 1,stars%ng3
igz(k) = stars%kv3(3,k) - izmin + 1
ENDDO
!ngz = izmax - izmin + 1
!DO k = 1,stars%ng3
! igz(k) = stars%kv3(3,k) - izmin + 1
!ENDDO
igz=0;ngz=0;izmax=0;izmin=0
!---> generate all star members
!+gu
kidx=0
......
......@@ -66,10 +66,8 @@ CONTAINS
ALLOCATE(d%eig_eig(neig,jspins*nkpts))
!d%eig_vec
if (l_real.and..not.l_soc) THEN
print *, "Allocate real in eig66_mem"
ALLOCATE(d%eig_vecr(nmat*neig,length*nkpts))
else
print *, "Allocate complex in eig66_mem"
ALLOCATE(d%eig_vecc(nmat*neig,length*nkpts))
endif
length=length*nkpts
......@@ -270,9 +268,6 @@ CONTAINS
IF (PRESENT(eig)) THEN
eig=0.0
eig=d%eig_eig(:SIZE(eig),nrec)
!print *,"R-eig:",nrec,shape(eig)
!print*,"R-eig(data):",shape(d%eig_eig)
!print*,"R:",eig
ENDIF
!data from d%eig_vec
......@@ -338,8 +333,6 @@ CONTAINS
!data from d%eig_eig
IF (PRESENT(eig)) THEN
d%eig_eig(:SIZE(eig),nrec)=eig
!print*,"W-eig:",nrec,shape(eig)
!print*,"W:",eig
ENDIF
!data from d%eig_vec
IF (PRESENT(zmat)) THEN
......
......@@ -369,7 +369,7 @@ CONTAINS
!
! convolute ufft and pot: F(G) = \sum_(G') U(G - G') V(G')
!
CALL convol(stars, vpw_w, vpw)
CALL convol(stars, vpw_w, vpw, stars%ufft)
!
IF (input%jspins.EQ.2) CALL CPP_BLAS_ccopy(stars%ng3,vpw_w(1,1),1,vpw_w(1,input%jspins),1)
!
......
......@@ -166,7 +166,7 @@ CONTAINS
CALL convol(&
& stars,&
& fg3,&
& ag3)
& ag3,stars%ufft)
IF (sym%invs) THEN
DO imap = 1,stars%ng3
sout(imap+nmaph*(js-1)) = cell%omtil*REAL(fg3(imap))
......@@ -193,7 +193,7 @@ CONTAINS
CALL convol(&
& stars,&
& fg3,&
& ag3)
& ag3,stars%ufft)
DO imap = 1,stars%ng3
sout(2*nmaph + imap) = cell%omtil*REAL(fg3(imap))
sout(2*nmaph + stars%ng3 + imap) = cell%omtil*AIMAG(fg3(imap))
......
......@@ -3,18 +3,21 @@
SUBROUTINE convol(&
& stars, &
& fg3,&
& ag3&
& ag3,ufft&
& )
!************************************************************
!* *
!* calculate f(G) = \sum_G' U(G' - G) a(G') *
!* calculate f(G) = \sum_G' U(G - G') a(G') *
!* *
!* U is already given on the real space mesh as U(r) *
!* *
!* ag3(star) -- FFT --> gfft(r,1) *
!* gfft(r,1)=gfft(r,1) * U (r) *
!* fg3(star) <- FFT --- gfft(r,1) *
!* *
!* dimension of gfft is (3*stars%mx1 x 3*stars%mx2 x 3*stars%mx3) *
!* dimension of gfft is *
!* (3*stars%mx1 x 3*stars%mx2 x 3*stars%mx3) *
!* *
!************************************************************
USE m_types
......@@ -22,8 +25,10 @@
IMPLICIT NONE
TYPE(t_stars),INTENT(IN) :: stars
COMPLEX, INTENT (IN) :: ag3(stars%ng3)
COMPLEX, INTENT (OUT) :: fg3(stars%ng3)
REAL, INTENT (IN) :: ufft(0:27*stars%mx1*stars%mx2*stars%mx3-1)
INTEGER i,ifftd
REAL, ALLOCATABLE :: gfft(:,:)
......@@ -38,7 +43,7 @@
& stars,+1)
DO i=0,ifftd-1
gfft(i,:)=gfft(i,:)*stars%ufft(i)
gfft(i,:)=gfft(i,:)*ufft(i)
ENDDO
CALL fft3d(&
......
......@@ -110,7 +110,7 @@ CONTAINS
CALL convol( &
stars, &
psq, &
vpw)
vpw,stars%ufft)
! Add to total potential
vpw_total(:)=vpw_total(:)+psq
......
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