From 8429d14c53b729c7fb5afb7fd4693ddfdff5cd89 Mon Sep 17 00:00:00 2001 From: Daniel Wortmann Date: Wed, 31 Aug 2016 14:57:07 +0200 Subject: [PATCH] Last preparations for MaX release: added some nice output updated README --- README | 18 +++++++++++---- main/CMakeLists.txt | 1 + main/fleur_info.f90 | 53 +++++++++++++++++++++++++++++++++++++++++++++ main/fleur_job.F90 | 4 +++- 4 files changed, 71 insertions(+), 5 deletions(-) create mode 100644 main/fleur_info.f90 diff --git a/README b/README index 83facf12..e8725f29 100644 --- a/README +++ b/README @@ -46,13 +46,17 @@ global: code used everywhere (here you find types.F90 with the data-types) cmake: definitions used by cmake (see Installation) +If you modify FLEUR please do so in the develop branch by running +git checkout -t origin/develop +after cloning the git repository. + ---------------------------------------------- 2. Installation ---------------------------------------------- For the compilation of FLEUR you will need: -- Fortran compiler (should support Fortran2003) +- Fortran compiler (should support Fortran2008) - Compatible C compiler for the XML-IO - cmake for controlling the make-process - Libraries: @@ -72,9 +76,15 @@ change to the build directory and type: cmake ../src make -This might generate the FLEUR executables. If you get errors, you have to adjust cmake -so that your build system is correctly set-up. To do so, please adjust cmake.config. You might -find inspiration in the cmake.???.config files provided for several systems. +This might generate the FLEUR executables. It most probable will only work on systems we know as +only for those there will be specific configurations in the cmake directory. + +If you get errors, you have to configure your build system yourself. +There are two options to do that. +- Either set the environment variable FC to either ifort,pgfortran or gfortran. +Then the configuration in the cmake directory will be used from cmake.[ifort|gfortran|pgfortran].config will be used that can again work for your system or can be adjusted. +- Or you run cmake with the option -DFleur_custom_toolchain and you adjust cmake.config to your needs. +You might find inspiration in the cmake.???.config files provided for several systems. If your build environment is recognized correctly you can obtain the following executables: inpgen - the input generator of FLEUR diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index e4b05e8a..213b3ae3 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -5,6 +5,7 @@ main/cdngen.f90 main/fleur.F90 main/fleur_init.F90 main/fleur_job.F90 +main/fleur_info.f90 main/mix.F90 main/optional.f90 main/totale.f90 diff --git a/main/fleur_info.f90 b/main/fleur_info.f90 new file mode 100644 index 00000000..62b55915 --- /dev/null +++ b/main/fleur_info.f90 @@ -0,0 +1,53 @@ +!-------------------------------------------------------------------------------- +! Copyright (c) 2016 Peter Grünberg Institut, Forschungszentrum Jülich, Germany +! This file is part of FLEUR and available as free software under the conditions +! of the MIT license as expressed in the LICENSE file in more detail. +!-------------------------------------------------------------------------------- +MODULE m_fleur_info + IMPLICIT NONE +CONTAINS + SUBROUTINE fleur_info() + USE m_compile_descr + USE m_constants + USE m_juDFT + IMPLICIT NONE + CHARACTER(LEN=50):: gitdesc,githash,compile_date,compile_user,compile_host + + PRINT *," Welcome to FLEUR (www.flapw.de) " + PRINT *," MaX-Release 1 (www.max-centre.eu)" + + IF (.NOT. (juDFT_was_argument("-h").OR.juDFT_was_argument("--help"))) RETURN + + !now print version info and help on command line arguments: + CALL get_compile_desc(gitdesc,githash,compile_date,compile_user,compile_host) + WRITE(*,*) "This is version: ",version_const + WRITE(*,*) "FLEUR was compiled at ",TRIM(compile_date)," by ",TRIM(compile_user)," on ",TRIM(compile_host) + WRITE(*,*) "Its git version is ",TRIM(gitdesc)," with hash: ",TRIM(githash) + 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 : use inp.xml instead of inp" + 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" + + CALL juDFT_error("help was written") + END SUBROUTINE fleur_info +END MODULE m_fleur_info diff --git a/main/fleur_job.F90 b/main/fleur_job.F90 index cc496e98..d4449701 100644 --- a/main/fleur_job.F90 +++ b/main/fleur_job.F90 @@ -128,8 +128,9 @@ CONTAINS END SUBROUTINE SUBROUTINE fleur_job_init() + USE m_fleur_info INTEGER:: i - INTEGER:: irank=1 + INTEGER:: irank=0 #ifdef CPP_MPI INCLUDE 'mpif.h' INTEGER ierr(3) @@ -139,6 +140,7 @@ CONTAINS !$ juDFT_error("MPI not usable with OpenMP") !Select the io-mode from the command-line #endif + if (irank==0) call fleur_info() END SUBROUTINE SUBROUTINE fleur_job_execute(jobs) -- GitLab