Quantum espresso

From ScientificComputing
Revision as of 07:24, 8 November 2016 by Sfux (talk | contribs) (Created page with "{{Application}}")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Chemistry, Quantum chemistry, DFT


Quantum ESPRESSO is an integrated suite of Open-Source computer codes for electronic-structure calculations and materials modeling at the nanoscale. It is based on density-functional theory, plane waves, and pseudopotentials. Quantum ESPRESSO has evolved into a distribution of independent and inter-operable codes in the spirit of an open-source project. The Quantum ESPRESSO distribution consists of a “historical” core set of components, and a set of plug-ins that perform more advanced tasks, plus a number of third-party packages designed to be inter-operable with the core components. Researchers active in the field of electronic-structure calculations are encouraged to participate in the project by contributing their own codes or by implementing their own ideas into existing codes.

Available versions (Euler, old software stack)

Legacy versions Supported versions New versions
4.0.3 5.1, 5.3, 6.0, 6.1, 6.1_W3

Environment modules (Euler, old software stack)

Version Module load command Additional modules loaded automatically
4.0.3 module load legacy intel/14.0.1 open_mpi/1.6.5 quantum_espresso/4.0.3
5.1 module load intel/14.0.1 open_mpi/1.6.5 quantum_espresso/5.1
5.3 module load intel/14.0.1 open_mpi/1.6.5 quantum_espresso/5.3
6.0 module load intel/15.0.0 open_mpi/1.6.5 quantum_espresso/6.0
6.1 module load new intel/ open_mpi/1.6.5 quantum_espresso/6.1
6.1_W3 module load new intel/ open_mpi/1.6.5 quantum_espresso/6.1

How to submit a job

You can submit a Quantum ESPRESSO job (test.in) in batch mode with the following command:
bsub [LSF options] "[BINARY] [Quantum ESPRESSO options] -i test.in > test.out"

Quantum ESPRESSO does not have a main binary to call the program. You need to chose a particular binary according to the Quantum ESPRESSO package that you would like to use. Therefore you need to replace [BINARY] with one of the following executables:

average.x, band_plot.x, bands_FS.x, bands.x, bgw2pw.x, casino2upf.x, cpmd2upf.x, cppp.x, cp.x, d3.x, dipole.x, dist.x, dos.x, dynmat.x, epsilon.x, epw.x, ev.x, fd_ef.x, fd_ifc.x, fd.x, fhi2upf.x, fpmd2upf.x, fqha.x, fs.x, generate_rVV10_kernel_table.x, generate_vdW_kernel_table.x, gww_fit.x, gww.x, head.x, importexport_binary.x, initial_state.x, interpolate.x, iotk, iotk_print_kinds.x, iotk.x, kpoints.x, kvecs_FS.x, lambda.x, ld1.x, manycp.x, manypw.x, matdyn.x, metadyn_pp.x, molecularnexafs.x, molecularpdos.x, ncpp2upf.x, neb.x, oldcp2upf.x, path_interpolation.x, path_int.x, pawplot.x, phcg.x, ph.x, plan_avg.x, plotband.x, plotproj.x, plotrho.x, pmw.x, postw90.x, pp.x, projwfc.x, pw2bgw.x, pw2casino.x, pw2gw.x, pw2wannier90.x, pw4gww.x, pwcond.x, pw_export.x, pwi2xsf.x, pw.x, q2qstar.x, q2r.x, q2trans_fd.x, q2trans.x, read_upf_tofile.x, rrkj2upf.x, spectra_correction.x, spectra_manipulation.x, sumpdos.x, turbo_davidson.x, turbo_eels.x, turbo_lanczos.x, turbo_spectrum.x, upf2casino.x, uspp2upf.x, vdb2upf.x, vdw.x, virtual.x, voronoy.x, w90chk2chk.x, wannier90.x, wannier_ham.x, wannier_plot.x, westpp.x, wfck2r.x, wfdd.x, wfreq.x, wstat.x, xspectra.x
[Quantum ESPRESSO options] needs to be replaced by command line options of the particular package that you chose and you need to replace [LSF options] with LSF parameters for the resource requirements of the job. Please find a documentation about the parameters of bsub on the wiki page about the batch system.

Parallel jobs

For parallel Quantum ESPRESSO jobs, you need to prefix the binary with the mpirun command:
bsub -n X [LSF options] "mpirun BINARY [Quantum ESPRESSO options] -i test.in > test.out"

Please note that you do not need to set the -np for the mpirun command, as the batch system will set it automatically to the value that you have specified for the -n option for the bsub command. In addition to requesting multiple cores and using the mpirun command, you also need to specify the number of cores to the Quantum ESPRESSO executable. A typical submission command for a parallel job could look like

bsub -n 4 -W 4:00 -R "rusage[mem=2048]" "mpirun pw.x -procs 4 -i test.in > test.out"


As an example for a Quantum ESPRESSO job, we are looking at bulk Si.
[leonhard@euler10 ~]$ module load intel/15.0.0 open_mpi/1.6.5 quantum_espresso/6.0
[leonhard@euler10 ~]$ cat test.in 
 calculation = 'scf',
 prefix = 'Si_exc1',
 ibrav = 2,
 celldm(1) = 10.26,
 nat = 2,
 ntyp = 1,
 ecutwfc = 20
 mixing_beta = 0.7
 Si 28.086 Si.pbe-rrkj.UPF
 Si 0.0 0.0 0.0
 Si 0.25 0.25 0.25
K_POINTS        (automatic)
 6 6 6 1 1 1
[leonhard@euler10 ~]$ bsub -n 1 -W 4:00 -R "rusage[mem=2048]" "pw.x -i test.in > test.out"
Generic job.
Job <31465888> is submitted to queue <normal.4h>.
[leonhard@euler10 ~]$ bjobs
31465888   leonhard    PEND  normal.4h  euler10                 * test.out Nov  9 16:11
[leonhard@euler10 ~]$ bjobs
31465888   leonhard    RUN   normal.4h  euler10     e1403       * test.out Nov  9 16:11
[leonhard@euler10 ~]$ bjobs
No unfinished job found
[leonhard@euler10 ~]$ grep "!    total energy" test.out
!    total energy              =     -15.74071929 Ry
The resource usage summary of the job can be found in the lsf.o31465888 file.

License information