Quantum espresso

From ScientificComputing
Jump to: navigation, search

Category

Chemistry, Quantum chemistry, DFT

Description

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

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

Environment modules

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/16.0.2.181 open_mpi/1.6.5 quantum_espresso/6.1
6.1_W3 module load new intel/16.0.2.181 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"

Example

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 
&control
 calculation = 'scf',
 prefix = 'Si_exc1',
/
&system
 ibrav = 2,
 celldm(1) = 10.26,
 nat = 2,
 ntyp = 1,
 ecutwfc = 20
/
&electrons
 mixing_beta = 0.7
/
ATOMIC_SPECIES
 Si 28.086 Si.pbe-rrkj.UPF
ATOMIC_POSITIONS (alat)
 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
JOBID      USER        STAT  QUEUE      FROM_HOST   EXEC_HOST   JOB_NAME   SUBMIT_TIME
31465888   leonhard    PEND  normal.4h  euler10                 * test.out Nov  9 16:11
[leonhard@euler10 ~]$ bjobs
JOBID      USER        STAT  QUEUE      FROM_HOST   EXEC_HOST   JOB_NAME   SUBMIT_TIME
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

GPLv2

Links

http://www.quantum-espresso.org

http://qe-forge.org/gf
https://en.wikipedia.org/wiki/Quantum_ESPRESSO