# GAMESS-US¶

GAMESS-US is a computational chemistry software package based on gaussian basis functions.

## Setup¶

Ask your systems administrator to install GAMESS-US for you, or obtain it yourself from the GAMESS-US download page. Note that while GAMESS-US is available at no cost (including its source code), it is not distributed under an open source license, thus you are not permitted to redistribute copies of GAMESS-US or its source code.

$ase gui stdin.traj@-1 -tg "a(1,0,2),d(0,1)" 102.59049267228833 1.0079388022627982  An example of creating a GAMESS-US calculator using the python interface is: from ase.calculators.gamess_us import GAMESSUS calc = GAMESSUS(contrl=dict(scftyp='rhf', dfttyp='b3lyp', ispher=1), dft=dict(dc=True, idcver=3), basis=dict(gbasis='ccd'))  This will run a B3LYP/cc-pVDZ calculation with Stefan Grimme’s DFT-D3 empirical dispersion correction. ## Parameters¶ GAMESS-US organized keywords into blocks delimited by $<BLOCKNAME> and $END. The GAMESSUS calculator represents these blocks as dictionaries. For example, consider the following block of input: $CONTRL SCFTYP=RHF DFTTYP=M06 $END$SYSTEM MWORDS=4 $END$BASIS
GBASIS=N31
NGAUSS=6
NDFUNC=1
$END$DFT NRAD=96 NLEB=1202 $END  Note that keywords within a block can be on the same or different lines. Equivalent input will be generated by invoking the GAMESSUS calculator with the following arguments: calc = GAMESSUS(contrl=dict(scftyp='rhf', dfttyp='m06'), system=dict(mwords=4), basis=dict(gbasis='n31', ngauss=6, ndfunc=1), dft=dict(nrad=96, nleb=1202))  Note that though GAMESS-US is case insensitive, Python is case sensitive. The GAMESSUS calculator expects lowercase keywords. Most input files can be constructed in this way. The GAMESSUS calculator also has several special keywords, which are described in the table below keyword type default value description label str 'gamess_us' Used to name input and output files. userscr str None The USERSCR directory defined in rungms. If not provided, ASE will attempt to automatically determine the correct value from your rungms script. This is not guaranteed to work, in which case you will need to manually provide the proper location. basis dict See description Specifies the arguments that go into the $BASIS block in the GAMESS-US input file. Defaults to {'gbasis': 'n21', 'ngauss': 3}, i.e. 3-21G. Alternately, basis accepts a dictionary of literal basis set definitions where the keys correspond to element type or atom index.

ecp

dict

None

A dictionary of literal ECP definitions. Keys should be either an element symbol or an atom index.

class ase.calculators.gamess_us.GAMESSUS(restart=None, ignore_bad_restart_file=False, label='gamess_us', atoms=None, command=None, userscr=None, **kwargs)[source]

GAMESS-US keywords are specified using dictionaries of keywords. For example, to run a CCSD(T)/cc-pVDZ calculation, you might use the following arguments:

>>> calc = GAMESSUS(contrl={'scftyp': 'rhf', 'cctyp': 'ccsd(t)',
>>>                         'ispher': 1, 'runtyp': 'energy'},
>>>                 basis={'gbasis': 'CCD'})


This will create an input file that looks like the following:

>>>  $CONTRL >>> SCFTYP=RHF >>> CCTYP=CCSD(T) >>> ISPHER=1 >>> RUNTYP=ENERGY >>>$END
>>>
>>>  $BASIS >>> GBASIS=CCSD >>>$END


If $$runtyp$$ is not specified, it will be set automatically.

If no basis is specified, 3-21G will be used by default. A dictionary containing literal per-index or per-element basis sets can be passed to the $$basis$$ keyword. This will result in the basis set being printed in the $DATA block, alongside the geometry specification. Otherwise, $$basis$$ is assumed to contain keywords for the$BASIS block, such as GBASIS and NGAUSS.

If a multiplicity is not set in contrl[‘mult’], the multiplicity will be guessed based on the Atoms object’s initial magnetic moments.

The GAMESSUS calculator has some special keyword:

xc: str

The exchange-correlation functional to use for DFT calculations. In most circumstances, setting xc is equivalent to setting contrl[‘dfttyp’]. xc will be ignored if a value has also been provided to contrl[‘dfttyp’].

userscr: str

The location of the USERSCR directory specified in your $$rungms$$ script. If not provided, an attempt will be made to automatically determine the location of this directory. If this fails, you will need to manually specify the path to this directory to the calculator using this keyword.

ecp: dict

A per-index or per-element dictionary of ECP specifications.