mirror of https://gitlab.com/QEF/q-e.git
192 lines
6.9 KiB
Plaintext
192 lines
6.9 KiB
Plaintext
These are basic instructions on how to run the examples contained
|
|
within the "examples" directory of the PWscf distribution (same
|
|
directory where this README file should be).
|
|
|
|
1) Edit the file "environment_variables" in the "examples" directory
|
|
and set the following variables as needed:
|
|
|
|
BIN_DIR = path of compiled PWscf executables
|
|
PSEUDO_DIR = path of pseudopotentials required by the examples
|
|
TMP_DIR = temporary directory to be used by the examples
|
|
|
|
If you have downloaded the full PWscf distribution, you may set
|
|
BIN_DIR = $TOPDIR/bin and PSEUDO_DIR = $TOPDIR/pseudo, where
|
|
$TOPDIR is the root of the PWscf source tree. (Accordingly, the
|
|
examples directory should be $TOPDIR/examples.) To have the
|
|
executables in $TOPDIR/bin, you must have run "make links" after
|
|
compiling.
|
|
|
|
TMP_DIR must be a temporary storage area you have read/write access
|
|
to, is large enough to host the temporary files produced by the
|
|
PWscf programs, and possibly offers high I/O performance (no NFS).
|
|
|
|
2) Check that the directory specified by PSEUDO_DIR contains the
|
|
following files:
|
|
|
|
Al.vbc.UPF, As.gon.UPF, Cu.pz-d-rrkjus.UPF, CUS.RRKJ3.UPF,
|
|
CuUS.RRKJ3.UPF, Fe.pz-nd-rrkjus.UPF, Ni.pbe-nd-rrkjus.UPF,
|
|
NiUS.RRKJ3.UPF, O.LDA.US.RRKJ3i.UPF, Si.vbc.UPF, H.vbc.UPF,
|
|
Pb.vdb.UPF, O.vdb.UPF, Ti.vdb.UPF
|
|
|
|
If any of these are missing, you may not be able to run some of the
|
|
examples. You can download the missing ones from the web at the
|
|
address: http://www.pwscf.org/pseudo.htm
|
|
|
|
3) ONLY FOR PARALLEL ARCHITECTURES: to run parallel jobs, your machine
|
|
may require that executable programs be run through a driver
|
|
program such as "poe" or "mpiexec". For example on an IBM SP4,
|
|
pw.x could be run on 4 processors this way:
|
|
|
|
poe pw.x -procs 4 < file.in > file.out
|
|
|
|
If this is the case, you must edit again the file
|
|
"environment_variables" 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
|
|
|
|
Thus, in the example above, you should set PARA_PREFIX="poe" and
|
|
PARA_POSTFIX="-procs 4".
|
|
|
|
Also, if the machine does not support interactive use, you should
|
|
write the commands specified below in a batch script, and run it
|
|
through the batch queuing system installed on that machine.
|
|
|
|
4) To run a specific example: cd to the corresponding directory (i.e.,
|
|
example01) and execute:
|
|
|
|
./run_example
|
|
|
|
A subdirectory "results" is produced which collects the input and
|
|
output files generated by the calculation. The results can be
|
|
compared to those in the "reference" subdirectory coming with this
|
|
distribution.
|
|
|
|
The reference results where generated on a 1.7 GHz Pentium IV using
|
|
Intel compiler (ifc) v.6 and MKL libraries v.5.1.
|
|
On different architectures the precise numbers could be slightly
|
|
different (in particular if different FFT dimensions are
|
|
automatically selected) but not in any significant way.
|
|
|
|
5) To check the generated results against those in the "reference"
|
|
directory coming with this distribution, execute:
|
|
|
|
./check_example example_dir
|
|
|
|
from the "examples" directory.
|
|
"example_dir" is the directory of the example that you want to
|
|
check (i.e., ./check_example example01). You can specify multiple
|
|
directories.
|
|
|
|
Note: at the moment "check_example" is in early development and
|
|
known not to work in many cases, in particular you should only run
|
|
it on examples 1 to 4.
|
|
|
|
6) To run all the examples in one go, execute:
|
|
|
|
./run_all_examples
|
|
|
|
from the "examples" directory.
|
|
|
|
7) To restore the examples subdirectories to their original content,
|
|
run the "make_clean" script. For each example, this removes the
|
|
subdirectory "results" together with all files apart from "README",
|
|
and "run_example". If additional subdirectories have been created
|
|
they are not deleted.
|
|
|
|
-----------------------------------------------------------------------
|
|
|
|
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 in diamond structure.
|
|
|
|
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 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 par2.x to perform molecular dynamics
|
|
simulation of H2O.
|
|
|
|
example20:
|
|
This example shows how to use par2.x to perform molecular dynamics
|
|
simulation of NH3.
|
|
|
|
example21:
|
|
This example shows how to use par2.x to perform molecular dynamics
|
|
simulation of medium to large systems.
|