Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
112 lines (88 sloc) 3.2 KB
github_url:https://github.com/adc-connect/adcc/blob/master/docs/index.rst

adcc: Seamlessly connect your program to ADC

https://img.shields.io/github/stars/adc-connect/adcc?style=social https://travis-ci.org/adc-connect/adcc.svg?branch=master https://img.shields.io/pypi/v/adcc https://img.shields.io/pypi/l/adcc

Note

This documentation page is still under construction.

adcc logo

ADC-connect -- or adcc in short -- is a Python-based framework to connect to arbitrary programs and perform calculations based on the algebraic-diagrammatic construction approach (ADC) on top of their existing self-consistent field (SCF) procedures. Four SCF codes can be used with adcc out of the box, namely molsturm, psi4, PySCF, and veloxchem.

The range of supported algebraic-diagrammatic construction (ADC) methods includes the ADC(n) family up to level 3, including variants such as spin-flip and core-valence separation. For all methods transition and excited state properties are available. See the :ref:`performing-calculations` for more details. Recently we submitted a paper about adcc, see :cite:`adcc`.

Getting a first taste

You may interactively try adcc from your browser at https://try.adc-connect.org. Alternatively keep reading for a small code snippet, which shows how to perform an ADC(3) calculation for 3 singlet excited states of water on top of a restricted Hartree-Fock reference computed with PySCF.

from matplotlib import pyplot as plt
from pyscf import gto, scf
import adcc

# Run SCF in pyscf
mol = gto.M(
    atom='O 0 0 0;'
         'H 0 0 1.795239827225189;'
         'H 1.693194615993441 0 -0.599043184453037',
    basis='cc-pvtz',
    unit="Bohr"
)
scfres = scf.RHF(mol)
scfres.conv_tol = 1e-13
scfres.kernel()

# Run an ADC(3) calculation, solving for 3 singlets
state = adcc.adc3(scfres, n_singlets=3)

# Broaden the peaks and plot the resulting spectrum
state.plot_spectrum(broadening='lorentzian')
plt.show()

Sounds interesting? See :ref:`installation` and :ref:`performing-calculations` for installation instructions and some more information to get going.

Contents

.. toctree::
   :caption: Introduction
   :maxdepth: 2

   installation
   calculations
   theory

.. toctree::
   :caption: Advanced topics
   :maxdepth: 2

   reference
   hostprograms
   developers
   adccore
   libadcc

.. toctree::
   :caption: Extra information
   :maxdepth: 2

   zpublications
   about

You can’t perform that action at this time.