input_description -distribution {Quantum Espresso} -package turboEELS -program turbo_eels.x {

    toc {}

    intro {
    	  Input data format: { } = optional, [ ] = it depends.

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

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

          Comment lines in namelists can be introduced by a "!", exactly as in 
          fortran code. Comments lines in ``cards'' can be introduced by 
          either a "!" or a "#" character in the first position of a line.

	  Structure of the input data:
	  ===============================================================================

	  &lr_input
	    ...
	  /

	  &lr_control
	    ...
	  /	    

    }

    namelist lr_input {

	label { This namelist is always needed ! }

	var prefix -type CHARACTER { 
	    default { 'pwscf' }
	    info {
		Sets the prefix for generated and read files. The files 
		generated by the ground state pw.x run must have this 
		same prefix.
	    }
	}

	var outdir -type CHARACTER { 
	    default { './' }
	    info {
		The directory that contains the run critical files, which 
		include the files generated by ground state pw.x run.
	    }
	}

	var restart -type LOGICAL {
	    default {.false.}
	    info {
		When set to .true., turbo_eels.x will attempt to restart 
		from a previous interrupted calculation. (see restart_step 
		variable).
		Beware, if set to .false. turbo_eels.x will OVERWRITE any
		previous runs.
	    }
	}

	var restart_step -type INTEGER {
	    default {itermax}
	    info {
		The code writes restart files every restart_step iterations.
		Restart files are automatically written at the end of 
		itermax Lanczos steps.
	    }
	}

	var lr_verbosity -type INTEGER {
	    default {1}
	    info {
		This integer variable controls the amount of information 
		written to standard output.
	    }
	}

	var disk_io -type CHARACTER {
	    default { 'default' }
	    info {
    		Fine control of disk usage. Currently only 'reduced' is 
		supported where no restart files are written, apart from 
		the 'default' mode.
	    }
	}
    }
    namelist lr_control {
	var itermax -type INTEGER {
	    default {500}
	    info {
		Number of Lanczos iterations to be performed.
		}
	}

        var pseudo_hermitian -type LOGICAL {
            default {.true.}
            info {
                When set to .true. the pseudo-Hermitian Lanczos 
                algorithm is used. When set to .false. the 
                non-Hermitian Lanczos biorthogonalization algorithm 
                is used (which is two times slower).
                }
        }
	
	var approximation -type CHARACTER {
	    default { 'TDDFT' }
	    info {
                A string describing a level of theory:
                'TDDFT'            - Time-Dependent Local Density Approximation or
                                     Time-Dependent Generalized Gradient Approximation
                                     (depending on the XC functional),
                'IPA'              - Independent Particle Approximation,
                'RPA_with_CLFE'    - Random Phase Approximation with
                                     Crystal Local Field Effects.
		}
	}

        var qi -type INTEGER {
            default {1.0}
            info {
                The values of the transferred momentum 
                in Cartesian coordinates (i=1,2,3) 
                in units of 2pi/a0 (a0 = lattice parameter). 
                It must be specified as q1, q2, q3.
                }
        }


    }			

}
