quantum-espresso/examples/README

239 lines
8.9 KiB
Plaintext

These are instructions on how to run some or all of the examples
contained within the "examples" directory of the ESPRESSO
distribution (the one where this file should be). Those examples try
to exercise all the programs and features of the ESPRESSO package: for
details, see the "README" file in each example's directory.
If you find that any relevant feature isn't being tested, please
contact us (or even better, write and send us a new example
yourself!).
If you haven't downloaded the full ESPRESSO distribution and don't
have the examples, you can get them from the Test and Examples Page of
the ESPRESSO web site (http://www.pwscf.org/tests.htm). The necessary
pseudopotentials are included.
To run the examples, you should follow this procedure:
1) Go to the "examples" directory and edit the "environment_variables"
file, 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
If you have downloaded the full ESPRESSO distribution, you may set
BIN_DIR=$TOPDIR/bin and PSEUDO_DIR=$TOPDIR/pseudo, where $TOPDIR is
the root of the ESPRESSO source tree.
The PSEUDO_DIR directory must contain the following files:
Al.vbc.UPF, As.gon.UPF, C.pz-rrkjus.UPF, Cu.pz-d-rrkjus.UPF,
Fe.pz-nd-rrkjus.UPF, H.fpmd.UPF, H.vbc.UPF, N.BLYP.UPF,
Ni.pbe-nd-rrkjus.UPF, NiUS.RRKJ3.UPF, O.BLYP.UPF,
O.LDA.US.RRKJ3.UPF, O.pbe-rrkjus.UPF, O.vdb.UPF, OPBE_nc.UPF,
Pb.vdb.UPF, Ptrel.RRKJ3.UPF, Si.vbc.UPF, SiPBE_nc.UPF, Ti.vdb.UPF
If any of these are missing, you may not be able to run some of the
examples. You can download them from the Pseudopotentials Page of
the ESPRESSO web site (http://www.pwscf.org/pseudo.htm).
TMP_DIR must be a directory you have read and write access to, with
enough available space to host the temporary files produced by the
example runs, and possibly offering high I/O performance (i.e.,
don't use an NFS-mounted directory).
2) If you have compiled the parallel version of ESPRESSO (that is the
default), you'll usually have to specify a driver program (such as
"poe" or "mpiexec") and the number of processors: see the section
``Running on parallel machines'' of the ESPRESSO manual for
details.
In order to do that, edit again the "environment_variables" file
and set the PARA_PREFIX and PARA_POSTFIX variables as needed.
Parallel executables will be run by a command like this:
$PARA_PREFIX pw.x $PARA_POSTFIX < file.in > file.out
For example, if the command line is like this (as for an IBM SP4):
poe pw.x -procs 4 < file.in > file.out
you should set PARA_PREFIX="poe", PARA_POSTFIX="-procs 4".
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
(for examples 21 and 26, see their description below)
This will create a subdirectory "results", containing the input and
output files generated by the calculation.
Some examples take only a few seconds to run, while others may
require several minutes depending on your system.
To run all the examples in one go, execute:
./run_all_examples
from the "examples" directory. On a single-processor machine, this
typically takes one to three hours.
The "make_clean" script cleans the examples tree, by removing all
the "results" subdirectories. However, if additional
subdirectories have been created, they aren't deleted.
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.
Instead, you can run the "check_example" script in the "examples"
directory:
./check_example example_dir
where "example_dir" is the directory of the example that you want
to check (e.g., "./check_example example01"). You can specify
multiple directories.
Note: at the moment "check_example" is in early development and
(should be) guaranteed to work only on examples 01 to 04.
-----------------------------------------------------------------------
LIST AND CONTENT OF THE EXAMPLES
example01:
This example shows how to use pw.x to calculate the total energy
and the band structure of four simple systems: Si, Al, Cu, Ni.
example02:
This example shows how to use pw.x and ph.x to calculate phonon
frequencies at Gamma and X for Si and C in the diamond structure and
for fcc-Ni.
example03:
This example shows how to use pw.x to compute the equilibrium
geometry of a simple molecule, CO, and of an Al (001) slab.
In the latter case the relaxation is performed in two ways:
1) using the quasi-Newton BFGS algorithm
2) using a damped dynamics algorithm.
example04:
This example shows how to use pw.x to perform molecular dynamics
for 2- and 8-atom cells of Si starting with compressed bonds along
(111).
example05:
This example shows how to use pw.x and postprocessing codes to
make a contour plot in the [110] plane of the charge density for
Si, and to plot the band structure of Si.
example06:
This example shows how to calculate interatomic force constants in
real space for AlAs in zincblende structure.
example07:
This example shows how to calculate electron-phonon interaction
coefficients at X for fcc Al.
example08:
This example shows how to use pw.x to calculate the DOS of Ni.
example09:
This example shows how to use pw.x and phcg.x to calculate the
normal modes of a molecule (SiH4) at Gamma.
example10:
This example shows how to calculate the polarization via Berry
Phase in PBTiO3 (contributed by the Vanderbilt Group in Rutgers
University).
example11:
This example shows how to calculate the total energy of an
isolated atom in a supercell with fixed occupations.
Two examples: LDA energy of Al and sigma-GGA energy of O.
example12:
This example shows how to use pw.x and pwcond.x to calculate the
complex bands and the transmission coefficient of an open quantum
system.
example13:
This example shows how to use pw.x to calculate the total energy
and the band structure of four simple systems in the non-collinear
case: Fe, Cu, Ni, O.
example14:
This example shows how to use pw.x, ph.x and d3.x to calculate the
third-order expansion coefficients of the total energy of Si.
example15:
This example shows how to use pw.x, ph.x, and ram.x to calculate
the Raman tensor for AlAs.
example16:
This example shows a calculation of STM maps.
example17:
This example shows how to use pw.x to calculate the minimum energy
path (MEP) in the collinear proton transfer reaction H2+H => H+H2.
example18:
This example shows how to use cp.x to perform molecular dynamics
simulation of SiO2.
example19:
This example shows how to use fpmd.x to perform molecular dynamics
simulation of H2O.
example20:
This example shows how to use fpmd.x to perform molecular dynamics
simulation of NH3.
example21:
This example shows how to use fpmd.x to perform molecular dynamics
simulation of medium to large systems.
This example consists in calculations with 32, 64, 128, 256 water
molecules and takes a long time to execute. To run a calculation
with up to N molecules, use:
./run_example N
Note that "./run_example" alone does nothing.
example22:
This example shows how to use pw.x to calculate the total energy
and the band structure of fcc-Pt with a fully relativistic US-PP
which includes spin-orbit effects.
example23:
This example shows how to use cp.x to calculate Wannier functions
and to perform dynamics with an external electric field.
(contributed by Manu Sharma)
example24:
This example shows how to use efg.x to calculate the electric field
gradient, and to obtain the quadrupolar parameters of an NMR experiment.
The solid in example is quartz.
example25:
This example shows how to use pw.x to perform LDA+U calculations.
example26:
This example shows how to use cp.x to do String method (SMD) to find
the minimum energy path (MEP) (contributed by Yosuke Kanai).
This example consists in 7 calculations and takes a long time.
In order to run calculations up to the N-th, use:
./run_example N
Note that "./run_example" alone does nothing.