Ejemplo n.º 1
0
    class ORCA:
        # ---------------------------------------------------------------------
        # Parameters for orca   https://sites.google.com/site/orcainputlibrary/
        # ---------------------------------------------------------------------
        #
        # Path can be unset and will be assigned if it can be found in $PATH
        path = None

        keywords = KeywordsSet(
            low_opt=['LooseOpt', pbe, d3bj, def2svp],
            grad=['EnGrad', pbe0, rijcosx, d3bj, def2svp, 'AutoAux'],
            opt=['Opt', pbe0, rijcosx, d3bj, def2svp, 'AutoAux'],
            opt_ts=['OptTS', 'Freq', pbe0, rijcosx, d3bj, def2svp, 'AutoAux'],
            hess=['Freq', pbe0, rijcosx, d3bj, def2svp, 'AutoAux'],
            sp=['SP', pbe0, rijcosx, d3bj, def2tzvp, 'AutoAux'],
            optts_block=('%geom\n'
                         'Calc_Hess true\n'
                         'Recalc_Hess 30\n'
                         'Trust -0.1\n'
                         'MaxIter 150\n'
                         'end'))

        # Implicit solvent in ORCA is either treated with CPCM or SMD, the
        # former has support for a VdW surface construction which provides
        # better geometry convergence (https://doi.org/10.1002/jcc.26139) SMD
        # is in general more accurate, but does not (yet) have support for the
        # VdW charge scheme. Use either (1) solv.cpcm, (2) solv.smd
        implicit_solvation_type = solv.cpcm
Ejemplo n.º 2
0
    class G09:
        # ---------------------------------------------------------------------
        # Parameters for g09                 https://gaussian.com/glossary/g09/
        # ---------------------------------------------------------------------
        #
        # path can be unset and will be assigned if it can be found in $PATH
        path = None
        #
        disp = 'EmpiricalDispersion=GD3BJ'
        grid = 'integral=ultrafinegrid'

        keywords = KeywordsSet(
            low_opt=['PBEPBE/Def2SVP', 'Opt=Loose', disp, grid],
            grad=['PBE1PBE/Def2SVP', 'Force(NoStep)', disp, grid],
            opt=['PBE1PBE/Def2SVP', 'Opt', disp, grid],
            opt_ts=[
                'PBE1PBE/Def2SVP', 'Freq', disp, grid,
                'Opt=(TS, CalcFC, NoEigenTest, '
                'MaxCycles=100, MaxStep=10, '
                'NoTrustUpdate)'
            ],
            hess=['PBE1PBE/Def2SVP', 'Freq', disp, grid],
            sp=['PBE1PBE/Def2TZVP', disp, grid])

        # Only SMD implemented
        implicit_solvation_type = 'smd'
Ejemplo n.º 3
0
 class PSI4:
     #----------------------------------------------------------------------
     # Parameters for psi4                           http://www.psicode.org/
     #
     # path can be unset and will be assigned if it can be found in $PATH
     path = None
     #
     keywords = KeywordsSet(opt=['PBE0-D3BJ', 'def2-SVP'],
                            sp=['PBE0-D3BJ', 'def2-TZVP'])
     # only gas phase for now
     implicit_solvation_type = 'not_supported'
Ejemplo n.º 4
0
 class XTB:
     # ---------------------------------------------------------------------
     # Parameters for xtb                  https://github.com/grimme-lab/xtb
     # ---------------------------------------------------------------------
     #
     # path can be unset and will be assigned if it can be found in $PATH
     path = None
     #
     keywords = KeywordsSet()
     #
     # Only GBSA implemented
     implicit_solvation_type = solv.gbsa
Ejemplo n.º 5
0
    class NWChem:
        # ---------------------------------------------------------------------
        # Parameters for nwchem    http://www.nwchem-sw.org/index.php/Main_Page
        # ---------------------------------------------------------------------
        #
        # Path can be unset and will be assigned if it can be found in $PATH
        path = None
        #
        svp_basis_block = 'basis\n  *   library Def2-SVP\nend'
        tzvp_basis_block = 'basis\n  *   library Def2-TZVP\nend'
        #
        # Note that the default NWChem level is PBE0 and PBE rather than
        # PBE0-D3BJ and PBE-D3BJ as only D3 is available
        loose_opt_block = ('driver\n'
                           '  gmax 0.002\n'
                           '  grms 0.0005\n'
                           '  xmax 0.01\n'
                           '  xrms 0.007\n'
                           '  eprec 0.00003\n'
                           '  maxiter 50\n'
                           'end')

        opt_block = ('driver\n'
                     '  gmax 0.0003\n'
                     '  grms 0.0001\n'
                     '  xmax 0.004\n'
                     '  xrms 0.002\n'
                     '  eprec 0.000005\n'
                     '  maxiter 100\n'
                     'end')

        pbe_block = 'dft\n  maxiter 100\n  xc xpbe96 cpbe96\nend'
        pbe0_block = 'dft\n  xc pbe0\nend'

        keywords = KeywordsSet(
            low_opt=[
                loose_opt_block, svp_basis_block, pbe_block,
                'task dft optimize'
            ],
            grad=[svp_basis_block, pbe0_block, 'task dft gradient'],
            opt=[
                opt_block, svp_basis_block, pbe0_block, 'task dft optimize',
                'task dft property'
            ],
            opt_ts=[
                opt_block, svp_basis_block, pbe0_block, 'task dft saddle',
                'task dft freq', 'task dft property'
            ],
            hess=[svp_basis_block, pbe0_block, 'task dft freq'],
            sp=[tzvp_basis_block, pbe0_block, 'task dft energy'])

        # Only SMD implemented
        implicit_solvation_type = 'smd'
Ejemplo n.º 6
0
 class MOPAC:
     # ---------------------------------------------------------------------
     # Parameters for mopac                             http://openmopac.net
     # ---------------------------------------------------------------------
     #
     # path can be unset and will be assigned if it can be found in $PATH
     path = None
     #
     # Note: all optimisations at this low level will be in the gas phase
     # using the keywords_list specified here. Solvent in mopac is defined
     # by EPS and the dielectric
     keywords = KeywordsSet(low_opt=['PM7', 'PRECISE'])
     #
     # Only COSMO implemented
     implicit_solvation_type = solv.cosmo
Ejemplo n.º 7
0
    class G16:
        # ---------------------------------------------------------------------
        # Parameters for g16                   https://gaussian.com/gaussian16/
        # ---------------------------------------------------------------------
        #
        # path can be unset and will be assigned if it can be found in $PATH
        path = None
        #
        ts_str = ('Opt=(TS, CalcFC, NoEigenTest, MaxCycles=100, MaxStep=10, '
                  'NoTrustUpdate, RecalcFC=30)')

        keywords = KeywordsSet(low_opt=[pbe, def2svp, 'Opt=Loose', d3bj],
                               grad=[pbe0, def2svp, 'Force(NoStep)', d3bj],
                               opt=[pbe0, def2svp, 'Opt', d3bj],
                               opt_ts=[pbe0, def2svp, 'Freq', d3bj, ts_str],
                               hess=[pbe0, def2svp, 'Freq', d3bj],
                               sp=[pbe0, def2tzvp, d3bj])

        # Only SMD implemented
        implicit_solvation_type = solv.smd
Ejemplo n.º 8
0
    class G09:
        # ---------------------------------------------------------------------
        # Parameters for g09                 https://gaussian.com/glossary/g09/
        # ---------------------------------------------------------------------
        #
        # path can be unset and will be assigned if it can be found in $PATH
        path = None
        #
        grid = 'integral=ultrafinegrid'
        ts_str = ('Opt=(TS, CalcFC, NoEigenTest, MaxCycles=100, MaxStep=10, '
                  'NoTrustUpdate)')

        keywords = KeywordsSet(
            low_opt=[pbe, def2svp, 'Opt=Loose', d3bj, grid],
            grad=[pbe0, def2svp, 'Force(NoStep)', d3bj, grid],
            opt=[pbe0, def2svp, 'Opt', d3bj, grid],
            opt_ts=[pbe0, def2svp, 'Freq', d3bj, grid, ts_str],
            hess=[pbe0, def2svp, 'Freq', d3bj, grid],
            sp=[pbe0, def2tzvp, d3bj, grid])

        # Only SMD implemented
        implicit_solvation_type = solv.smd
Ejemplo n.º 9
0
    class G16:
        # ---------------------------------------------------------------------
        # Parameters for g16                   https://gaussian.com/gaussian16/
        # ---------------------------------------------------------------------
        #
        # path can be unset and will be assigned if it can be found in $PATH
        path = None
        #
        disp = 'EmpiricalDispersion=GD3BJ'
        ts_str = ('Opt=(TS, CalcFC, NoEigenTest, MaxCycles=100, MaxStep=10, '
                  'NoTrustUpdate, RecalcFC=30)')

        keywords = KeywordsSet(
            low_opt=['PBEPBE/Def2SVP', 'Opt=Loose', disp],
            grad=['PBE1PBE/Def2SVP', 'Force(NoStep)', disp],
            opt=['PBE1PBE/Def2SVP', 'Opt', disp],
            opt_ts=['PBE1PBE/Def2SVP', 'Freq', disp, ts_str],
            hess=['PBE1PBE/Def2SVP', 'Freq', disp],
            sp=['PBE1PBE/Def2TZVP', disp])

        # Only SMD implemented
        implicit_solvation_type = 'smd'