These are instructions on how to run the examples for the TDDFPT package.
To run the examples, you should follow this procedure:

1) Edit the "environment_variables" file from the main 
   ESPRESSO directory, setting the following variables as needed:

     BIN_DIR = directory where ESPRESSO executables reside
     PSEUDO_DIR = directory where pseudopotential files reside
     TMP_DIR = directory to be used as temporary storage area

2) If you want to test the parallel version of ESPRESSO, you will 
   usually have to specify a driver program (such as "poe" or "mpirun")
   and the number of processors. This can be done by editing PARA_PREFIX
   and PARA_POSTFIX variables (in the "environment_variables" file).
   Parallel executables will be run by a command like this:

     $PARA_PREFIX turbo_lanczos.x $PARA_POSTFIX < file.in > file.out

   For example, if the command line is like this:

     mpirun -np 8 turbo_lanczos.x < file.in > file.out

   you should set PARA_PREFIX="mpirun -np 8", PARA_POSTFIX=" ".

   See section "Running on parallel machines" of the user guide for details.
   Furthermore, if your machine does not support interactive use, you
   must run the commands specified below through the batch queueing
   system installed on that machine.  Ask your system administrator
   for instructions.

3) To run a single example, go to the corresponding directory (for
   instance, "example/example01") and execute:

     ./run_example

   This will create a subdirectory "results", containing the input and
   output files generated by the calculation.

4) In each example's directory, the "reference" subdirectory contains
   verified output files, that you can check your results against.

   The reference results were generated on a Linux PC with Intel compiler.
   On different architectures the precise numbers could be slightly
   different, in particular if different FFT dimensions are
   automatically selected.  For this reason, a plain "diff" of your
   results against the reference data doesn't work, or at least, it 
   requires human inspection of the results.


                   LIST AND CONTENT OF THE EXAMPLES

example01:
    This example shows how to calculate the absorption spectrum
    of the CH4 molecule using norm-conserving pseudopotentials,
    LDA functional, and using pw.x, turbo_lanczos.x and 
    turbo_spectrum.x.

example02:
    This example shows how to calculate the absorption spectrum
    of the C6H6 molecule using ultrasoft pseudopotentials,
    LDA functional, and using pw.x, turbo_lanczos.x, and 
    turbo_spectrum.x.

example03:
    This example shows how to calculate the absorption spectrum
    of the C6H6 molecule using ultrasoft pseudopotentials,
    LDA functional, using tqr=.true. (this option speeds up
    the calculation with ultrasoft pseudopotentials, but it may be
    numerically less accurate), and using pw.x, turbo_lanczos.x 
    and turbo_spectrum.x.

example04:
    This example shows how to calculate the absorption spectrum
    of the CH4 molecule using norm-conserving pseudopotentials,
    PBE0 functional, and using pw.x, turbo_lanczos.x and 
    turbo_spectrum.x.

example05:
    This example shows how to calculate the absorption spectrum
    of the CH4 molecule using norm-conserving pseudopotentials,
    time-dependent Hartree-Fock approximation, and using pw.x,
    turbo_lanczos.x, and turbo_spectrum.x. In the example,
    the variable ecutfock is set equal to ecutwfc, which speeds up
    the calculation (use with care, because it can reduce the
    accuracy of the results).

example06:
    This example shows how to calculate the response charge density
    at a specific frequency of the excitation (in the absorption 
    spectrum) of the CH4 molecule using norm-conserving pseudopotentials,
    LDA functional, and using pw.x, turbo_lanczos.x, and turbo_spectrum.x.

example07:
    This example shows how to calculate the absorption spectrum
    of the CH4 molecule using the self-consistent continuum solvation
    model (implicit solvent) using norm-conserving pseudopotentials,
    LDA functional, and using pw.x, turbo_lanczos.x, turbo_spectrum.x, 
    and the ENVIRON module. Note that pw.x and turbo_lanczos.x must
    be used with the -environ flag.

example08:
    This example shows how to calculate the absorption spectrum
    of the CH4 molecule using norm-conserving pseudopotentials,
    LDA functional, and using pw.x and turbo_davidson.x.

example09:
    This example shows how to calculate the absorption spectrum
    of the C6H6 molecule using ultrasoft pseudopotentials,
    LDA functional, and using pw.x and turbo_davidson.x.

example10:
    This example shows how to calculate the absorption spectrum
    of the CH4 molecule using norm-conserving pseudopotentials,
    B3LYP functional, and using pw.x and turbo_davidson.x.

example11:
    This example shows how to calculate the absorption spectrum
    of the CH4 molecule using the self-consistent continuum solvation
    model (implicit solvent) using norm-conserving pseudopotentials,
    LDA functional, and using pw.x and turbo_davidson.x and 
    the ENVIRON module. Note that pw.x and turbo_davidson.x must 
    be used with the -environ flag.

example12:
    This example shows how to calculate the response charge density
    at a specific frequency of the excitation (in the absorption
    spectrum) of the H2O molecule using norm-conserving pseudopotentials,
    LDA functional, and using pw.x, turbo_davidson.x, and pp.x.

example13:
    This example shows how to calculate the electron energy loss spectrum 
    of bulk silicon using the Lanczos algorithm with a norm-conserving pseudopotential, 
    LDA functional, and using pw.x, turbo_eels.x, and turbo_spectrum.x.

example14:
    This example shows how to calculate the electron energy loss spectrum
    of bulk aluminum using the Lanczos algorithm with a norm-conserving pseudopotential, 
    LDA functional, and using pw.x, turbo_eels.x, and turbo_spectrum.x.

example15:
    This example shows how to calculate the electron energy loss spectrum
    of bulk silver using the Lanczos algorithm with ultrasoft pseudopotential, 
    PBE functional, and using pw.x, turbo_eels.x, and turbo_spectrum.x.

example16:
    This example shows how to calculate the electron energy loss spectrum
    of bulk bismuth using the Lanczos algorithm with a norm-conserving pseudopotential,
    LDA functional, and using pw.x, turbo_eels.x, and turbo_spectrum.x.
    The calculation is with a noncollinear spin polarization and including
    the spin-orbit coupling effect.

example17:
    This example shows how to calculate the electron energy loss spectrum
    of bulk bismuth using the Lanczos algorithm with a ultrasoft pseudopotential,
    LDA functional, and using pw.x, turbo_eels.x, and turbo_spectrum.x.
    The calculation is with a noncollinear spin polarization and including
    the spin-orbit coupling effect.

example18:
    This example shows how to calculate the electron energy loss spectrum
    of bulk aluminium using the Sternheimer algorithm with a norm-conserving 
    pseudopotential, LDA functional, and using pw.x and turbo_eels.x.
