Method classes#

class AaronTools.theory.Method(name, is_semiempirical=False, is_oniom=False, oniom_layer=None, is_mm=False)#

functional object used to ensure the proper keyword is used

e.g. using Functional(‘PBE0’) will use PBE1PBE in a gaussian input file

__init__(name, is_semiempirical=False, is_oniom=False, oniom_layer=None, is_mm=False)#
Parameters:
  • name (str) – functional name

  • is_semiempirical (bool) – basis set is not required

  • is_oniom (bool) – oniom_layer must be in kwargs, is_mm must be in kwargs

  • oniom_layer (str) – oniom layer method describes, must be “H”, “M”, or “L”

  • is_mm (bool) – basis set is not required

static sanity_check_method(name, program)#

check to see if method is available in the specified program

Parameters:
  • name (str) – name of method

  • program (str) – program name (gaussian, orca, psi4, or qchem)

get_gaussian()#

maps proper functional name to one Gaussian accepts

get_orca()#

maps proper functional name to one ORCA accepts

get_psi4()#

maps proper functional name to one Psi4 accepts

get_sqm()#

get method name that is appropriate for sqm

get_qchem()#

maps proper functional name to one Psi4 accepts

class AaronTools.theory.SAPTMethod(*args, **kwargs)#

method used to differentiate between regular methods and sapt methods because the molecule will need to be split into monomers

if using a sapt method, the geometry given to Theory or Geometry.write should have a ‘components’ attribute with each monomer being a component

the charge and multiplicity given to Theory should be a list, with the first item in each list being the overall charge/multiplicity and the subsequent items being the charge/multiplicity of the monomers (components)

__init__(*args, **kwargs)#
Parameters:
  • name (str) – functional name

  • is_semiempirical (bool) – basis set is not required

  • is_oniom (bool) – oniom_layer must be in kwargs, is_mm must be in kwargs

  • oniom_layer (str) – oniom layer method describes, must be “H”, “M”, or “L”

  • is_mm (bool) – basis set is not required