#  Copyright (C) 2017 The authors of Py-ChemShell
#
#  This file is part of Py-ChemShell.
#
#  Py-ChemShell is free software: you can redistribute it and/or modify
#  it under the terms of the GNU Lesser General Public License as
#  published by the Free Software Foundation, either version 3 of the
#  License, or (at your option) any later version.
#
#  Py-ChemShell is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU Lesser General Public License for more details.
#
#  You should have received a copy of the GNU Lesser General Public
#  License along with Py-ChemShell.  If not, see
#  <http://www.gnu.org/licenses/>.

basissets = {
              # minimal
              'sto3g'        :'sto-3G',
              'sto3g*'       :'sto-3G*',
              'sto4g'        :'sto-4G',
              'sto6g'        :'sto-6G',
              # Pople
              '321g'         :'3-21G',    
              '321g*'        :'3-21G*',         # polarization functions on heavy atoms
              '321g**'       :'3-21G**',        # polarization functions on heavy atoms and hydrogen
              '321+g'        :'3-21+G',         # diffuse functions on heavy atoms
              '321++g'       :'3-21++G',        # diffuse functions on heavy atoms and hydrogen
              '321+g*'       :'3-21+G*',        # polarization and diffuse functions on heavy atoms
              '321+g**'      :'3-21+G**',       # polarization functions on heavy atoms and hydrogen, as well as diffuse functions on heavy atoms
              '421g'         :'4-21G',
              '431g'         :'4-31G',
              '621g'         :'6-21G',
              '631g'         :'6-31G',
              '631g*'        :'6-31G*',
              '631+g*'       :'6-31+G*',
              '631g(3df,3pd)':'6-31G(3df,3pd)',
              '6311g'        :'6-311G',
              '6311g*'       :'6-311G*',
              '6311+g*'      :'6-311+G*',
              # correlation-consistent
              'ccpvdz'       :'cc-pVDZ',        # double-zeta
              'ccpvtz'       :'cc-pVTZ',        # triple-zeta
              'ccpvqz'       :'cc-pVQZ',        # quadruple-zeta
              'ccpv5z'       :'cc-pV5Z',        # quintuple-zeta, etc.
              'augccpvdz'    :'aug-cc-pVDZ',    # augmented versions of the preceding basis sets with added diffuse functions.
              'ccpcvdz'      :'cc-pCVDZ',       # double-zeta with core correlation
              # Karlsruhe
              'def2sv(p)'    :'def2-SV(P)',     # split valence with polarization functions on heavy atoms (not hydrogen)
              'def2svp'      :'def2-SVP',       # split valence polarization
              'def2svpd'     :'def2-SVPD',      # split valence polarization with diffuse functions
              'def2tzvp'     :'def2-TZVP',      # valence triple-zeta polarization
              'def2-tzvp'    :'def2-TZVP',      # valence triple-zeta polarization
              'def2tzvpd'    :'def2-TZVPD',     # valence triple-zeta polarization with diffuse functions
              'def2tzvpp'    :'def2-TZVPP',     # valence triple-zeta with two sets of polarization functions
              'def2tzvppd'   :'def2-TZVPPD',    # valence triple-zeta with two sets of polarization functions and a set of diffuse functios
              'def2qzvp'     :'def2-QZVP',      # valence quadruple-zeta polarization
              'def2qzvpd'    :'def2-QZVPD',     # valence quadruple-zeta polarization with diffuse functions
              'def2qzvpp'    :'def2-QZVPP',     # valence quadruple-zeta with two sets of polarization functions
              'def2qzvppd'   :'def2-QZVPPD',    # valence quadruple-zeta with two sets of polarization functions and a set of diffuse functios
              'tzvp'         :'TZVP',
              # AJL, July2018
              # Unknown - maybe to go under Pople?
              'svp'          :'SVP',
              'dzp'          :'DZP',
            }
