schrodinger.application.jaguar.basis module

Utility functions for dealing with Jaguar basis sets

class schrodinger.application.jaguar.basis.BasisSet(name: str, backup: str, nstar: int, nplus: int, is_ecp: bool, is_ps: bool, numd: int, numf: int)

Bases: object

A Pythonic wrapper for basis set information.

__init__(name: str, backup: str, nstar: int, nplus: int, is_ecp: bool, is_ps: bool, numd: int, numf: int)

Create a BasisSet object using the return values from mm.mmjag_basis_get().

Parameters
  • name – The name of the basis set

  • backup – The basis set used for non-effective-core-potential atoms

  • nstar – The availability of polarization functions

  • nplus – The availability of diffuse functions

  • is_ecp – Does this basis set use effective core potentials on heavy atoms?l

  • is_ps – Is this basis set pseudospectral?

  • numd – The number of d functions

  • numf – The number of f functions

schrodinger.application.jaguar.basis.get_bases() Iterator[schrodinger.application.jaguar.basis.BasisSet]

Get information about all basis set

Returns

An iterator for basis sets, where each basis set is returned as a BasisSet object

schrodinger.application.jaguar.basis.get_unsupported_atoms(basis: str, struct: schrodinger.structure._structure.Structure, check_ps: bool, ignore_H: bool = True, atomic_bases: Optional[Dict] = None) List[Tuple[str, str]]

Check if all atoms in struct are defined by basis. Optionally skip H’s so they can be handled separately.

Parameters
  • basis – Name of basis we are checking

  • struct – Structure to check

  • check_ps – Check for PS support

  • ignore_H – Ignore H atoms

  • atomic_bases – Dictionary of per-atom basis sets

Return unsupported

set of tuples containing unsupported element names and basis names

schrodinger.application.jaguar.basis.is_atom_supported(basis: str, atom: schrodinger.structure._structure._StructureAtom, check_ps: bool, ignore_H: bool = True) bool

Check if an atom is supported for a given basis. Supported means the basis has functions defined for that atom and, optionally, functions defined that work within the PS approximation.

Parameters
  • basis – Name of basis we are checking

  • atom – Atom to check

  • check_ps – Check for PS support

  • ignore_H – Ignore H atoms

Returns

Whether the element is supported

schrodinger.application.jaguar.basis.default_jaguar_basis(struc: schrodinger.structure._structure.Structure) str

Get the Jaguar default basis set for the specified structure. More specifically, this function is intended to return the same basis that the Jaguar code uses by default when a basis is not specified in the Jaguar input – will depend on the input structure.

The default basis returned by this function should be consistent with the default basis choice defined by the Fortran subroutine “defbas” in jaguar-src/main/input.f

Parameters

struc – The structure to retrieve the default basis set for. If not given, then the default basis set (6-31G**) will be returned.

Returns

The appropriate Jaguar default basis set

Raises

TypeError – Non-structure object passed in for struc

schrodinger.application.jaguar.basis.parse_basis(basis: str) Tuple[str, int, int]

Parse the given basis set name and determine that number of *’s and +’s.

Parameters

basis – The full basis set name

Returns

A tuple of - The basis set name with the *’s and +’s stripped (str) - The polarization function count (i.e. the number of *’s) (int) - The diffuse function count (i.e. the number of +’s) (int)