mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-09-01 05:33:40 +02:00
Compare commits
No commits in common. "cf4f9990bc769770b31d19383943b43f3d3280cd" and "c7ef5fc8c7911e4eb258c04a64c272a47b985861" have entirely different histories.
cf4f9990bc
...
c7ef5fc8c7
112
CITATION.cff
112
CITATION.cff
@ -1,100 +1,32 @@
|
||||
# YAML 1.2
|
||||
# Metadata for citation of this software according to the CFF format (https://citation-file-format.github.io/)
|
||||
cff-version: 1.0.3
|
||||
message: "If you use this software, please cite it using these metadata."
|
||||
message: If you use this software, please cite it using these metadata.
|
||||
title: Quantum Package
|
||||
doi: 10.1021/acs.jctc.9b00176
|
||||
doi: 10.5281/zenodo.825872
|
||||
authors:
|
||||
- given-names: Yann
|
||||
family-names: Garniron
|
||||
affiliation: Laboratoire de Chimie et Physique Quantiques (UMR 5626), Université de Toulouse, CNRS, UPS, Toulouse, France
|
||||
- given-names: Thomas
|
||||
family-names: Applencourt
|
||||
affiliation: Computational Science Division, Argonne National Laboratory, Argonne, Illinois 60439, United States
|
||||
- given-names: Kevin
|
||||
family-names: Gasperich
|
||||
affiliation: Department of Chemistry, University of Pittsburgh, Pittsburgh, Pennsylvania 15260, United States
|
||||
- given-names: Anouar
|
||||
family-names: Benali
|
||||
affiliation: Computational Science Division, Argonne National Laboratory, Argonne, Illinois 60439, United States
|
||||
- given-names: Anthony
|
||||
family-names: Ferté
|
||||
affiliation: Laboratoire de Chimie Théorique, Sorbonne Université, CNRS, Paris, France
|
||||
- given-names: Julien
|
||||
family-names: Paquier
|
||||
affiliation: Laboratoire de Chimie Théorique, Sorbonne Université, CNRS, Paris, France
|
||||
- given-names: Barthélémy
|
||||
family-names: Pradines
|
||||
affiliation: Institut des Sciences du Calcul et des Données, Sorbonne Université, F-75005 Paris, France
|
||||
- given-names: Roland
|
||||
family-names: Assaraf
|
||||
affiliation: Laboratoire de Chimie Théorique, Sorbonne Université, CNRS, Paris, France
|
||||
- given-names: Peter
|
||||
family-names: Reinhardt
|
||||
affiliation: Laboratoire de Chimie Théorique, Sorbonne Université, CNRS, Paris, France
|
||||
- given-names: Julien
|
||||
family-names: Toulouse
|
||||
affiliation: Laboratoire de Chimie Théorique, Sorbonne Université, CNRS, Paris, France
|
||||
- given-names: Pierrette
|
||||
family-names: Barbaresco
|
||||
affiliation: CALMIP, Université de Toulouse, CNRS, INPT, INSA, UPS, UMS 3667, Toulouse, France
|
||||
- given-names: Nicolas
|
||||
family-names: Renon
|
||||
affiliation: CALMIP, Université de Toulouse, CNRS, INPT, INSA, UPS, UMS 3667, Toulouse, France
|
||||
- given-names: Grégoire
|
||||
family-names: David
|
||||
affiliation: Aix-Marseille Univ, CNRS, ICR, Marseille, France
|
||||
- given-names: Jean-Paul
|
||||
family-names: Malrieu
|
||||
affiliation: Laboratoire de Chimie et Physique Quantiques (UMR 5626), Université de Toulouse, CNRS, UPS, Toulouse, France
|
||||
- given-names: Mickaël
|
||||
family-names: Véril
|
||||
affiliation: Laboratoire de Chimie et Physique Quantiques (UMR 5626), Université de Toulouse, CNRS, UPS, Toulouse, France
|
||||
- given-names: Michel
|
||||
family-names: Caffarel
|
||||
affiliation: Laboratoire de Chimie et Physique Quantiques (UMR 5626), Université de Toulouse, CNRS, UPS, Toulouse, France
|
||||
- given-names: Pierre-François
|
||||
family-names: Loos
|
||||
affiliation: Laboratoire de Chimie et Physique Quantiques (UMR 5626), Université de Toulouse, CNRS, UPS, Toulouse, France
|
||||
- given-names: Emmanuel
|
||||
family-names: Giner
|
||||
affiliation: Laboratoire de Chimie Théorique, Sorbonne Université, CNRS, Paris, France
|
||||
- given-names: Anthony
|
||||
family-names: Scemama
|
||||
affiliation: Laboratoire de Chimie et Physique Quantiques (UMR 5626), Université de Toulouse, CNRS, UPS, Toulouse, France
|
||||
abstract: "Quantum chemistry is a discipline which relies heavily on very
|
||||
expensive numerical computations. The scaling of correlated wave function
|
||||
methods lies, in their standard implementation, between O(N^5) and O(exp(N)),
|
||||
where N is proportional to the system size. Therefore, performing accurate
|
||||
calculations on chemically meaningful systems requires (i) approximations that
|
||||
can lower the computational scaling and (ii) efficient implementations that
|
||||
take advantage of modern massively parallel architectures. Quantum Package is
|
||||
an open-source programming environment for quantum chemistry specially designed
|
||||
for wave function methods. Its main goal is the development of
|
||||
determinant-driven selected configuration interaction (sCI) methods and
|
||||
multireference second-order perturbation theory (PT2). The determinant-driven
|
||||
framework allows the programmer to include any arbitrary set of determinants in
|
||||
the reference space, hence providing greater methodological freedom. The sCI
|
||||
method implemented in Quantum Package is based on the CIPSI (Configuration
|
||||
Interaction using a Perturbative Selection made Iteratively) algorithm which
|
||||
complements the variational sCI energy with a PT2 correction. Additional
|
||||
external plugins have been recently added to perform calculations with
|
||||
multireference coupled cluster theory and range-separated density-functional
|
||||
theory. All the programs are developed with the IRPF90 code generator, which
|
||||
simplifies collaborative work and the development of new features. Quantum
|
||||
Package strives to allow easy implementation and experimentation of new
|
||||
methods, while making parallel computation as simple and efficient as possible
|
||||
on modern supercomputer architectures. Currently, the code enables, routinely,
|
||||
to realize runs on roughly 2 000 CPU cores, with tens of millions of
|
||||
determinants in the reference space. Moreover, we have been able to push up to
|
||||
12 288 cores in order to test its parallel efficiency. In the present
|
||||
manuscript, we also introduce some key new developments: (i) a renormalized
|
||||
second-order perturbative correction for efficient extrapolation to the full CI
|
||||
limit and (ii) a stochastic version of the CIPSI selection performed
|
||||
simultaneously to the PT2 calculation at no extra cost."
|
||||
affiliation: Laboratoire de Chimie et Physique Quantiques / CNRS
|
||||
- given-names: Yann
|
||||
family-names: Garniron
|
||||
affiliation: Laboratoire de Chimie et Physique Quantiques / CNRS
|
||||
- given-names: Michel
|
||||
family-names: Caffarel
|
||||
affiliation: Laboratoire de Chimie et Physique Quantiques / CNRS
|
||||
- given-names: Thomas
|
||||
family-names: Applencourt
|
||||
affiliation: Argonne National Lab
|
||||
- given-names: Kevin
|
||||
family-names: Gasperich
|
||||
affiliation: Argonne National Lab
|
||||
- given-names: Anouar
|
||||
family-names: Benali
|
||||
affiliation: Argonne National Lab
|
||||
- given-names: Emmanuel
|
||||
family-names: Giner
|
||||
affiliation: Laboratoire de Chimie Theorique / CNRS
|
||||
version: '2.0'
|
||||
url: https://quantumpackage.github.io/qp2/
|
||||
date-released: 2019-05-13
|
||||
date-released: 2019-02-11
|
||||
repository-code: https://github.com/QuantumPackage/qp2
|
||||
keywords: [ "computational chemistry", "configuration interaction", "cipsi", "perturbation theory" ]
|
||||
license: AGPL-3.0-or-later
|
||||
|
@ -1,13 +1,12 @@
|
||||
# Quantum Package 2.0
|
||||
|
||||
|
||||
[*Quantum package 2.0: an open-source determinant-driven suite of programs*](https://pubs.acs.org/doi/10.1021/acs.jctc.9b00176)\
|
||||
*Quantum package 2.0: an open-source determinant-driven suite of programs*\
|
||||
Y. Garniron, K. Gasperich, T. Applencourt, A. Benali, A. Ferté, J. Paquier, B. Pradines, R. Assaraf, P. Reinhardt, J. Toulouse, P. Barbaresco, N. Renon, G. David, J. P. Malrieu, M. Véril, M. Caffarel, P. F. Loos, E. Giner and A. Scemama\
|
||||
J. Chem. Theory Comput. (2019)\
|
||||
https://arxiv.org/abs/1902.08154
|
||||
|
||||
|
||||
<img src="https://raw.githubusercontent.com/QuantumPackage/qp2/master/data/qp2.png" width="250">
|
||||
![QP](https://raw.githubusercontent.com/QuantumPackage/qp2/master/data/qp2.png)
|
||||
|
||||
# Getting started
|
||||
|
||||
|
@ -30,22 +30,8 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st)
|
||||
|
||||
double precision :: avg, rpt2(N_st), element, dt, x
|
||||
integer :: k
|
||||
integer, save :: i_iter=0
|
||||
integer, parameter :: i_itermax = 3
|
||||
double precision, allocatable, save :: memo_variance(:,:), memo_pt2(:,:)
|
||||
|
||||
if (i_iter == 0) then
|
||||
allocate(memo_variance(N_st,i_itermax), memo_pt2(N_st,i_itermax))
|
||||
memo_pt2(:,:) = 1.d0
|
||||
memo_variance(:,:) = 1.d0
|
||||
endif
|
||||
|
||||
i_iter = i_iter+1
|
||||
if (i_iter > i_itermax) then
|
||||
i_iter = 1
|
||||
endif
|
||||
|
||||
dt = 4.d0
|
||||
dt = n_iter * selection_factor
|
||||
|
||||
do k=1,N_st
|
||||
rpt2(k) = pt2(k)/(1.d0 + norm(k))
|
||||
@ -54,23 +40,17 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st)
|
||||
avg = sum(rpt2(1:N_st)) / dble(N_st)
|
||||
do k=1,N_st
|
||||
element = exp(dt*(rpt2(k)/avg -1.d0))
|
||||
element = min(1.5d0 , element)
|
||||
element = max(0.5d0 , element)
|
||||
memo_pt2(k,i_iter) = element
|
||||
pt2_match_weight(k) = product(memo_pt2(k,:))
|
||||
element = min(1.2d0 , element)
|
||||
pt2_match_weight(k) *= element
|
||||
enddo
|
||||
|
||||
avg = sum(variance(1:N_st)) / dble(N_st)
|
||||
do k=1,N_st
|
||||
element = exp(dt*(variance(k)/avg -1.d0))
|
||||
element = min(1.5d0 , element)
|
||||
element = max(0.5d0 , element)
|
||||
memo_variance(k,i_iter) = element
|
||||
variance_match_weight(k) = product(memo_variance(k,:))
|
||||
element = min(1.2d0 , element)
|
||||
variance_match_weight(k) *= element
|
||||
enddo
|
||||
|
||||
print *, '# PT2 weight ', real(pt2_match_weight(:),4)
|
||||
print *, '# var weight ', real(variance_match_weight(:),4)
|
||||
SOFT_TOUCH pt2_match_weight variance_match_weight
|
||||
end
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user