Commit 451d717c authored by ua741532's avatar ua741532

Merge branch 'develop' of ifflinux.iff.kfa-juelich.de:fleur into develop

parents 5908df78 28d607fd
......@@ -3,8 +3,8 @@ try_compile(FLEUR_USE_ELPA ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/cmake/tests/t
LINK_LIBRARIES ${FLEUR_LIBRARIES})
if (NOT FLEUR_USE_ELPA)
set(STORE_FLAGS "${CMAKE_Fortran_FLAGS}")
if (DEFINED ENV{ELPA_MODULES})
set(STORE_FLAGS ${CMAKE_Fortran_FLAGS})
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -I$ENV{ELPA_MODULES}")
endif()
if (DEFINED ENV{ELPA_LIB})
......@@ -15,7 +15,7 @@ LINK_LIBRARIES ${TEST_LIBRARIES})
if (FLEUR_USE_ELPA)
set(FLEUR_LIBRARIES "${TEST_LIBRARIES}")
else()
set(CMAKE_Fortran_FLAGS ${STORE_FLAGS})
set(CMAKE_Fortran_FLAGS "${STORE_FLAGS}")
endif()
endif()
......
......@@ -47,6 +47,9 @@ 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
......@@ -238,8 +241,16 @@ CONTAINS
& 'Info: and stored in "vxc", the values obtained from the',&
& 'Info: original implementation are saved to "vxc.old".'
ENDIF
IF (mpi%irank.EQ.0) THEN
CALL readPotential(stars,vacuum,atoms,sphhar,input,sym,POT_ARCHIVE_TYPE_TOT_const,&
iter,vr,vpw,vz,vzxy)
END IF
#ifdef CPP_MPI
CALL mpi_bc_pot(mpi,stars,sphhar,atoms,input,vacuum,&
iter,vr,vpw,vz,vzxy)
#endif
999 CONTINUE
IF (mpi%irank.EQ.0) CALL openXMLElementFormPoly('iteration',(/'numberForCurrentRun','overallNumber '/),(/it,iter/),&
RESHAPE((/19,13,5,5/),(/2,2/)))
......@@ -663,8 +674,15 @@ ENDIF
ENDDO
CLOSE (16)
gwc=2
IF (mpi%irank.EQ.0) THEN
CALL readPotential(stars,vacuum,atoms,sphhar,input,sym,POT_ARCHIVE_TYPE_COUL_const,&
iter,vr,vpw,vz,vzxy)
END IF
#ifdef CPP_MPI
CALL mpi_bc_pot(mpi,stars,sphhar,atoms,input,vacuum,&
iter,vr,vpw,vz,vzxy)
#endif
GOTO 999
ELSE IF ( input%gw.EQ.2.AND.(gwc==2) ) THEN
CLOSE (12)
......
......@@ -39,6 +39,7 @@
USE m_dwigner
USE m_strgn
USE m_stepf
USE m_cdn_io
USE m_mapatom
USE m_writegw
USE m_convn
......@@ -136,6 +137,10 @@
CALL od_mapatom(oneD,atoms,sym,cell)
END IF
! Store structure data
CALL storeStructureIfNew(input, atoms, cell, vacuum, oneD, sym)
!+odim
IF (input%film.OR.(sym%namgrp.NE.'any ')) THEN
CALL strgn1(stars,sym,atoms, vacuum,sphhar, input,cell,xcpot)
......
......@@ -46,7 +46,7 @@
!
ifftd = 27*stars%mx1*stars%mx2*stars%mx3
CALL readStepfunction(stars,l_error)
CALL readStepfunction(stars, atoms, cell, vacuum, l_error)
IF(.NOT.l_error) THEN
RETURN
END IF
......
......@@ -162,9 +162,9 @@ PROGRAM inpgen
nops = sym%nop
symfn = 'sym.out'
IF (.not.input%film) sym%nop2=sym%nop
CALL rw_symfile(&
& 'W',symfh,symfn,nops,cell%bmat,&
& sym%mrot,sym%tau,sym%nop,sym%nop2,sym%symor)
IF ((juDFT_was_argument("-old")).OR.(.NOT.juDFT_was_argument("-explicit"))) THEN
CALL rw_symfile('W',symfh,symfn,nops,cell%bmat,sym%mrot,sym%tau,sym%nop,sym%nop2,sym%symor)
END IF
ALLOCATE (atomTypeSpecies(atoms%ntype))
ALLOCATE (speciesRepAtomType(atoms%nat))
......
......@@ -94,6 +94,10 @@
cr = gamma
ENDIF
scale(1) = a
scale(2) = b
scale(3) = c
latsys = ADJUSTL(latsys)
!===> 1: cubic-P (cP) sc
......@@ -103,9 +107,10 @@
noangles=.true.
i_c = 1
a1 = lmat(:,1,i_c)
a2 = lmat(:,2,i_c)
a3 = lmat(:,3,i_c)
a1 = lmat(:,1,i_c) * scale(:)
a2 = lmat(:,2,i_c) * scale(:)
a3 = lmat(:,3,i_c) * scale(:)
scale = 1.0
IF ( a.NE.b .OR. a.NE.c ) err = 11
IF ( ar.NE.br .OR. ar.NE.cr .OR. ar.NE.(pi_const/2.0) ) err = 12
......@@ -117,9 +122,10 @@
noangles=.true.
i_c = 2
a1 = lmat(:,1,i_c)
a2 = lmat(:,2,i_c)
a3 = lmat(:,3,i_c)
a1 = lmat(:,1,i_c) * scale(:)
a2 = lmat(:,2,i_c) * scale(:)
a3 = lmat(:,3,i_c) * scale(:)
scale = 1.0
IF ( a.NE.b .OR. a.NE.c ) err = 21
......@@ -130,9 +136,10 @@
noangles=.true.
i_c = 3
a1 = lmat(:,1,i_c)
a2 = lmat(:,2,i_c)
a3 = lmat(:,3,i_c)
a1 = lmat(:,1,i_c) * scale(:)
a2 = lmat(:,2,i_c) * scale(:)
a3 = lmat(:,3,i_c) * scale(:)
scale = 1.0
IF ( a.NE.b .OR. a.NE.c ) err = 31
......@@ -143,9 +150,10 @@
noangles=.true.
i_c = 4
a1 = lmat(:,1,i_c)
a2 = lmat(:,2,i_c)
a3 = lmat(:,3,i_c)
a1 = lmat(:,1,i_c) * scale(:)
a2 = lmat(:,2,i_c) * scale(:)
a3 = lmat(:,3,i_c) * scale(:)
scale = 1.0
IF ( a.NE.b ) err = 41
......@@ -155,9 +163,10 @@
noangles=.true.
i_c = 4
a1 = lmat((/2,1,3/),1,i_c)
a2 = -lmat((/2,1,3/),2,i_c)
a3 = lmat(:,3,i_c)
a1 = lmat((/2,1,3/),1,i_c) * scale(:)
a2 = -lmat((/2,1,3/),2,i_c) * scale(:)
a3 = lmat(:,3,i_c) * scale(:)
scale = 1.0
i_c = 9
IF ( a.NE.b ) err = 41
......@@ -234,9 +243,10 @@
noangles=.true.
i_c = 1
a1 = lmat(:,1,i_c)
a2 = lmat(:,2,i_c)
a3 = lmat(:,3,i_c)
a1 = lmat(:,1,i_c) * scale(:)
a2 = lmat(:,2,i_c) * scale(:)
a3 = lmat(:,3,i_c) * scale(:)
scale = 1.0
IF ( a.NE.b ) err = 61
IF ( ar.NE.br .OR. ar.NE.cr .OR. ar.NE.(pi_const/2.0) ) err= 62
......@@ -248,9 +258,10 @@
noangles=.true.
i_c = 3
a1 = lmat(:,1,i_c)
a2 = lmat(:,2,i_c)
a3 = lmat(:,3,i_c)
a1 = lmat(:,1,i_c) * scale(:)
a2 = lmat(:,2,i_c) * scale(:)
a3 = lmat(:,3,i_c) * scale(:)
scale = 1.0
IF ( a.NE.b ) err = 61
......@@ -261,9 +272,10 @@
noangles=.true.
i_c = 1
a1 = lmat(:,1,i_c)
a2 = lmat(:,2,i_c)
a3 = lmat(:,3,i_c)
a1 = lmat(:,1,i_c) * scale(:)
a2 = lmat(:,2,i_c) * scale(:)
a3 = lmat(:,3,i_c) * scale(:)
scale = 1.0
!===> 9: orthorhombic-F (oF)
......@@ -273,9 +285,10 @@
noangles=.true.
i_c = 2
a1 = lmat(:,1,i_c)
a2 = lmat(:,2,i_c)
a3 = lmat(:,3,i_c)
a1 = lmat(:,1,i_c) * scale(:)
a2 = lmat(:,2,i_c) * scale(:)
a3 = lmat(:,3,i_c) * scale(:)
scale = 1.0
!===> 10: orthorhombic-I (oI)
......@@ -285,9 +298,10 @@
noangles=.true.
i_c = 3
a1 = lmat(:,1,i_c)
a2 = lmat(:,2,i_c)
a3 = lmat(:,3,i_c)
a1 = lmat(:,1,i_c) * scale(:)
a2 = lmat(:,2,i_c) * scale(:)
a3 = lmat(:,3,i_c) * scale(:)
scale = 1.0
!===> 11: orthorhombic-S (oS) (oC)
......@@ -297,9 +311,10 @@
noangles=.true.
i_c = 6
a1 = lmat(:,1,i_c)
a2 = lmat(:,2,i_c)
a3 = lmat(:,3,i_c)
a1 = lmat(:,1,i_c) * scale(:)
a2 = lmat(:,2,i_c) * scale(:)
a3 = lmat(:,3,i_c) * scale(:)
scale = 1.0
!===> 11a: orthorhombic-A (oA)
......@@ -309,9 +324,10 @@
noangles=.true.
i_c = 8
a1 = lmat(:,1,i_c)
a2 = lmat(:,2,i_c)
a3 = lmat(:,3,i_c)
a1 = lmat(:,1,i_c) * scale(:)
a2 = lmat(:,2,i_c) * scale(:)
a3 = lmat(:,3,i_c) * scale(:)
scale = 1.0
!===> 11b: orthorhombic-B (oB)
......@@ -321,9 +337,10 @@
noangles=.true.
i_c = 7
a1 = lmat(:,1,i_c)
a2 = lmat(:,2,i_c)
a3 = lmat(:,3,i_c)
a1 = lmat(:,1,i_c) * scale(:)
a2 = lmat(:,2,i_c) * scale(:)
a3 = lmat(:,3,i_c) * scale(:)
scale = 1.0
!===> 12: monoclinic-P (mP)
ELSEIF ( latsys =='monoclinic-P'.OR.latsys =='mP'.OR
......@@ -470,6 +487,8 @@
ENDIF
IF (abs(scale(1)) < eps) THEN
CALL juDFT_error("Illegal program section reached!"
+ ,calledby ="lattice2")
scale(1) = a
scale(2) = b
scale(3) = c
......
......@@ -358,10 +358,13 @@
IF (input%film) atoms%taual(3,:) = atoms%taual(3,:) * a3(3) / dtild
CLOSE (6)
inquire(file="inp",exist=l_exists)
INQUIRE(file="inp",exist=l_exists)
IF (l_exists) THEN
CALL juDFT_error("Cannot overwrite existing inp-file ",calledby&
& ="set_inp")
CALL juDFT_error("inp-file exists. Cannot write another input file in this directory.",calledby="set_inp")
ENDIF
INQUIRE(file="inp.xml",exist=l_exists)
IF (l_exists) THEN
CALL juDFT_error("inp.xml-file exists. Cannot write another input file in this directory.",calledby="set_inp")
ENDIF
nu = 8
......@@ -412,7 +415,7 @@
Jij%phnd=1
IF(.NOT.juDFT_was_argument("-noXML")) THEN
IF(.NOT.juDFT_was_argument("-old")) THEN
nkptOld = kpts%nkpt
latnamTemp = cell%latnam
......@@ -498,7 +501,7 @@
IF (atoms%ntype.GT.999) THEN
WRITE(*,*) 'More than 999 atom types -> no conventional inp file generated!'
WRITE(*,*) 'Use inp.xml file instead!'
ELSE
ELSE IF (juDFT_was_argument("-old")) THEN
CALL rw_inp(&
& ch_rw,atoms,obsolete,vacuum,input,stars,sliceplot,banddos,&
& cell,sym,xcpot,noco,jij,oneD,hybrid,kpts,&
......
This diff is collapsed.
......@@ -58,12 +58,13 @@ MODULE m_cdnpot_io_common
END SUBROUTINE compareStepfunctions
SUBROUTINE compareStructure(atoms, vacuum, cell, refAtoms, refVacuum,&
refCell, l_same)
SUBROUTINE compareStructure(atoms, vacuum, cell, sym, refAtoms, refVacuum,&
refCell, refSym, l_same)
TYPE(t_atoms),INTENT(IN) :: atoms, refAtoms
TYPE(t_vacuum),INTENT(IN) :: vacuum, refVacuum
TYPE(t_cell),INTENT(IN) :: cell, refCell
TYPE(t_sym),INTENT(IN) :: sym, refSym
LOGICAL, INTENT(OUT) :: l_same
......@@ -74,10 +75,14 @@ MODULE m_cdnpot_io_common
IF(atoms%lmaxd.NE.refAtoms%lmaxd) l_same = .FALSE.
IF(atoms%jmtd.NE.refAtoms%jmtd) l_same = .FALSE.
IF(vacuum%dvac.NE.refVacuum%dvac) l_same = .FALSE.
IF(sym%nop.NE.refSym%nop) l_same = .FALSE.
IF(sym%nop2.NE.refSym%nop2) l_same = .FALSE.
IF(ANY(ABS(cell%amat(:,:)-refCell%amat(:,:)).GT.1e-10)) l_same = .FALSE.
IF(l_same) THEN
IF(ANY(atoms%nz(:).NE.refAtoms%nz(:))) l_same = .FALSE.
IF(ANY(atoms%lmax(:).NE.refAtoms%lmax(:))) l_same = .FALSE.
IF(ANY(sym%mrot(:,:,:sym%nop).NE.refSym%mrot(:,:,:sym%nop))) l_same = .FALSE.
IF(ANY(ABS(sym%tau(:,:sym%nop)-refSym%tau(:,:sym%nop)).GT.1e-10)) l_same = .FALSE.
END IF
IF(l_same) THEN
DO i = 1, atoms%nat
......@@ -128,10 +133,11 @@ MODULE m_cdnpot_io_common
TYPE(t_atoms) :: atomsTemp
TYPE(t_sphhar) :: latharmsTemp
TYPE(t_input) :: inputTemp
TYPE(t_sym) :: symTemp
TYPE(t_cell) :: cellTemp
TYPE(t_oneD) :: oneDTemp
TYPE(t_sym) :: symTemp
INTEGER :: starsIndexTemp, structureIndexTemp
LOGICAL :: l_same, l_writeAll
l_storeIndices = .FALSE.
......@@ -140,55 +146,69 @@ MODULE m_cdnpot_io_common
IF(currentStructureIndex.EQ.0) THEN
currentStructureIndex = 1
l_storeIndices = .TRUE.
CALL writeStructureHDF(fileID, input, atoms, cell, vacuum, oneD, currentStructureIndex)
CALL writeStructureHDF(fileID, input, atoms, cell, vacuum, oneD, sym, currentStructureIndex)
ELSE
CALL readStructureHDF(fileID, inputTemp, atomsTemp, cellTemp, vacuumTemp, oneDTemp, currentStructureIndex)
CALL compareStructure(atoms, vacuum, cell, atomsTemp, vacuumTemp, cellTemp, l_same)
CALL readStructureHDF(fileID, inputTemp, atomsTemp, cellTemp, vacuumTemp, oneDTemp, symTemp, currentStructureIndex)
CALL compareStructure(atoms, vacuum, cell, sym, atomsTemp, vacuumTemp, cellTemp, symTemp, l_same)
IF(.NOT.l_same) THEN
currentStructureIndex = currentStructureIndex + 1
l_storeIndices = .TRUE.
l_writeAll = .TRUE.
CALL writeStructureHDF(fileID, input, atoms, cell, vacuum, oneD, currentStructureIndex)
CALL writeStructureHDF(fileID, input, atoms, cell, vacuum, oneD, sym, currentStructureIndex)
END IF
END IF
IF (currentStarsIndex.EQ.0) THEN
currentStarsIndex = 1
l_storeIndices = .TRUE.
CALL writeStarsHDF(fileID, currentStarsIndex, stars)
CALL writeStarsHDF(fileID, currentStarsIndex, currentStructureIndex, stars)
ELSE
CALL peekStarsHDF(fileID, currentStarsIndex, structureIndexTemp)
l_same = structureIndexTemp.EQ.currentStructureIndex
IF(l_same) THEN
CALL readStarsHDF(fileID, currentStarsIndex, starsTemp)
CALL compareStars(stars, starsTemp, l_same)
END IF
IF((.NOT.l_same).OR.l_writeAll) THEN
currentStarsIndex = currentStarsIndex + 1
l_storeIndices = .TRUE.
CALL writeStarsHDF(fileID, currentStarsIndex, stars)
CALL writeStarsHDF(fileID, currentStarsIndex, currentStructureIndex, stars)
END IF
END IF
IF (currentLatharmsIndex.EQ.0) THEN
currentLatharmsIndex = 1
l_storeIndices = .TRUE.
CALL writeLatharmsHDF(fileID, currentLatharmsIndex, latharms)
CALL writeLatharmsHDF(fileID, currentLatharmsIndex, currentStructureIndex, latharms)
ELSE
CALL peekLatharmsHDF(fileID, currentLatharmsIndex, structureIndexTemp)
l_same = structureIndexTemp.EQ.currentStructureIndex
IF(l_same) THEN
CALL readLatharmsHDF(fileID, currentLatharmsIndex, latharmsTemp)
CALL compareLatharms(latharms, latharmsTemp, l_same)
END IF
IF((.NOT.l_same).OR.l_writeAll) THEN
currentLatharmsIndex = currentLatharmsIndex + 1
l_storeIndices = .TRUE.
CALL writeLatharmsHDF(fileID, currentLatharmsIndex, latharms)
CALL writeLatharmsHDF(fileID, currentLatharmsIndex, currentStructureIndex, latharms)
END IF
END IF
IF(currentStepfunctionIndex.EQ.0) THEN
currentStepfunctionIndex = 1
l_storeIndices = .TRUE.
CALL writeStepfunctionHDF(fileID, currentStepfunctionIndex, currentStarsIndex, stars)
CALL writeStepfunctionHDF(fileID, currentStepfunctionIndex, currentStarsIndex,&
currentStructureIndex, stars)
ELSE
CALL peekStepfunctionHDF(fileID, currentStepfunctionIndex, starsIndexTemp, structureIndexTemp)
l_same = (starsIndexTemp.EQ.currentStarsIndex).AND.(structureIndexTemp.EQ.currentStructureIndex)
IF(l_same) THEN
CALL readStepfunctionHDF(fileID, currentStepfunctionIndex, starsTemp)
CALL compareStepfunctions(stars, starsTemp, l_same)
END IF
IF((.NOT.l_same).OR.l_writeAll) THEN
currentStepfunctionIndex = currentStepfunctionIndex + 1
l_storeIndices = .TRUE.
CALL writeStepfunctionHDF(fileID, currentStepfunctionIndex, currentStarsIndex, stars)
CALL writeStepfunctionHDF(fileID, currentStepfunctionIndex, currentStarsIndex,&
currentStructureIndex, stars)
END IF
END IF
......
This diff is collapsed.
......@@ -51,6 +51,7 @@ SUBROUTINE r_inpXML(&
USE m_prpqfft
USE m_prpxcfft
USE m_stepf
USE m_cdn_io
USE m_convn
USE m_efield
USE m_writegw
......@@ -2243,6 +2244,11 @@ SUBROUTINE r_inpXML(&
oneD%pgft1y(0:1),oneD%pgft1yy(0:1))
END IF
oneD%odd%nq2 = oneD%odd%n2d
oneD%odi%nq2 = oneD%odd%nq2
! Store structure data
CALL storeStructureIfNew(input, atoms, cell, vacuum, oneD, sym)
! Generate stars
......
set(fleur_F77 ${fleur_F77}
)
set(fleur_F90 ${fleur_F90}
main/cdngen.f90
main/cdngen.F90
main/fleur.F90
main/fleur_init.F90
main/fleur_job.F90
main/fleur_help.f90
main/fleur_info.f90
main/mix.F90
main/optional.f90
main/optional.F90
main/totale.f90
main/vgen.F90
)
......@@ -32,6 +32,10 @@
use m_m_perp
USE m_types
USE m_xmlOutput
#ifdef CPP_MPI
USE m_mpi_bc_pot
USE m_mpi_bc_coreden
#endif
IMPLICIT NONE
TYPE(t_results),INTENT(INOUT):: results
TYPE(t_mpi),INTENT(IN) :: mpi
......@@ -94,8 +98,15 @@
ALLOCATE(vpw(stars%ng3,dimension%jspd),vzxy(vacuum%nmzxyd,oneD%odi%n2d-1,2,dimension%jspd),&
& vz(vacuum%nmzd,2,dimension%jspd),vr(atoms%jmtd,0:sphhar%nlhd,atoms%ntype,dimension%jspd))
IF (mpi%irank.EQ.0) THEN
CALL readPotential(stars,vacuum,atoms,sphhar,input,sym,POT_ARCHIVE_TYPE_TOT_const,&
iter,vr,vpw,vz,vzxy)
END IF
#ifdef CPP_MPI
CALL mpi_bc_pot(mpi,stars,sphhar,atoms,input,vacuum,&
iter,vr,vpw,vz,vzxy)
#endif
DEALLOCATE ( vpw,vzxy )
ALLOCATE ( qpw(stars%ng3,dimension%jspd),rhtxy(vacuum%nmzxyd,oneD%odi%n2d-1,2,dimension%jspd) )
ALLOCATE ( rho(atoms%jmtd,0:sphhar%nlhd,atoms%ntype,dimension%jspd),rht(vacuum%nmzd,2,dimension%jspd) )
......@@ -164,7 +175,6 @@
IF (noco%l_mperp) jspmax = 1
DO jspin = 1,jspmax
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,&
......@@ -201,8 +211,14 @@
tec = 0.0
qint = 0.0
IF (input%frcor) THEN
IF (mpi%irank.EQ.0) THEN
CALL readCoreDensity(input,atoms,dimension,rh,tec,qint)
END IF
#ifdef CPP_MPI
CALL mpi_bc_coreDen(mpi,atoms,input,dimension,&
rh,tec,qint)
#endif
END IF
DO jspin = 1,input%jspins
IF ((input%jspins.EQ.2).AND.(mpi%irank.EQ.0)) THEN
......@@ -257,9 +273,9 @@
END IF
!
END DO ! loop over spins
IF (mpi%irank.EQ.0) THEN
CALL writeCoreDensity(input,atoms,dimension,rhTemp,tec,qint)
END IF
IF ((input%gw.eq.1 .or. input%gw.eq.3).AND.(mpi%irank.EQ.0)) CLOSE(15)
ELSE
! relativistic core implementation : kcrel.eq.1
......@@ -286,6 +302,7 @@
END DO
END IF
ENDIF
IF ((noco%l_noco).AND.(mpi%irank.EQ.0)) THEN
!---> pk non-collinear
!---> add the coretail-charge to the constant interstitial
......
......@@ -21,36 +21,45 @@ CONTAINS
!now print version info and help on command line arguments:
CALL get_compile_desc_string(infostring)
WRITE(*,'(a500)') infostring
WRITE(*,*)
WRITE(*,*)"------------------------------------------------------"
WRITE(*,*)"Usage info:"
WRITE(*,*)"The following command line options are known:"
WRITE(*,*)"-da,-mem,-mpi,-hdf: choose a storage for the eigenvalues"
WRITE(*,*)" and eigenvectors. The default will depend"
WRITE(*,*)" be -mem for serial and -mpi for parallel builds"
WRITE(*,*)""
WRITE(*,*)"-lapack,-lapack2,"
write(*,*)"-elpa,-scalapack,"
WRITE(*,*)"-elemental,-magma : choose diagonalization. Not all might be available"
WRITE(*,*)""
WRITE(*,*)"-debugtime : write out the start/stop of all timers to STDOUT"
WRITE(*,*)""
WRITE(*,*)"-genEnpara : write enpara file"
WRITE(*,*)""
WRITE(*,*)"-xmlInput or -xml : use inp.xml instead of inp"
WRITE(*,*)""
WRITE(*,*)"-check : run in check mode, i.e. stop after init"
WRITE(*,*)""
WRITE(*,*)"-n_min_size XXX : try to use at least XXX PE in Eigenvalue parallelization"
WRITE(*,*)""
WRITE(*,*)"-wtime XXXXX : run for XXXX minutes (used to estimate if another iteration is started"
WRITE(*,*)""
WRITE(*,*)"-j #:DIR : run subjob in directory DIR using # PEs"
WRITE(*,*)"-f FILENAME : obtain info on subjobs from file FILENAME"
WRITE(*,*)""
WRITE(*,*)"-h, --help : print this text :-)"
WRITE(*,*)""
WRITE(*,*)"Please check the documentation on www.flapw.de for more details"
WRITE(*,'(a)')
WRITE(*,'(a)')"------------------------------------------------------"
WRITE(*,'(a)')"Usage info:"
WRITE(*,'(a)')"The following command line options are known:"
WRITE(*,'(a)')"-da,-mem,-mpi,-hdf: choose a storage for the eigenvalues"
WRITE(*,'(a)')" and eigenvectors. The default will depend"
WRITE(*,'(a)')" be -mem for serial and -mpi for parallel builds"
WRITE(*,'(a)')""
WRITE(*,'(a)')"-lapack,-lapack2,"
WRITE(*,'(a)')"-elpa,-scalapack,"
WRITE(*,'(a)')"-elemental,-magma : choose diagonalization. Not all might be available"
WRITE(*,'(a)')""
WRITE(*,'(a)')"-debugtime : write out the start/stop of all timers to STDOUT"
WRITE(*,'(a)')""