Commit 2917b701 authored by Daniel Wortmann's avatar Daniel Wortmann

Merge branch 'develop' of iffgit.fz-juelich.de:fleur/fleur into develop

parents c9f537e0 11fba5e0
......@@ -4,6 +4,7 @@
read -r -d '' known_machines << EOM
IFF -- cluster @ PGI of FZJ
JURECA -- @JSC
CLAIX -- RWTH cluster
EOM
......
if ! module list 2>&1| grep -q intelmpi
then
echo "Please use intelmpi, e.g. do a module switch openmpi intelmpi"
exit
fi
export FC=$MPIFC
export CC=$MPICC
#ELPA
if [ $ELPA_MODULES ]
then
CLI_ELPA_OPENMP=1
FLEUR_LIBDIR="$FLEUR_LIBDIR $ELPA_LIB"
FLEUR_INCLUDEDIR="$FLEUR_INCLUDEDIR $ELPA_MODULES"
fi
#hdf5
if [ $HDF5_ROOT ]
then
FLEUR_LIBDIR="$FLEUR_LIBDIR $HDF5_ROOT/lib"
FLEUR_INCLUDEDIR="$FLEUR_INCLUDEDIR $HDF5_ROOT/include"
fi
FLEUR_LIBRARIES="-lelpa_openmp;-lmkl_scalapack_lp64;-lmkl_blacs_intelmpi_lp64"
......@@ -40,7 +40,7 @@ then
export CC=${CC:=mpicc}
#ELPA
CLI_ELPA_OPENMP=1
FLEUR_LIBDIR="$FLEUR_LIB $ELPA_LIB"
FLEUR_LIBDIR="$FLEUR_LIBDIR $ELPA_LIB"
FLEUR_INCLUDEDIR="$FLEUR_INCLUDEDIR $ELPA_MODULES_OPENMP"
#hdf5
FLEUR_LIBDIR="$FLEUR_LIBDIR $HDF5_DIR/lib"
......
version=3.11.4-`uname`-x86_64
#Download if not present...
if [ ! -r cmake-${version} ]
then
#Get the file with the code
curl -LO "https://cmake.org/files/v3.11/cmake-${version}.tar.gz"
tar xzf cmake-${hdf5_version}.tar.gz
fi
#add to path
export PATH=$PWD/cmake-${version}/bin:$PATH
......@@ -68,7 +68,6 @@ CONTAINS
!If this is the first iteration loop we can not calculate a new non-local potential
hybrid%l_calhf = (results%last_distance.GE.0.0).AND.(results%last_distance.LT.input%minDistance)
IF(.NOT.hybrid%l_calhf) THEN
IF (hybrid%l_addhf) INQUIRE(file="cdnc",exist=hybrid%l_addhf)
hybrid%l_subvxc = hybrid%l_subvxc.AND.hybrid%l_addhf
RETURN
ENDIF
......@@ -78,8 +77,10 @@ CONTAINS
CALL judft_error("Hybrid functionals do not work in parallel version yet")
CALL MPI_BCAST(results%last_distance ....
#endif
CALL open_hybrid_io1b(DIMENSION,sym%invs)
hybrid%l_addhf = .TRUE.
!In first iteration allocate some memory
IF (init_vex) THEN
ALLOCATE(hybrid%ne_eig(kpts%nkpt),hybrid%nbands(kpts%nkpt),hybrid%nobd(kpts%nkptf))
......
......@@ -20,8 +20,6 @@ contains
LOGICAL,INTENT(IN) :: l_real
LOGICAL :: opened=.false.
if (opened) return
opened=.true.
......@@ -29,9 +27,23 @@ contains
id_olap=OPEN_MATRIX(l_real,dimension%nbasfcn,1,"olap.mat")
print *,"Open z.mat"
id_z=OPEN_MATRIX(l_real,dimension%nbasfcn,1,"z.mat")
END SUBROUTINE open_hybrid_io1
SUBROUTINE open_hybrid_io1b(DIMENSION,l_real)
implicit none
TYPE(t_dimension),INTENT(IN):: dimension
LOGICAL,INTENT(IN) :: l_real
LOGICAL :: opened=.false.
if (opened) return
opened=.true.
print *,"Open v_x.mat"
id_v_x=OPEN_MATRIX(l_real,dimension%nbasfcn,1,"v_x.mat")
END SUBROUTINE open_hybrid_io1
END SUBROUTINE open_hybrid_io1b
SUBROUTINE open_hybrid_io2(hybrid,DIMENSION,atoms,l_real)
IMPLICIT NONE
TYPE(t_hybrid),INTENT(IN) :: hybrid
......
......@@ -422,10 +422,10 @@ CONTAINS
ELSE
l_cont = l_cont.AND.(iter < 50) ! Security stop for non-converging nested PBE calculations
END IF
!!$ IF (hybrid%l_subvxc) THEN
!!$ results%te_hfex%core = 0
!!$ results%te_hfex%valence = 0
!!$ END IF
IF (hybrid%l_subvxc) THEN
results%te_hfex%core = 0
results%te_hfex%valence = 0
END IF
ELSE
l_cont = l_cont.AND.(iter < input%itmax)
l_cont = l_cont.AND.((input%mindistance<=results%last_distance).OR.input%l_f)
......
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