All Projects → qcscine → qcmaquis

qcscine / qcmaquis

Licence: other
Release-only repository for SCINE QCMaquis, the DMRG software from the Reiher group.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
python
139335 projects - #7 most used programming language
CMake
9771 projects
TeX
3793 projects
fortran
972 projects

Projects that are alternatives of or similar to qcmaquis

QUICK
QUICK: A GPU-enabled ab intio quantum chemistry software package
Stars: ✭ 79 (+338.89%)
Mutual labels:  chemistry, computational-chemistry, quantum-chemistry
QCElemental
Periodic table, physical constants, and molecule parsing for quantum chemistry.
Stars: ✭ 116 (+544.44%)
Mutual labels:  chemistry, computational-chemistry, quantum-chemistry
Xopt
eXternal OPTimizer
Stars: ✭ 5 (-72.22%)
Mutual labels:  chemistry, quantum-chemistry
Gaussium
A Quantum Chemistry program written in Python 3 supporting RHF, UHF, TDHF, CIS, MP2, DFT, CCSD and CCSD(T) methods.
Stars: ✭ 36 (+100%)
Mutual labels:  chemistry, quantum-chemistry
Qcengine
Quantum chemistry program executor and IO standardizer (QCSchema).
Stars: ✭ 83 (+361.11%)
Mutual labels:  chemistry, quantum-chemistry
Awesome Python Chemistry
A curated list of Python packages related to chemistry
Stars: ✭ 410 (+2177.78%)
Mutual labels:  chemistry, quantum-chemistry
Psi4
Open-Source Quantum Chemistry – an electronic structure package in C++ driven by Python
Stars: ✭ 521 (+2794.44%)
Mutual labels:  chemistry, quantum-chemistry
PyVibMS
A PyMOL plugin for visualizing vibrations in molecules and solids
Stars: ✭ 23 (+27.78%)
Mutual labels:  computational-chemistry, quantum-chemistry
isicle
In silico chemical library engine for high-accuracy chemical property prediction
Stars: ✭ 31 (+72.22%)
Mutual labels:  computational-chemistry, quantum-chemistry
stda
stda program for computing excited states and response functions via simplified TD-DFT methods (sTDA, sTD-DFT, and SF-sTD-DFT)
Stars: ✭ 23 (+27.78%)
Mutual labels:  computational-chemistry, quantum-chemistry
Nwchem
NWChem: Open Source High-Performance Computational Chemistry
Stars: ✭ 227 (+1161.11%)
Mutual labels:  chemistry, quantum-chemistry
xtp
GW-BSE for excited state Quantum Chemistry in a Gaussian Orbital basis, electronic spectroscopy with QM/MM, charge and energy dynamics in complex molecular systems
Stars: ✭ 26 (+44.44%)
Mutual labels:  computational-chemistry, quantum-chemistry
EzReson
An efficient toolkit for chemical resonance analysis based on quantum chemistry calculations. It implements the quantitative theory of resonance by expansion of the wave function from a DFT/HF calculation in terms of those of the Lewis structures.
Stars: ✭ 14 (-22.22%)
Mutual labels:  chemistry, quantum-chemistry
qp2
Quantum Package : a programming environment for wave function methods
Stars: ✭ 37 (+105.56%)
Mutual labels:  chemistry, computational-chemistry
pylj
Teaching Utility for Classical Atomistic Simulation.
Stars: ✭ 23 (+27.78%)
Mutual labels:  chemistry, computational-chemistry
Hande
Open source stochastic quantum chemistry
Stars: ✭ 50 (+177.78%)
Mutual labels:  chemistry, quantum-chemistry
adcc
adcc: Seamlessly connect your program to ADC
Stars: ✭ 26 (+44.44%)
Mutual labels:  computational-chemistry, quantum-chemistry
QCFractal
A distributed compute and database platform for quantum chemistry.
Stars: ✭ 107 (+494.44%)
Mutual labels:  computational-chemistry, quantum-chemistry
Molecular Design Toolkit
Notebook-integrated tools for molecular simulation and visualization
Stars: ✭ 123 (+583.33%)
Mutual labels:  chemistry, quantum-chemistry
Fermi.jl
Fermi quantum chemistry program
Stars: ✭ 107 (+494.44%)
Mutual labels:  chemistry, quantum-chemistry

QCMaquis

QCMaquis is an efficient C++11 implementation of the density matrix renormalization group (DMRG) algorithm for quantum chemical Hamiltonians in its matrix product state-matrix product operator (MPS-MPO) formulation. Quantum-chemical operators represented as matrix product operators (MPOs) provide the necessary flexibility to accommodate Abelian and non-Abelian symmetries as well as the implementation of non-relativistic and relativistic quantum chemical Hamiltonians, respectively, in a unified framework. We have implemented the special unitary group of degree 2 (SU(2)) in the MPO representation of the non-relativistic Hamiltonian to ensure spin conservation.

Current Features:

  • Optimization of spin-adapted SU(2) MPS wave functions with the DMRG algorithm
  • Non-relativistic and scalar-relativistic quantum-chemical Hamiltonians
  • Calculation of excited states
  • A tool set to analyze the MPS wave function and its quantum entanglement
  • One-, two, three- and four-particle reduced density matrices
  • One-, two- and three-particle reduced transition density matrices
  • DMRG-CI and DMRG-SCF interface to the OpenMolcas program package for:
    • DMRG-SCF calculations with and without reaction field (e.g. PCM)
    • State-specific and state-averaged DMRG-SCF calculations
    • Analytic gradients for state-specific DMRG-SCF calculations
    • MPS state interaction (MPS-SI) for the calculation of spin-orbit coupling matrix elements, electronic and magnetic properties
    • state-specific and quasi-degenerate (multi-state) DMRG-NEVPT2 calculations
  • The current release version can be used together with SCINE autoCAS
  • Pre-Born--Oppenheimer Hamiltonian with multicomponent MPS including one-particle RDM and mutual information

QCMaquis compilation and installation

Prerequisites:

  • a C++ compiler, optionally a Fortran compiler for the OpenMOLCAS Fortran interface. Only G++ has been tested.
  • GNU make
  • CMake
  • Boost >= 1.56
  • GSL
  • HDF5
  • Linear algebra library, such as BLAS/Lapack, Intel MKL or OpenBLAS
  • For documentation: PDFLaTeX For a quick start, type the following into the terminal:
git clone https://github.com/qcscine/qcmaquis.git qcmaquis
cd qcmaquis/dmrg
mkdir build
cd build
cmake -D<CMAKE_COMPILE_OPTIONS> ../
make

where <CMAKE_COMPILE_OPTIONS> can be (optionally) one of the following:

CMake compile options:

  • BUILD_MANUAL: Compile and install the QCMaquis manual in PDF.
  • BUILD_OPENMOLCAS_INTERFACE: Build and install the OpenMOLCAS Fortran interface.
  • TESTS: Compile tests.
  • LAPACK_64_BIT: Enable if you use a linear algebra library configured with 64-bit integers (ILP64).
  • BLAS_LAPACK_SELECTOR: Set the vendor of the linear algebra library: openblas,mkl_sequential, mkl_parallel, veclib for Accelerate on Mac OS X, auto for autodetection and manual for setting the linking directories manually are supported. Default is autodetection, which usually does a good job.
  • BUILD_PREBO: Build the pre-BO related model. It is mandatory to activate the NU1 symmetry.
  • BUILD_*: Build (legacy) utility binaries to perform various operations with matrix product state (MPS) checkpoint files.

A more detailed installation guide can be found in Section 3.1 of our manual.

QCMaquis in OpenMolcas

To install QCMaquis with the OpenMOLCAS interface, download OpenMOLCAS from the official OpenMOLCAS GitLab repository and follow its installation guide. To activate QCMaquis (and NEVPT2) support within OpenMolcas, add the following flags to cmake when configuring OpenMOLCAS (see step 3 of the OpenMOLCAS installation guide):

$ cmake -DDMRG=ON -DNEVPT2=ON <other CMAKE flags> ../

Documentation

A detailed installation guide and manual for QCMaquis (and its components) can be found in the doc subdirectory. Compile QCMaquis with the BUILD_MANUAL CMake option to obtain the documentation in the PDF format.

Support

For issues and bug reports with QCMaquis in OpenMOLCAS, please open an issue in the OpenMOLCAS bug tracker with a QCMaquis tag. For issues and bug reports with the QCMaquis standalone version, please use the GitHub QCMaquis issue tracker or send an e-mail to [email protected].

References

For reproducibility reasons, please cite, depending on the actual calculations you carried out, one or more of the following papers in publications that present data produced with QCMaquis:

General reference to the code:

  • S. Keller, M. Dolfi, M. Troyer, M. Reiher, "An efficient matrix product operator representation of the quantum chemical Hamiltonian", J. Chem. Phys., 2015, 143, 244118. DOI

DMRG-NEVPT2:

  • L. Freitag, S. Knecht, C. Angeli, M. Reiher, Multireference Perturbation Theory with Cholesky Decomposition for the Density Matrix Renormalization Group", J. Chem. Theory Comput., 2017, 13, 451. DOI

MPS-SI:

  • S. Knecht, S. Keller, J. Autschbach, M. Reiher, "A Nonorthogonal State-Interaction Approach for Matrix Product State Wave Functions", J. Chem. Theory Comput., 2016, 12, 5881. DOI

QCMaquis and ALPS

QCMaquis builds upon the ALPS MPS project. The ALPS MPS codes implement the DMRG algorithm for variational ground and low-lying excited state search as well as time evolution of arbitrary one- and two-dimensional models in a matrix-product-state representation. They have been developed at ETH Zurich by Michele Dolfi and Bela Bauer in the group of Matthias Troyer with contributions from Sebastian Keller and Alexandr Kosenkov and at the University of Geneva by Timothée Ewart and Adrian Kantian in the group of Thierry Giamarchi. For further information on the ALPS project, please visit https://alps.comp-phys.org and note the original ALPS MPS paper:

  • M. Dolfi, B. Bauer, S. Keller, A. Kosenkov, T. Ewart, A. Kantian, T. Giamarchi, M. Troyer, "Matrix product state applications for the ALPS project" ,Comp. Phys. Commun., 2014, 12, 3430. DOI

The current QCMaquis release ships with a modified ALPS library based on ALPS 2.3.0 to reduce compile and runtime dependencies. For more information, please read the README.txt in the dmrg/alps subdirectory. The ALPS library is subject to the ALPS Library license, which is found in dmrg/alps/LICENSE.txt.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].