tqchem.ttconf.electronic_structure_interfaces

Attributes

Classes

ElectronicStructureInterface

Interface to electronic structure codes

TBliteInterface

Interface/Wrapper for ASE/TBLite library to calculate energies

OpenFFInterface

Interface to OpenFF

CrestEnsembleInterface

Functions

sageFF_interface(→ OpenFFInterface)

Set up OpenMM simulation environment for the Sage OpenFF forcefield

amberFF_interface(→ OpenFFInterface)

Set up OpenMM Simulation environment for Amber Forcefield

Module Contents

tqchem.ttconf.electronic_structure_interfaces.DielectricConstant: _typeshed.Incomplete
class tqchem.ttconf.electronic_structure_interfaces.ElectronicStructureInterface

Bases: abc.ABC

Interface to electronic structure codes

Needs to implement a single point calculation and a gradient optimization

__call__:

Calculate energy for ase.Atoms object (i.e. the molecule)

_single_point_calculation:

Calculate energy for the current structure of the ase.Atoms object

_local_optimization:

Perform gradient optimization for ase.Atoms object and return energy for the optimized structure

_morse_energy:

Calculate energy based on a simple morse potential

__call__(molecule: ase.Atoms) float

Calculate energy for molecule

Parameters:

molecule (ase.Atoms) – Molecule object containing atom types and positions

Returns:

energy – Single point energy in eV

Return type:

float

class tqchem.ttconf.electronic_structure_interfaces.TBliteInterface(method: str, ref_mol: ase.Atoms, charge: int = 0, accuracy: float = 1.0, solvent: str = None, local_optimization: bool = True)

Bases: ElectronicStructureInterface

Interface/Wrapper for ASE/TBLite library to calculate energies

https://tblite.readthedocs.io/en/latest/users/ase.html

calculator

TBLite calculator to perform single point calculations.

__call__:

Calculate energy for ase.Atoms object (i.e. the molecule)

_single_point_calculation:

Calculate energy for the current structure of the ase.Atoms object

_local_optimization:

Perform gradient optimization for ase.Atoms object and return energy for the optimized structure

calculator: _typeshed.Incomplete
local_optimization: _typeshed.Incomplete
adjacency: _typeshed.Incomplete
class tqchem.ttconf.electronic_structure_interfaces.OpenFFInterface(simulation: openmm.app.Simulation, ref_mol: ase.Atoms, local_optimization: bool = True)

Bases: ElectronicStructureInterface

Interface to OpenFF

Different Force Fields are supported by changing the OpenMM simulation object from which this interface is constructed

Implementing functions for single point calculations, optimization and extracting of coordinates from the openMM system

simulation

OpenMM simulation class for calculating energies and optimized structures

Type:

Simulation

adjacency

Adjacency matrix of the molecular system

Type:

np.array

local_optimization: _typeshed.Incomplete
simulation: _typeshed.Incomplete
adjacency: _typeshed.Incomplete
tqchem.ttconf.electronic_structure_interfaces.sageFF_interface(molecule: ase.Atoms, local_optimization: bool = True, charge: int = 0, solvent: str = None) OpenFFInterface

Set up OpenMM simulation environment for the Sage OpenFF forcefield

Parameters:
  • molecule (ase.Atoms) – Molecule to create openMM simulation object from

  • local_optimization (bool, default=True) – Enable gradient optimziation

  • charge (int, default=0) – Formal charge of the molecule

  • solvent (str, default=None) – Add implicit solvation using solvent specified by name

tqchem.ttconf.electronic_structure_interfaces.amberFF_interface(molecule: ase.Atoms, local_optimization: bool = True, charge: int = 0, solvent: str = None) OpenFFInterface

Set up OpenMM Simulation environment for Amber Forcefield

Parameters:
  • molecule (ase.Atoms) – Molecule to create openMM simulation object

  • local_optimization (bool, default=True) – Enable gradient optimziation

  • charge (int, default=0) – Formal charge of the molecule

  • solvent (str, default=None) – Add implicit solvation using solvent specified by name

class tqchem.ttconf.electronic_structure_interfaces.CrestEnsembleInterface(method: str, ref_mol: ase.Atoms, charge: int = 0, solvent: str = None, threads: int = 4)
optlevel: str
threads: _typeshed.Incomplete
charge: _typeshed.Incomplete
solvent: _typeshed.Incomplete
adjacency: _typeshed.Incomplete
method: _typeshed.Incomplete
__call__(molecules: list[ase.Atoms]) numpy.ndarray

Prepare ensemble of molecules whithout collided atoms and optimize with CREST