    ------------------------------------------------------------------------
    INPUT FILE DESCRIPTION

    Program: neb.x / NEB / Quantum Espresso
    ------------------------------------------------------------------------

    Input data format: { } = optional, [ ] = it depends, | = or

    All quantities whose dimensions are not explicitly specified are in
    RYDBERG ATOMIC UNITS

    BEWARE: TABS, DOS <CR><LF> CHARACTERS ARE POTENTIAL SOURCES OF TROUBLE

    General input file structure:
    ===============================================================================

    neb.x DOES NOT READ FROM STANDARD INPUT
    There are two ways for running a calculation with neb.x:
    1) specifying a file to parse with the ./neb.x -inp or
     neb.x -input command line option.
    2) or specifying the number of copies of PWscf input ./neb.x -input\_images.

    For case 1) a file containing KEYWORDS has to be written (see below).
    These KEYWORDS tells the parser which part of the file regards neb specifics
    and which part regards the energy/force engine (at the moment only PW).
    After the parsing different files are generated: neb.dat, with
    neb specific variables and a set of pw_*.in PWscf input files like
    one for each input position. All options for a single SCF calculation apply.

    The general structure of the file to be parsed is:

    BEGIN
    BEGIN_PATH_INPUT
    ... neb specific namelists and cards
    END_PATH_INPUT
    BEGIN_ENGINE_INPUT
    ...pw specific namelists and cards
    BEGIN_POSITIONS
    FIRST_IMAGE
    ...pw ATOMIC_POSITIONS card
    INTERMEDIATE_IMAGE
    ...pw ATOMIC_POSITIONS card
    LAST_IMAGE
    ...pw ATOMIC_POSITIONS card
    END_POSITIONS
    ... other pw specific cards
    END_ENGINE_INPUT
    END

    For case 2) neb.dat and all pw_1.in, pw_2.in ... should be already present.

    Structure of the input data (file neb.dat) :
    ===============================================================================

    &PATH
      ...
    /

    [ CLIMBING_IMAGES
       list of images, separated by a comma ]

    ========================================================================
    NAMELIST: &PATH

       +--------------------------------------------------------------------
       Variable:       string_method

       Type:           CHARACTER
       Default:        'neb'
       Description:    a string describing the task to be performed:
                          'neb',
                          'smd'
       +--------------------------------------------------------------------

       +--------------------------------------------------------------------
       Variable:       restart_mode

       Type:           CHARACTER
       Default:        'from_scratch'
       Description:    'from_scratch'  : from scratch

                       'restart'       : from previous interrupted run
       +--------------------------------------------------------------------

       +--------------------------------------------------------------------
       Variable:       nstep_path

       Type:           INTEGER
       Description:    number of ionic + electronic steps
       Default:        1
       +--------------------------------------------------------------------

       +--------------------------------------------------------------------
       Variable:       num_of_images

       Type:           INTEGER
       Default:        0
       Description:    Number of points used to discretize the path
                       (it must be larger than 3).
       +--------------------------------------------------------------------

       +--------------------------------------------------------------------
       Variable:       opt_scheme

       Type:           CHARACTER
       Default:        'quick-min'
       Description:    Specify the type of optimization scheme:

                       'sd'         : steepest descent

                       'broyden'    : quasi-Newton Broyden's second method (suggested)

                       'broyden2'   : another variant of the quasi-Newton Broyden's
                                      second method to be tested and compared with the
                                      previous one.

                       'quick-min'  : an optimisation algorithm based on the
                                      projected velocity Verlet scheme

                       'langevin'   : finite temperature langevin dynamics of the
                                      string (smd only). It is used to compute the
                                      average path and the free-energy profile.
       +--------------------------------------------------------------------

       +--------------------------------------------------------------------
       Variable:       CI_scheme

       Type:           CHARACTER
       Default:        'no-CI'
       Description:    Specify the type of Climbing Image scheme:

                       'no-CI'      : climbing image is not used

                       'auto'       : original CI scheme. The image highest in energy
                                      does not feel the effect of springs and is
                                      allowed to climb along the path

                       'manual'     : images that have to climb are manually selected.
                                      See also CLIMBING_IMAGES card
       +--------------------------------------------------------------------

       +--------------------------------------------------------------------
       Variable:       first_last_opt

       Type:           LOGICAL
       Default:        .FALSE.
       Description:    Also the first and the last configurations are optimized
                       "on the fly" (these images do not feel the effect of the springs).
       +--------------------------------------------------------------------

       +--------------------------------------------------------------------
       Variable:       temp_req

       Type:           REAL
       Default:        0.D0 Kelvin
       Description:    Temperature used for the langevin dynamics of the string.
       +--------------------------------------------------------------------

       +--------------------------------------------------------------------
       Variable:       ds

       Type:           REAL
       Default:        1.D0
       Description:    Optimisation step length ( Hartree atomic units ).
                       If opt_scheme="broyden", ds is used as a guess for the
                       diagonal part of the Jacobian matrix.
       +--------------------------------------------------------------------

       +--------------------------------------------------------------------
       Variables:      k_max, k_min

       Type:           REAL
       Default:        0.1D0 Hartree atomic units
       Description:    Set them to use a Variable Elastic Constants scheme
                       elastic constants are in the range [ k_min, k_max ]
                       this is useful to rise the resolution around the saddle point.
       +--------------------------------------------------------------------

       +--------------------------------------------------------------------
       Variable:       path_thr

       Type:           REAL
       Default:        0.05D0 eV / Angstrom
       Description:    The simulation stops when the error ( the norm of the force
                       orthogonal to the path in eV/A ) is less than path_thr.
       +--------------------------------------------------------------------

       +--------------------------------------------------------------------
       Variable:       use_masses

       Type:           LOGICAL
       Default:        .FALSE.
       Description:    If. TRUE. the optimisation of the path is performed using
                       mass-weighted coordinates. Useful together with quick-min
                       optimization scheme, if some bonds are much stiffer than
                       others. By assigning a larger (fictitious) mass to atoms
                       with stiff bonds, one may use a longer time step "ds"
       +--------------------------------------------------------------------

       +--------------------------------------------------------------------
       Variable:       use_freezing

       Type:           LOGICAL
       Default:        .FALSE.
       Description:    If. TRUE. the images are optimised according to their error:
                       only those images with an error larger than half of the largest
                       are optimised. The other images are kept frozen.
       +--------------------------------------------------------------------

    ===END OF NAMELIST======================================================

    ========================================================================
    CARD: CLIMBING_IMAGES

       OPTIONAL CARD, NEEDED ONLY IF CI_SCHEME = 'MANUAL', IGNORED OTHERWISE !

       /////////////////////////////////////////
       // Syntax:                             //
       /////////////////////////////////////////

          CLIMBING_IMAGES
             index1, index2, ... indexN

       /////////////////////////////////////////

       DESCRIPTION OF ITEMS:

          +--------------------------------------------------------------------
          Variables:      index1, index2, ... indexN

          Type:           INTEGER
          Description:    index1, index2, ..., indexN are indices of the images to which the
                          Climbing-Image procedure apply. If more than one image is specified
                          they must be separated by a comma.
          +--------------------------------------------------------------------

    ===END OF CARD==========================================================