Qbox

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Qbox
Original authorFrancois Gygi
DevelopersFrancois Gygi, Ivan Duchemin, Jun Wu, Quan Wan, William Dawson, Martin Schlipf, He Ma, Michael LaCount
Initial release2003; 23 years ago (2003)
Stable release
1.73.3 / 20 August 2021; 4 years ago (2021-08-20)
Repositorygithub.com/qboxcode
Written inC++
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemUnix, Unix-like, FreeBSD
    LicenseGPL
    Websiteqboxcode.org

    Qbox is an open-source software package for atomic-scale simulations of molecules, liquids and solids. It implements first principles (or ab initio) molecular dynamics, a simulation method in which inter-atomic forces are derived from quantum mechanics. Qbox is released under a GNU General Public License (GPL) with documentation provided at http://qboxcode.org. It is available as a FreeBSD port.[1]

    Main features

    [edit | edit source]

    Methods and approximations

    [edit | edit source]

    Qbox computes molecular dynamics trajectories of atoms using Newton's equations of motion, with forces derived from electronic structure calculations performed using density functional theory. Simulations can be performed either within the Born–Oppenheimer approximation or using Car-Parrinello molecular dynamics. The electronic ground state is computed at each time step by solving the Kohn-Sham equations. Various levels of density functional theory approximations can be used, including the local-density approximation (LDA), the generalized gradient approximation (GGA), or hybrid functionals that incorporate a fraction of Hartree-Fock exchange energy. Electronic wave functions are expanded using the plane wave basis set. The electron-ion interaction is represented by pseudopotentials.

    Examples of use

    [edit | edit source]
    • Electronic properties of nanoparticles[2]
    • Electronic properties of aqueous solutions[3]
    • Free energy landscape of molecules[4]
    • Infrared and Raman spectra of hydrogen at high pressure[5]
    • Properties of solid-liquid interfaces[6]

    Code architecture and implementation

    [edit | edit source]

    Qbox is written in C++ and implements parallelism using both the message passing interface (MPI) and the OpenMP application programming interface. It makes use of the BLAS, LAPACK, ScaLAPACK, FFTW and Apache Xerces libraries. Qbox was designed[7] for operation on massively parallel computers such as the IBM Blue Gene supercomputer, or the Cray XC40 supercomputer. In 2006 it was used to establish a performance record[8] on the BlueGene/L computer installed at the Lawrence Livermore National Laboratory.

    Interface with other simulation software

    [edit | edit source]

    The functionality of Qbox can be enhanced by coupling it with other simulation software using a client-server paradigm. Examples of Qbox coupled operation include:

    • Free energy computations: Coupled with the Software Suite for Advanced Ensemble Simulations (SSAGES).
    • Quasiparticle energy computations: Coupled with the WEST many-body perturbation software package.
    • Path integral quantum simulations: Coupled with the i-PI universal force engine.

    See also

    [edit | edit source]

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]