LCOV - code coverage report
Current view: top level - main - fleur_help.F90 (source / functions) Hit Total Coverage
Test: combined.info Lines: 36 79 45.6 %
Date: 2019-09-08 04:53:50 Functions: 2 2 100.0 %

          Line data    Source code
       1             : !--------------------------------------------------------------------------------
       2             : ! Copyright (c) 2016 Peter Grünberg Institut, Forschungszentrum Jülich, Germany
       3             : ! This file is part of FLEUR and available as free software under the conditions
       4             : ! of the MIT license as expressed in the LICENSE file in more detail.
       5             : !--------------------------------------------------------------------------------
       6             : MODULE m_fleur_help
       7             :   IMPLICIT NONE
       8             :   PRIVATE
       9             :   PUBLIC fleur_help
      10             : CONTAINS
      11          38 :   SUBROUTINE fleur_help()
      12             :     USE m_compile_descr
      13             :     USE m_constants
      14             :     USE m_juDFT
      15             :     USE m_check_arguments
      16             :     IMPLICIT NONE
      17             :  
      18          38 :     CHARACTER(:), ALLOCATABLE:: infostring
      19             : 
      20          38 :     PRINT *,"     Welcome to FLEUR        (www.flapw.de)   "
      21          38 :     PRINT *, version_const_MaX
      22          38 :     CALL add_fleur_arguments()
      23          38 :     IF (.NOT.check_arguments()) CALL judft_warn("Invalid command line arguments",hint="Use -h option to see valid choices")
      24             :     
      25             :     
      26          38 :     IF (.NOT. judft_was_argument("-h")) RETURN
      27             : 
      28             :     !now print version info and help on command line arguments:
      29             :     CALL get_compile_desc_string(infostring)
      30           0 :     WRITE(*,'(a)') infostring
      31           0 :     WRITE(*,'(a)')
      32           0 :     WRITE(*,'(a)')"------------------------------------------------------"
      33           0 :     WRITE(*,'(a)')"Usage info:"
      34           0 :     WRITE(*,'(a)')"The following command line options are known:"
      35           0 :     WRITE(*,'(a)')""
      36           0 :     WRITE(*,'(a)')"Control the input:"
      37           0 :     CALL print_argument("-toXML")
      38           0 :     CALL print_argument("-xmlXPath")
      39           0 :     WRITE(*,'(a)')""
      40           0 :     WRITE(*,'(a)')"Output options:"
      41           0 :     CALL print_argument("-no_out")
      42           0 :     CALL print_argument("-minimalOutput")
      43           0 :     CALL print_argument("-genEnpara")
      44           0 :     CALL print_argument("-h")
      45           0 :     WRITE(*,'(a)')""
      46           0 :     WRITE(*,'(a)')"Control FLEUR job:"
      47             : #ifdef CPP_GPU
      48             :     CALL print_argument("-gpu")
      49             : #endif
      50           0 :     CALL print_argument("-check")
      51           0 :     CALL print_argument("-info")
      52           0 :     CALL print_argument("-wtime")
      53           0 :     CALL print_argument("-j")
      54           0 :     CALL print_argument("-f")
      55           0 :     CALL print_argument("-n_min_size")
      56           0 :     CALL print_argument("-diag")
      57           0 :     CALL print_argument("-eig")
      58           0 :     WRITE(*,'(a)')""
      59           0 :     WRITE(*,'(a)')"Options useful for debugging:"
      60           0 :     CALL print_argument("-warn_only")
      61           0 :     CALL print_argument("-trace")
      62           0 :     CALL print_argument("-debugtime")
      63           0 :     CALL print_argument("-all_times")
      64             : #ifdef CPP_HDF
      65           0 :     WRITE(*,'(a)')""
      66           0 :     WRITE(*,'(a)')"HDF density file relevant options:"
      67             : 
      68           0 :     CALL print_argument("-no_cdn_hdf")
      69           0 :     CALL print_argument("-last_extra")
      70           0 :     CALL print_argument("-sd")
      71           0 :     CALL print_argument("-delden")
      72             : #endif
      73           0 :     WRITE (*,'(a)') "Options for privacy sensitive users"
      74           0 :     CALL print_argument("-no_send")
      75             :     
      76           0 :     WRITE(*,'(a)')""
      77           0 :     WRITE(*,'(a)')"Please check the documentation on www.flapw.de for more details."
      78             : 
      79           0 :     CALL juDFT_end("",l_endXML=.FALSE.) !No message so do a not print more on exit
      80           0 :   END SUBROUTINE fleur_help
      81             : 
      82          38 :   SUBROUTINE add_fleur_arguments()
      83             :     USE m_check_arguments
      84             :     
      85          38 :     CALL new_argument(0,"-toXML","Convert an old 'inp' file into the new XML format","") 
      86          38 :     CALL new_argument(1,"-xmlXPath","modify the xml-xpath of the inp.xml file","") 
      87             :     !Control the job
      88          38 :     CALL new_argument(0,"-check","run in check mode, i.e. stop after init","") 
      89          38 :     CALL new_argument(0,"-info","Print out information on recommended parallelization and available charge densities","") 
      90          38 :     CALL new_argument(2,"-wtime","run for # minutes (used to estimate if another iteration is started)","") 
      91          38 :     CALL new_argument(1,"-j","Distribute MPI ranks to run subjobs (Format PE:DIR meaning run with PE in directory DIR)","") 
      92          38 :     CALL new_argument(1,"-f","Obtain info on subjobs from file","") 
      93          38 :     CALL new_argument(2,"-n_min_size","Try to use at least specified number of PE in eigenvalue parallelization","") 
      94             :     CALL new_argument(1,"-diag","Choose method for diagonalization","lapack,debugout"&
      95             : #ifdef CPP_SCALAPACK
      96             :          //",scalapack"&
      97             : #endif
      98             : #ifdef CPP_ELPA_ONENODE
      99             :          //",elpa_1node"&
     100             : #endif
     101             : #ifdef CPP_ELPA
     102             :        //",elpa"&
     103             : #endif
     104             : #ifdef CPP_CHASE
     105             :        //",chase"&
     106             : #endif
     107             : #ifdef CPP_MAGMA
     108             :        //",magma"&
     109             : #endif
     110             : #ifdef CPP_GPU
     111             :        //",cusolver"&
     112             : #endif
     113          38 :        ) 
     114             :     CALL new_argument(1,"-eig","Method for storing the eigenvectors","mem,da"&
     115             : #ifdef CPP_MPI
     116             :          //",mpi"&
     117             : #endif
     118             : #ifdef CPP_HDF
     119             :          //",hdf"&
     120             : #endif
     121          38 :          ) 
     122             :     !Debugging 
     123          38 :     CALL new_argument(0,"-warn_only","Continue execution after a warning message","") 
     124          38 :     CALL new_argument(0,"-trace","Try to generate a stacktrace in case of an error","") 
     125          38 :     CALL new_argument(0,"-debugtime","Write the start/stop of all timers to the console","")
     126          38 :     CALL new_argument(0,"-all_times","Write json files of timing for all PE, not only for PE=0","")
     127             :     !Output
     128          38 :     CALL new_argument(0,"-mix_io","Do not store mixing history in memory but do IO in each iteration","") 
     129          38 :     CALL new_argument(0,"-no_out","Do not open the 'out' file but write to stdout","")
     130          38 :     CALL new_argument(0,"-minimalOutput","Reduce the amount of output in the out.xml file","") 
     131          38 :     CALL new_argument(0,"-genEnpara","Generate an 'enpara' file for the energy parameters","") 
     132          38 :     CALL new_argument(0,"-gw","Add alternative k point set for GW in all outputs for the XML input file","") 
     133          38 :     CALL new_argument(0,"-noco","write out noco parameters in all outputs for inp.xml","") 
     134          38 :     CALL new_argument(0,"-h","Print this message","")
     135          38 :     CALL new_argument(0,"-no_send","Do not send usage data","")
     136             :     !HDF density
     137          38 :     CALL new_argument(0,"-no_cdn_hdf","Disable HDF charge density mode (activated by default if HDF5 is available)","")
     138          38 :     CALL new_argument(0,"-last_extra","Generate an additional file cdn_last.hdf that contains only the last density","")
     139          38 :     CALL new_argument(2,"-sd","use starting density N, where N is the index of the density according to -info","")
     140          38 :     CALL new_argument(1,"-delden","delete densities (either an index N, a range N-M or the keyword 'allbutlast' should be given)","")
     141             :     !GPU parameter
     142          38 :     CALL new_argument(0,"-gpu","Use GPU for computing","")
     143          38 :   END SUBROUTINE add_fleur_arguments
     144             : END MODULE m_fleur_help

Generated by: LCOV version 1.13