scispace - formally typeset
Search or ask a question
Journal ArticleDOI

Quantum ESPRESSO: a modular and open-source software project for quantum simulations of materials

TL;DR: Quantum ESPRESSO as discussed by the authors is an integrated suite of computer codes for electronic-structure calculations and materials modeling, based on density functional theory, plane waves, and pseudopotentials (norm-conserving, ultrasoft, and projector-augmented wave).
Abstract: Quantum ESPRESSO is an integrated suite of computer codes for electronic-structure calculations and materials modeling, based on density-functional theory, plane waves, and pseudopotentials (norm-conserving, ultrasoft, and projector-augmented wave). Quantum ESPRESSO stands for "opEn Source Package for Research in Electronic Structure, Simulation, and Optimization". It is freely available to researchers around the world under the terms of the GNU General Public License. Quantum ESPRESSO builds upon newly-restructured electronic-structure codes that have been developed and tested by some of the original authors of novel electronic-structure algorithms and applied in the last twenty years by some of the leading materials modeling groups worldwide. Innovation and efficiency are still its main focus, with special attention paid to massively-parallel architectures, and a great effort being devoted to user friendliness. Quantum ESPRESSO is evolving towards a distribution of independent and inter-operable codes in the spirit of an open-source project, where 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.

Summary (6 min read)

1. Introduction

  • The combination of methodological and algorithmic innovations and ever-increasing computer power is delivering a simulation revolution in materials modeling, starting from the nanoscale up to bulk materials and devices [1].
  • Such approaches will require software packages that can perform different kinds of computations on different aspects of the same problem and/or different portions of the same system, and that allow for interoperability or joint usage of the different modules.
  • A successful example comes from the software for simulations in quantum chemistry, that has often (but not always) evolved towards commercialization: the development and maintenance of most well-known packages is devolved to non-profit [5–8] or commercial [9–12] companies.
  • This model has worked well, and is also used by some of the leading development groups in the condensed-matter electronicstructure community [13, 14], while some proprietary projects allow for some free academic usage of their products [14–19].

2. The QUANTUM ESPRESSO project

  • QUANTUM ESPRESSO is an integrated suite of computer codes for electronic-structure calculations and materials modeling based on density-functional theory, plane waves basis sets and pseudopotentials to represent electron–ion interactions.
  • The two main goals of this project are to foster methodological innovation in the field of electronic-structure simulations and to provide a wide and diverse community of end users with highly efficient, robust, and userfriendly software implementing the most recent innovations in this field.
  • Interoperability of different components within QUANTUM ESPRESSO is granted by the use of common formats for the input, output, and work files.
  • Fortran95 offers the possibility to introduce advanced programming techniques without sacrificing performance.

2.1. QE-forge

  • The ambition of the QUANTUM ESPRESSO project is not limited to providing highly efficient and user-friendly software for large-scale electronic-structure calculations and materials modeling.
  • QUANTUM ESPRESSO aims at promoting active cooperation among a vast and diverse community of scientists developing new methods and algorithms in electronic-structure theory and of end users interested in their application to the numerical simulation of materials and devices.
  • As mentioned, the main source of inspiration for the model the authors want to promote is the successful cooperative experience of the GNU/Linux developers’ and users’ community.
  • These developments have largely benefited from the SourceForge code repository and software development service [31], or by other similar services, such as RubyForge, Tigris.org, BountySource, BerliOS, JavaForge, and GNU Savannah.
  • Inspired by this model, the QUANTUM ESPRESSO developers’ and users’ community has set up its own web portal, named qe-forge [27].

2.2. Educational usage of QUANTUM ESPRESSO

  • Training on advanced simulation techniques using the QUANTUM ESPRESSO distribution is regularly offered at SISSA to first-year graduate students within the electronicstructure course.
  • The scope of this course is not limited to the opportunities that modern simulation techniques based on electronic-structure theory offer to molecular and materials modeling.
  • Based on this experience, the QUANTUM ESPRESSO developers’ group offers, on a regular basis, training courses to graduate students and young researchers worldwide, also in collaboration with the Abdus Salam International Centre for Theoretical Physics, which operates under the aegis of UNESCO and IAEA agencies of the UNO.
  • At MIT, for example, it is one of the teaching tools in the class Introduction to Modeling and Simulations—an institute-wide course offered to undergraduates from the School of Science and the School of Engineering.
  • The authors experience shows that, when compared to the cost of purchasing, maintaining and administering computer clusters, the use of web-based computational resources becomes a very appealing and affordable option.

3. Short description of QUANTUM ESPRESSO

  • QUANTUM ESPRESSO implements a variety of methods and algorithms aimed at a chemically realistic modeling of materials from the nanoscale upwards, based on the solution of the density-functional theory (DFT) [2, 3] problem, using a plane waves (PWs) basis set and pseudopotentials (PPs) [32] to represent electron–ion interactions.
  • The codes are constructed around the use of periodic boundary conditions, which allows for a straightforward treatment of infinite crystalline systems, and an efficient convergence to the thermodynamic limit for aperiodic but extended systems, such as liquids or amorphous materials.
  • The latter is an area of very active development.

3.1. Data file format

  • The interoperability of different software components within a complex project such as QUANTUM ESPRESSO relies on the careful design of file formats for data exchange.
  • The need for data file formats that make data exchange easier than it is now is starting to be widely appreciated in the electronicstructure community.
  • This problem has many aspects and likely no simple, ‘one-size-fits-all’, solution.
  • Another problem affecting interoperability of PW–PP codes is the availability of data files containing atomic PPs— one of the basic ingredients of the calculation.
  • Again, the choice has fallen on a simple solution that makes it easy to write converters from and to the format used by QUANTUM ESPRESSO.

4. QUANTUM ESPRESSO packages

  • The complete QUANTUM ESPRESSO distribution is rather large.
  • 10 000 lines of specific documentation (not counting different formats), more than 100 different examples and more than 100 tests of the different functionalities.
  • QUANTUM ESPRESSO is presently divided into several executables, performing different types of calculations, although some of them have overlapping functionalities.
  • Typically there is a single set of functions/subroutines or a single Fortran 90 module that performs each specific task (e.g. matrix diagonalizations, or potential updates), but there are still important exceptions to this rule, reflecting the different origin and different styles of the original components.
  • In the following, the main components are briefly described.

4.1. PWscf

  • PWscf implements an iterative approach to reach selfconsistency, using at each step iterative diagonalization techniques, in the framework of the plane-wave pseudopotential method.
  • In the case of US PPs, the electronic wavefunctions can be made smoother at the price of having to augment their square modulus with additional contributions to recover the actual physical charge densities.
  • PWscf can use the well established LDA and GGA exchange–correlation functionals, including spin-polarization within the scheme proposed in [82] and can treat noncollinear magnetism [48, 49] as e.g. induced by relativistic effects (spin– orbit interactions) [83, 84] or by complex magnetic interactions (e.g. in the presence of frustration).
  • BZ integrations in metallic systems can be performed using a variety of smearing/broadening techniques, such as Fermi– Dirac, Gaussian, Methfessel–Paxton [91], and Marzari– Vanderbilt cold smearing [92].
  • Constantpressure (N PT ) MD is performed by adding additional degrees of freedom for the cell size and volume, using either the Parrinello–Rahman Lagrangian [101] or the so-called invariant Lagrangian of Wentzcovitch [53].

4.4. Atomic

  • The atomic code performs three different tasks: (i) solution of the self-consistent all-electron radial KS equations (with a Coulomb nuclear potential and spherically symmetric charge density); (ii) generation of NC PPs, US PPs, or PAW datasets; (iii) test of the above PPs and data-sets.
  • These three tasks can be either separately executed or performed in a single run.
  • US PPs can be generated by a two-step pseudization process, starting from NC PPs, as described in [143], or using the solutions of the all-electron equation and pseudizing the augmentation functions [80].
  • The latter method is used also for the PAW data-set generation.
  • Transferability tests can be made simultaneously for several atomic configurations, with or without spin-polarization, by solving the nonrelativistic radial KS equations generalized for separable nonlocal PPs and for the presence of an overlap matrix.

4.5. PWcond

  • The PWcond code implements the scattering approach proposed by Choi and Ihm [60] for the study of coherent electron transport in atomic-sized nanocontacts within the Landauer–Büttiker theory.
  • Within this scheme the linear response ballistic conductance is proportional to the quantummechanical electron transmission at the Fermi energy for an open quantum system consisting of a scattering region (e.g., an atomic chain or a molecule with some portions of left and right leads) connected ideally from both sides to semi-infinite metallic leads.
  • The transmission is evaluated by solving the KS equations, with the boundary conditions that an electron coming from the left lead and propagating rightwards gets partially reflected and partially transmitted by the scattering region.
  • As a by-product of the method, the PWcond code provides the complex band structure of the leads, which includes, besides propagating Bloch waves, also states with complex kz in the direction of transport, describing wavefunctions exponentially growing or decaying in the z direction.
  • The original method formulated with NC PPs has been generalized to US PPs both in the scalar relativistic [144] and in the fully relativistic forms [145].

4.6. GIPAW

  • The GIPAW code allows for the calculation of physical parameters measured in (i) nuclear magnetic resonance (NMR) spectroscopy in insulators (the electric-field-gradient (EFG) tensors and the chemical shift tensors), and by (ii) electronic paramagnetic resonance (EPR) spectroscopy for paramagnetic defects in solids or in radicals (the hyperfine tensors and the gtensor).
  • GIPAW is based on the PW– PP method, and uses many subroutines of PWscf and of PHonon.
  • All the NMR and EPR parameters depend on the detailed shape of the electronic wavefunctions near the nuclei and thus require the reconstruction of the all-electron wavefunctions from the pseudo wavefunctions.
  • In the presence of a magnetic field the PAW method is no longer gauge- and translationally invariant.
  • The NMR chemical shifts are computed following the method described in [63], the g-tensor following [150] and the magnetic susceptibility following [63, 148].

4.7. XSPECTRA

  • The XSPECTRA code allows for the calculation of K-edge x-ray absorption spectra (XAS).
  • The code uses the self-consistent charge density produced by PWscf and acts as a post-processing tool.
  • From the self-consistent charge density, the xray absorption spectra are obtained using the Lanczos method and a continued fraction expansion [65, 152].
  • Correlation effects can be simulated in a mean-field way using the Hubbard U correction [86] that has been included in the XSPECTRA code in [153].
  • Currently the code is limited to collinear magnetism.

4.9. PostProc

  • The PostProc module contains a number of codes for postprocessing and analysis of data files produced by PWscf and CP.
  • The following operations can be performed: Interfacing to graphical and molecular graphics applications.
  • Charge and spin density, potentials, ELF [68] and STM images [67] are extracted or calculated and written to files that can be directly read by most common plotting programs, such as xcrysden [159] and VMD [160].
  • Calculation of various quantities that are useful for the analysis of the results.
  • In addition to the already mentioned ELF and STM, one can calculate projections over atomic states (e.g. Löwdin charges [69]), DOS and Projected DOS (PDOS), planar and spherical averages, and the complex macroscopic dielectric function in the random-phase approximation (RPA).

4.10. PWgui

  • PWgui is the graphical user interface (GUI) for the PWscf, PHonon, and atomic packages as well as for some of the main codes in PostProc (e.g. pp.x and projwfc.x).
  • PWgui is an input file builder whose main goal is to lower the learning barrier for the newcomer, who would otherwise have to struggle with the input syntax.
  • Its event-driven mechanism automatically adjusts the display of required input fields (i.e. enables certain sets of widgets and disables others) to the specific cases selected .
  • As the QUANTUM ESPRESSO codes evolve, the input file syntax expands as well.
  • To effectively deal with such issue, PWgui uses the GUIB concept [166].

5. Parallelization

  • Keeping pace with the evolution of high-end supercomputers is one of the guiding lines in the design of QUANTUM ESPRESSO, with a significant effort being dedicated to porting it to the latest available architectures.
  • The second level is pool parallelization, implemented by further dividing each group of processors into npool pools of processors, each taking care of one or more k-points.
  • On the other hand, using ultrasoft pseudopotentials is generally faster because the use of a smaller basis set is obviously more efficient, even though the overall parallel performance may not be as good.
  • Scalability does not yet extend to tens of thousands of processors as in especially-crafted codes like QBox [170], but excellent scalability on up to 4800 processors has been demonstrated , even for cases where coarse-grained parallelization does not help, using only MPI parallelization.
  • The efforts of the QUANTUM ESPRESSO developers’ team are not limited to the performance on massively parallel architectures.

6. Perspectives and outlook

  • Further developments and extensions of QUANTUM ESPRESSO will be driven by the needs of the community using it and working on it.
  • Many of the soon-to-come additions will deal with excited-state calculations within time-dependent DFT (TDDFT [172, 173]) and/or many-body perturbation theory [174].
  • It is foreseen that by the time this paper appears, some of these developments will have been publicly released.
  • It is hoped that many new functionalities will be made available to QUANTUM ESPRESSO users by external groups who will make their own software compatible/interfaceable with QUANTUM ESPRESSO.
  • Grid computing and the commoditization of computer clusters will also lead to great improvements in high-throughput calculations for materials design and discovery.

Acknowledgments

  • The QUANTUM ESPRESSO project is an initiative of the CNR-INFM DEMOCRITOS National Simulation Center in Trieste and its partners, in collaboration with MIT, Princeton University, the University of Minnesota, the Ecole Polytechnique Fédérale de Lausanne, the Université Pierre et Marie Curie in Paris, the Jožef Stefan Institute in Ljubljana, and the S3 research center in Modena.
  • Many of the ideas embodied in the QUANTUM ESPRESSO codes have flourished in the very stimulating environment of the International School of Advanced Studies, SISSA, where Democritos is hosted, and have benefited from the ingenuity of generations of graduate students and young postdocs.
  • Moreover it can be shown that, when exchange and correlation contributions to the electronic screening do not dominate over the electrostatic ones, this quantity is an upper bound to the self-consistent error incurred when using the standard form for the DFT energy.
  • The algorithm here described was inspired by the conjugategradient algorithm of [189], and is similar to one of the variants described in [190].
  • The symmetrization technique can be extended to all quantities that are expressed as sums over the BZ.

Did you find this useful? Give us your feedback

Figures (5)

Content maybe subject to copyright    Report

QUANTUM ESPRESSO: a modular and open-source software project for quantum
simulations of materials
This article has been downloaded from IOPscience. Please scroll down to see the full text article.
2009 J. Phys.: Condens. Matter 21 395502
(http://iopscience.iop.org/0953-8984/21/39/395502)
Download details:
IP Address: 128.178.13.107
The article was downloaded on 01/03/2011 at 13:55
Please note that terms and conditions apply.
View the table of contents for this issue, or go to the journal homepage for more
Home Search Collections Journals About Contact us My IOPscience

IOP PUBLISHING JOURNAL OF PHYSICS: CONDENSED MATTER
J. Phys.: Condens. Matter 21 (2009) 395502 (19pp) doi:10.1088/0953-8984/21/39/395502
QUANTUM ESPRESSO: a modular and
open-source software project for quantum
simulations of materials
Paolo Giannozzi
1,2
, Stefano Baroni
1,3
, Nicola Bonini
4
,
Matteo Calandra
5
, Roberto Car
6
, Carlo Cavazzoni
7,8
,
Davide Ceresoli
4
, Guido L Chiarotti
9
, Matteo Cococcioni
10
,
Ismaila Dabo
11
, Andrea Dal Corso
1,3
, Stefano de Gironcoli
1,3
,
Stefano Fabris
1,3
, Guido Fratesi
12
, Ralph Gebauer
1,13
,
Uwe Gerstmann
14
, Christos Gougoussis
5
, Anton Kokalj
1,15
,
Michele Lazzeri
5
, Layla Martin-Samos
1
, Nicola Marzari
4
,
Francesco Mauri
5
, Riccardo Mazzarello
16
, Stefano Paolini
3,9
,
Alfredo Pasquarello
17,18
, Lorenzo Paulatto
1,3
, Carlo Sbraccia
1,
,
Sandro Scandolo
1,13
, Gabriele Sclauzero
1,3
, Ari P Seitsonen
5
,
Alexander Smogunov
13
, Paolo Umari
1
and
Renata M Wentzcovitch
10,19
1
CNR-INFM Democritos National Simulation Center, 34100 Trieste, Italy
2
Dipartimento di Fisica, Universit`a degli Studi di Udine, via delle Scienze 208, 33100 Udine,
Italy
3
SISSA—Scuola Internazionale Superiore di Studi Avanzati, via Beirut 2-4, 34151 Trieste
Grignano, Italy
4
Department of Materials Science and Engineering, Massachusetts Institute of Technology,
Cambridge, MA 02139, USA
5
Institut de Min´eralogie et de Physique des Milieux Condens´es, Universit´e Pierre et Marie
Curie, CNRS, IPGP, 140 rue de Lourmel, 75015 Paris, France
6
Department of Chemistry, Princeton University, Princeton, NJ 08544, USA
7
CINECA National Supercomputing Center, Casalecchio di Reno, 40033 Bologna, Italy
8
CNR-INFM S3 Research Center, 41100 Modena, Italy
9
SPIN s.r.l., via del Follatoio 12, 34148 Trieste, Italy
10
Department of Chemical Engineering and Materials Science, University of Minnesota,
151 Amundson Hall, 421 Washington Avenue SE, Minneapolis, MN 55455, USA
11
Universit´e Paris-Est, CERMICS, Projet Micmac ENPC-INRIA, 6-8 avenue Blaise Pascal,
77455 Marne-la-Vall´ee Cedex 2, France
12
Dipartimento di Scienza dei Materiali, Universit`a degli Studi di Milano-Bicocca,
via Cozzi 53, 20125 Milano, Italy
13
The Abdus Salam International Centre for Theoretical Physics, Strada Costiera 11,
34151 Trieste Grignano, Italy
14
Theoretische Physik, Universit¨at Paderborn, D-33098 Paderborn, Germany
15
Joˇzef Stefan Institute, Jamova 39, SI-1000 Ljubljana, Slovenia
16
Computational Science, Department of Chemistry and Applied Biosciences, ETH Zurich,
USI Campus, via Giuseppe Buffi 13, CH-6900 Lugano, Switzerland
17
Ecole Polytechnique F´ed´erale de Lausanne (EPFL), Institute of Theoretical Physics,
CH-1015 Lausanne, Switzerland
18
Institut Romand de Recherche Num´erique en Physique des Mat´eriaux (IRRMA),
CH-1015 Lausanne, Switzerland
19
Minnesota Supercomputing Institute for Advanced Computational Research,
University of Minnesota, Minneapolis, MN 55455, USA
Received 18 May 2009, in final form 26 July 2009
Published 1 September 2009
Online at stacks.iop.org/JPhysCM/21/395502
Present address: Constellation Energy Commodities Group, 7th Floor, 61 Aldwich, London, WC2B 4AE, UK.
0953-8984/09/395502+19
$30.00 © 2009 IOP Publishing Ltd Printed in the UK1

J. Phys.: Condens. Matter 21 (2009) 395502 P Giannozzi et al
Abstract
Q
UANTUM ESPRESSO is an integrated suite of computer codes for electronic-structure
calculations and materials modeling, based on density-functional theory, plane waves, and
pseudopotentials (norm-conserving, ultrasoft, and projector-augmented wave). The acronym
ESPRESSO stands for opEn Source Package for Research in Electronic Structure, Simulation,
and Optimization. It is freely available to researchers around the world under the terms of the
GNU General Public License. Q
UANTUM ESPRESSO builds upon newly-restructured
electronic-structure codes that have been developed and tested by some of the original authors
of novel electronic-structure algorithms and applied in the last twenty years by some of the
leading materials modeling groups worldwide. Innovation and efficiency are still its main focus,
with special attention paid to massively parallel architectures, and a great effort being devoted
to user friendliness. Q
UANTUM ESPRESSO is evolving towards a distribution of independent
and interoperable codes in the spirit of an open-source project, where 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.
(Some figures in this article are in colour only in the electronic version)
1. Introduction
The combination of methodological and algorithmic in-
novations and ever-increasing computer power is deliver-
ing a simulation revolution in materials modeling, starting
from the nanoscale up to bulk materials and devices [1].
Electronic-structure simulations based on density-functional
theory (DFT) [2–4] have been instrumental to this revolution,
and their application has now spread outside a restricted
core of researchers in condensed-matter theory and quantum
chemistry, involving a vast community of end users with
very diverse scientific backgrounds and research interests.
Sustaining this revolution and extending its beneficial effects
to the many fields of science and technology that can capitalize
on it represents a multifold challenge. In our view it is also a
most urgent, fascinating and fruitful endeavor, able to deliver
new forms for scientific exploration and discovery, where a
very complex infrastructure—made of software rather than
hardware—can be made available to any researcher, and whose
capabilities continue to increase thanks to the methodological
innovations and computing power scalability alluded to above.
Over the past few decades, innovation in materials
simulation and modeling has resulted from the concerted
efforts of many individuals and groups worldwide, often
of small size. Their success has been made possible by
a combination of competences, ranging from the ability to
address meaningful and challenging problems, to a rigorous
insight into theoretical methods, ending with a marked
sensibility to matters of numerical accuracy and algorithmic
efficiency. The readiness to implement new algorithms that
utilize novel ideas requires total control over the software being
used—for this reason, the physics community has long relied
on in-house computer codes to develop and implement new
ideas and algorithms. Transitioning these development codes
to production tools is nevertheless essential, both to extensively
validate new methods and to speed up their acceptance by the
scientific community. At the same time, the dissemination
of codes has to be substantial, to justify the learning efforts
of PhD students and young postdocs who would soon be
confronted with the necessity of deploying their competences
in different research groups. In order to sustain innovation
in numerical simulation, we believe there should be little, if
any, distinction between development and production codes;
computer codes should be easy to maintain, to understand
by different generations of young researchers, to modify and
extend; they should be easy to use by the layman, as well as
general and flexible enough to be enticing for a vast and diverse
community of end users. One easily understands that such
conflicting requirements can only be tempered, if anything,
within organized and modular software projects.
Software modularity also comes as a necessity when
complex problems in complex materials need to be tackled
with an array of different methods and techniques. Multiscale
approaches, in particular, strive to combine methods with
different accuracy and scope to describe different parts of a
complex system, or phenomena occurring at different time
and/or length scales. Such approaches will require software
packages that can perform different kinds of computations on
different aspects of the same problem and/or different portions
of the same system, and that allow for interoperability or joint
usage of the different modules. Different packages should,
at the very least, share the same input/output data formats;
ideally they should also share a number of mathematical and
application libraries, as well as the internal representation of
some of the data structures on which they operate. Individual
researchers or research groups find it increasingly difficult to
meet all these requirements and to continue to develop and
maintain in-house software projects of increasing complexity.
Thus, different and possibly collaborative solutions should be
sought.
A successful example comes from the software for
simulations in quantum chemistry, that has often (but not
always) evolved towards commercialization: the development
and maintenance of most well-known packages is devolved
to non-profit [5–8]orcommercial[9–12] companies. The
software is released (for purchase) under some proprietary
2

J. Phys.: Condens. Matter 21 (2009) 395502 P Giannozzi et al
license that may impose several restrictions to the availability
of sources (computer code in a high-level language) and
to what can be done with the software. This model has
workedwell,andisalsousedbysomeoftheleading
development groups in the condensed-matter electronic-
structure community [13, 14], while some proprietary
projects allow for some free academic usage of their
products [14–19]. A commercial endeavor also brings the
distinctive advantage of a professional approach to software
development, maintenance, documentation, and support.
We believe however that a more interesting and fruitful
alternative can be pursued, and one that is closer to the spirit
of science and scientific endeavor, modeled on the experience
of the open-source software community. Under this model,
a large community of users has full access to the source
code and the development material, under the coordination
of a smaller group of core developers. In the long term,
and in the absence of entrenched monopolies, this strategy
could be more effective in providing good software solutions
and in nurturing a community engaged in providing those
solutions, as compared to the proprietary software strategy.
In the case of software for scientific usage, such an approach
has the additional, and by no means minor, advantage to be
in line with the tradition and best practice of science, that
require reproducibility of other people’s results, and where
collaboration is no less important than competition.
In this paper we will shortly describe our answer
to the above-mentioned problems, as embodied in our
Q
UANTUM ESPRESSO project (indeed, ESPRESSO stands for
opEn Source Package for Research in Electronic Structure,
Simulation, and Optimization). First, in section 2, we describe
the guiding lines of our effort. In section 3,wegivean
overview of the current capabilities of Q
UANTUM ESPRESSO.
In section 4, we provide a short description of each software
component presently distributed within Q
UANTUM ESPRESSO.
In section 5 we give an overview of the parallelization
strategies followed and implemented in Q
UANTUM ESPRESSO.
Finally, section 6 describes current developments and offers a
perspective outlook. The appendix sections discuss some of
the more specific technical details of the algorithms used, that
have not been documented elsewhere.
2. The QUANTUM ESPRESSO project
QUANTUM ESPRESSO is an integrated suite of computer codes
for electronic-structure calculations and materials modeling
based on density-functional theory, plane waves basis sets
and pseudopotentials to represent electron–ion interactions.
Q
UANTUM ESPRESSO is free, open-source software distributed
under the terms of the GNU General Public License
(GPL) [20].
The two main goals of this project are to foster
methodological innovation in the field of electronic-structure
simulations and to provide a wide and diverse community
of end users with highly efficient, robust, and user-
friendly software implementing the most recent innovations
in this field. Other open-source projects [21–25]exist,
besides Q
UANTUM ESPRESSO, that address electronic-
structure calculations and various materials simulation
techniques based on them. Unlike some of these projects,
Q
UANTUM ESPRESSO does not aim at providing a single
monolithic code able to perform several different tasks by
specifying different input data to the same executable. Our
general philosophy is rather that of an open distribution,
i.e. an integrated suite of codes designed to be interoperable,
much in the spirit of a Linux distribution, and thus built
around a number of core components designed and maintained
by a small group of core developers, plus a number of
auxiliary/complementary codes designed, implemented, and
maintained by members of a wider community of users. The
distribution can even be redundant, with different applications
addressing the same problem in different ways; at the end,
the sole requirements that Q
UANTUM ESPRESSO components
must fulfil are that: (i) they are distributed under the same
GPL license agreement [20] as the other Q
UANTUM ESPRESSO
components; (ii) they are fully interoperable with the other
components. Of course, they need to be scientifically
sound, verified and validated. External contributors are
encouraged to join the Q
UANTUM ESPRESSO project, if they
wish, while maintaining their own individual distribution
and advertisement mode for their software (for instance,
by maintaining individual web sites with their own brand
names [154]). To facilitate this, a web service called
qe-forge [27], described in the next subsection, has been
recently put in place.
Interoperability of different components within Q
UANTUM
ESPRESSO is granted by the use of common formats for the
input, output, and work les. In addition, external contributors
are encouraged, but not by any means forced, to use the
many numerical and application libraries on which the core
components are built. Of course, this general philosophy must
be seen more as an objective to which a very complex software
project tends, rather than a starting point.
One of the main concerns that motivated the birth of
the Q
UANTUM ESPRESSO project is high performance, both
in serial and in parallel execution. High serial performance
across different architectures is achieved by the systematic use
of standardized mathematical libraries (BLAS, LAPACK [28],
and FFTW [29]) for which highly optimized implementations
exist on many platforms; when proprietary optimizations
of these libraries are not available, the user can compile
the library sources distributed with Q
UANTUM ESPRESSO.
Optimal performance in parallel execution is achieved through
the design of several parallelization levels, using sophisticated
communication algorithms, whose implementation often does
not need to concern the developer, being embedded and
concealed in appropriate software layers. As a result the
performance of the key engines,
PWscf (section 4.1)and
CP (section 4.2), may scale efficiently on massively parallel
computers up to thousands of processors.
The distribution is organized into a basic set of modules,
libraries, installation utilities, plus a number of directories,
each containing one or more executables, performing specific
tasks. The communications between the different executables
take place via data files. We think that this kind of approach
3

J. Phys.: Condens. Matter 21 (2009) 395502 P Giannozzi et al
lowers the learning barrier for those who wish to contribute to
the project. The codes distributed with Q
UANTUM ESPRESSO,
including many auxiliary codes for the post-processing of the
data generated by the simulations, are easy to install and
to use. The GNU
configure and make utilities ensure
a straightforward installation on many different machines.
Applications are run through text input les based on Fortran
namelists, that require the users to specify only an essential,
usually small, subset of the many control variables available;
a specialized graphical user interface (GUI), that is provided
with the distribution, facilitates this task for most component
programs. It is foreseen that in the near future the design of
special APIs (application programming interfaces) will make it
easier to glue different components of the distribution together
and with external applications, as well as to interface them to
other, custom-tailored, GUIs and/or scripting interfaces.
The Q
UANTUM ESPRESSO distribution is written, mostly,
in Fortran-95, with some parts in C or in Fortran-77. Fortran-
95 offers the possibility to introduce advanced programming
techniques without sacrificing performance. Moreover Fortran
is still the language of choice for high-performance computing
and it allows for easy integration of legacy codes written in this
language. A single source tree is used for all architectures, with
C preprocessor options selecting a small subset of architecture-
dependent code. Parallelization is achieved using the message-
passing paradigm and calls to standard MPI (message-passing
interface) [30] libraries. Most calls are hidden in a few routines
that act as an intermediate layer, accomplishing e.g. the
tasks of summing a distributed quantity over processors,
of collecting distributed arrays or distributing them across
processors, and of performing parallel three-dimensional fast
Fourier transforms (FFT). This allows the straightforward and
transparent development of new modules and functionalities
that preserve the efficient parallelization backbone of the
codes.
2.1. QE-forge
The ambition of the Q
UANTUM ESPRESSO project is not
limited to providing highly efficient and user-friendly software
for large-scale electronic-structure calculations and materials
modeling. Q
UANTUM ESPRESSO aims at promoting active
cooperation among a vast and diverse community of scientists
developing new methods and algorithms in electronic-structure
theory and of end users interested in their application to the
numerical simulation of materials and devices.
As mentioned, the main source of inspiration for the model
we want to promote is the successful cooperative experience of
the GNU/Linux developers’ and users’ community. One of the
main outcomes of this community has been the incorporation
within the GNU/Linux operating system distributions of third-
party software components, which, while being developed and
maintained by autonomous, and often very small, groups of
users, are put at the disposal of the entire community under
the terms of the GPL. The community, in turn, provides
positive feedback and extensive validation by benchmarking
new developments, reporting bugs, and requesting new
features. These developments have largely benefited from
the SourceForge code repository and software development
service [31], or by other similar services, such as RubyForge,
Tigris.org, BountySource, BerliOS, JavaForge, and GNU
Savannah.
Inspired by this model, the Q
UANTUM ESPRESSO
developers’ and users’ community has set up its own web
portal, named
qe-forge [27]. The goal of qe-forge
is to complement the traditional web sites of individual
scientific software projects, which are passive instruments of
information retrieval, with a dynamical space for active content
creation and sharing. Its aim is to foster and simplify the
coordination and integration of the programming efforts of
heterogeneous groups and to ease the dissemination of the
software tools thus obtained.
qe-forge provides, through a user-friendly web in-
terface, an integrated development environment, whereby
researchers can freely upload, manage and maintain their own
software, while retaining full control over it, including the right
of not releasing it. The services so far available include source-
code management software (CVS or SVN repository), mailing
lists, public forums, bug tracking facilities, up/down-load
space, and wiki pages for projects’ documentation.
qe-forge
is expected to be the main tool by which QUANTUM ESPRESSO
end users and external contributors can maintain Q
UANTUM
ESPRESSO-related projects and make them available to the
community.
2.2. Educational usage of Q
UANTUM ESPRESSO
Training on advanced simulation techniques using the
Q
UANTUM ESPRESSO distribution is regularly offered at
SISSA to first-year graduate students within the electronic-
structure course. The scope of this course is not limited to
the opportunities that modern simulation techniques based on
electronic-structure theory offer to molecular and materials
modeling. Emphasis is put onto the skills that are necessary
to turn new ideas into new algorithms and onto the methods
that are needed to validate the implementation and application
of computer simulation methods. Based on this experience,
the Q
UANTUM ESPRESSO developers’ group offers, on a
regular basis, training courses to graduate students and young
researchers worldwide, also in collaboration with the Abdus
Salam International Centre for Theoretical Physics, which
operates under the aegis of UNESCO and IAEA agencies of
the UNO.
The Q
UANTUM ESPRESSO distribution is used not only
for graduate, but also for undergraduate training. At MIT,
for example, it is one of the teaching tools in the class
Introduction to Modeling and Simulations—an institute-wide
course offered to undergraduates from the School of Science
and the School of Engineering. The challenge here is to
provide students of different backgrounds with an overview
of numerical simulations methods to study properties of real
materials. For many undergraduates, this represents the first
experience of computers used as scientific tools. To facilitate
the access and use of Q
UANTUM ESPRESSO, a user-friendly
web interface has been developed at MIT, based on the
GenePattern portal, that allows direct access to the code, thus
4

Citations
More filters
Journal ArticleDOI
TL;DR: Recent extensions and improvements are described, covering new methodologies and property calculators, improved parallelization, code modularization, and extended interoperability both within the distribution and with external software.
Abstract: Quantum ESPRESSO is an integrated suite of open-source computer codes for quantum simulations of materials using state-of-the-art electronic-structure techniques, based on density-functional theory, density-functional perturbation theory, and many-body perturbation theory, within the plane-wave pseudopotential and projector-augmented-wave approaches Quantum ESPRESSO owes its popularity to the wide variety of properties and processes it allows to simulate, to its performance on an increasingly broad array of hardware architectures, and to a community of researchers that rely on its capabilities as a core open-source development platform to implement their ideas In this paper we describe recent extensions and improvements, covering new methodologies and property calculators, improved parallelization, code modularization, and extended interoperability both within the distribution and with external software

3,638 citations

Journal ArticleDOI
26 Apr 2017
TL;DR: In this paper, the authors reported the experimental discovery of intrinsic ferromagnetism in Cr 2 Ge 2 Te 6 atomic layers by scanning magneto-optic Kerr microscopy.
Abstract: We report the experimental discovery of intrinsic ferromagnetism in Cr 2 Ge 2 Te 6 atomic layers by scanning magneto-optic Kerr microscopy. In this 2D van der Waals ferromagnet, unprecedented control of transition temperature is realized via small magnetic fields.

3,215 citations

Journal ArticleDOI
TL;DR: The atomic simulation environment (ASE) provides modules for performing many standard simulation tasks such as structure optimization, molecular dynamics, handling of constraints and performing nudged elastic band calculations.
Abstract: The Atomic Simulation Environment (ASE) is a software package written in the Python programming language with the aim of setting up, steering, and analyzing atomistic simula- tions. In ASE, tasks are fully scripted in Python. The powerful syntax of Python combined with the NumPy array library make it possible to perform very complex simulation tasks. For example, a sequence of calculations may be performed with the use of a simple "for-loop" construction. Calculations of energy, forces, stresses and other quantities are performed through interfaces to many external electronic structure codes or force fields using a uniform interface. On top of this calculator interface, ASE provides modules for performing many standard simulation tasks such as structure optimization, molecular dynamics, handling of constraints and performing nudged elastic band calculations.

2,282 citations

Journal ArticleDOI
TL;DR: This work presents PLUMED 2 here—a complete rewrite of the code in an object-oriented programming language (C++), which introduces greater flexibility and greater modularity, which both extends its core capabilities and makes it far easier to add new methods and CVs.

2,256 citations

Journal ArticleDOI
TL;DR: In this paper, the authors present a survey of the use of Wannier functions in the context of electronic-structure theory, including their applications in analyzing the nature of chemical bonding, or as a local probe of phenomena related to electric polarization and orbital magnetization.
Abstract: The electronic ground state of a periodic system is usually described in terms of extended Bloch orbitals, but an alternative representation in terms of localized "Wannier functions" was introduced by Gregory Wannier in 1937. The connection between the Bloch and Wannier representations is realized by families of transformations in a continuous space of unitary matrices, carrying a large degree of arbitrariness. Since 1997, methods have been developed that allow one to iteratively transform the extended Bloch orbitals of a first-principles calculation into a unique set of maximally localized Wannier functions, accomplishing the solid-state equivalent of constructing localized molecular orbitals, or "Boys orbitals" as previously known from the chemistry literature. These developments are reviewed here, and a survey of the applications of these methods is presented. This latter includes a description of their use in analyzing the nature of chemical bonding, or as a local probe of phenomena related to electric polarization and orbital magnetization. Wannier interpolation schemes are also reviewed, by which quantities computed on a coarse reciprocal-space mesh can be used to interpolate onto much finer meshes at low cost, and applications in which Wannier functions are used as efficient basis functions are discussed. Finally the construction and use of Wannier functions outside the context of electronic-structure theory is presented, for cases that include phonon excitations, photonic crystals, and cold-atom optical lattices.

2,217 citations

References
More filters
Journal ArticleDOI
TL;DR: A description of the ab initio quantum chemistry package GAMESS, which can be treated with wave functions ranging from the simplest closed‐shell case up to a general MCSCF case, permitting calculations at the necessary level of sophistication.
Abstract: A description of the ab initio quantum chemistry package GAMESS is presented. Chemical systems containing atoms through radon can be treated with wave functions ranging from the simplest closed-shell case up to a general MCSCF case, permitting calculations at the necessary level of sophistication. Emphasis is given to novel features of the program. The parallelization strategy used in the RHF, ROHF, UHF, and GVB sections of the program is described, and detailed speecup results are given. Parallel calculations can be run on ordinary workstations as well as dedicated parallel machines. © John Wiley & Sons, Inc.

18,546 citations

Book
01 Jan 1989
TL;DR: In this paper, a review of current studies in density functional theory and density matrix functional theory is presented, with special attention to the possible applications within chemistry, including the concept of an atom in a molecule, calculation of electronegativities from the Xα method, pressure, Gibbs-Duhem equation, Maxwell relations and stability conditions.
Abstract: Current studies in density functional theory and density matrix functional theory are reviewed, with special attention to the possible applications within chemistry. Topics discussed include the concept of electronegativity, the concept of an atom in a molecule, calculation of electronegativities from the Xα method, the concept of pressure, Gibbs-Duhem equation, Maxwell relations, stability conditions, and local density functional theory.

14,008 citations

Journal ArticleDOI
24 Jan 2005
TL;DR: It is shown that such an approach can yield an implementation of the discrete Fourier transform that is competitive with hand-optimized libraries, and the software structure that makes the current FFTW3 version flexible and adaptive is described.
Abstract: FFTW is an implementation of the discrete Fourier transform (DFT) that adapts to the hardware in order to maximize performance. This paper shows that such an approach can yield an implementation that is competitive with hand-optimized libraries, and describes the software structure that makes our current FFTW3 version flexible and adaptive. We further discuss a new algorithm for real-data DFTs of prime size, a new way of implementing DFTs by means of machine-specific single-instruction, multiple-data (SIMD) instructions, and how a special-purpose compiler can derive optimized implementations of the discrete cosine and sine transforms automatically from a DFT algorithm.

5,172 citations

Journal ArticleDOI
TL;DR: Wannier90 is a program for calculating maximally-localised Wannier functions (MLWF) from a set of Bloch energy bands that may or may not be attached to or mixed with other bands, and is able to output MLWF for visualisation and other post-processing purposes.

2,599 citations

Book
01 Jan 1982

2,582 citations

Frequently Asked Questions (17)
Q1. What are the contributions mentioned in the paper "Quantum espresso: a modular and open-source software project for quantum simulations of materials " ?

QUANTUM ESPRESSO builds upon newly-restructured electronic-structure codes that have been developed and tested by some of the original authors of novel electronic-structure algorithms and applied in the last twenty years by some of the leading materials modeling groups worldwide. QUANTUM ESPRESSO is evolving towards a distribution of independent and interoperable codes in the spirit of an open-source project, where 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. ( Some figures in this article are in colour only in the electronic version ) 

CP can also be used to directly minimize the electronic energy functional to self-consistency while keeping thenuclei fixed, or to perform structural minimizations of nuclear positions, using the ‘global minimization’ approaches of [117, 118], and damped dynamics or conjugate-gradients on the electronic or ionic degrees of freedom. 

Transferability tests can be made simultaneously for several atomic configurations, with or without spin-polarization, by solving the nonrelativistic radial KS equations generalized for separable nonlocal PPs and for the presence of an overlap matrix. 

A successful example comes from the software for simulations in quantum chemistry, that has often (but not always) evolved towards commercialization: the development and maintenance of most well-known packages is devolved to non-profit [5–8] or commercial [9–12] companies. 

A single definition/description of a given input file serves (i) as a documentation per-se, (ii) as a PWgui help documentation, and (iii) as a utility to synchronize the PWgui with up-to-date input file formats. 

A quantum fragment can be embedded in a complex electrostatic environment that includes a model solvent [106] and a counterion distribution [107], as is typical of electrochemical systems. 

The current trend in the electronic-structure community seems to be the adoption of one of the following approaches:• structured file formats, notably Hierarchical Data Format (HDF) [71] and network Common Data Form (netCDF) [72], that have been widely used for years in other communities; • file formats based on the Extensible Markup Language (XML) [73]. 

As mentioned, the main source of inspiration for the model the authors want to promote is the successful cooperative experience of the GNU/Linux developers’ and users’ community. 

Converters are available to translate pseudopotentials encoded in different formats (e.g. according to the Fritz–Haber [75] or Vanderbilt [76] conventions) into the UPF format adopted by QUANTUM ESPRESSO. 

The new trend towards distributed computing is exemplified by the recent development of the VLab cyber infrastructure (CI) [184, 185], a service-oriented architecture (SOA) that uses QUANTUM ESPRESSO as the back-end computational package plus a web portal [186]. 

Microcanonical (NVE) MD is performed on the BO surface, i.e. achieving electron self-consistency at each time step, using the Verlet algorithm [99]. 

Transitioning these development codes to production tools is nevertheless essential, both to extensively validate new methods and to speed up their acceptance by the scientific community. 

The readiness to implement new algorithms that utilize novel ideas requires total control over the software being used—for this reason, the physics community has long relied on in-house computer codes to develop and implement new ideas and algorithms. 

The increasing availability of massively parallel machines will likely lead to an increased interest towards large-scale calculations. 

The sampling of the Brillouin zone (BZ) can be performed using either special [89, 90] k-points provided in input or those automatically calculated starting from a uniform grid. 

The effects of finite macroscopic electric fields on the electronic structure of the ground state can be accounted for either through the method of [102, 103] based on the Berry phase, or (for slab geometries only) through a sawtooth external potential [104, 105]. 

Over the past few decades, innovation in materials simulation and modeling has resulted from the concerted efforts of many individuals and groups worldwide, often of small size.