tqchem.ttconf.electronic_structure_interfaces ============================================= .. py:module:: tqchem.ttconf.electronic_structure_interfaces Attributes ---------- .. autoapisummary:: tqchem.ttconf.electronic_structure_interfaces.DielectricConstant Classes ------- .. autoapisummary:: tqchem.ttconf.electronic_structure_interfaces.ElectronicStructureInterface tqchem.ttconf.electronic_structure_interfaces.TBliteInterface tqchem.ttconf.electronic_structure_interfaces.OpenFFInterface tqchem.ttconf.electronic_structure_interfaces.CrestEnsembleInterface Functions --------- .. autoapisummary:: tqchem.ttconf.electronic_structure_interfaces.sageFF_interface tqchem.ttconf.electronic_structure_interfaces.amberFF_interface Module Contents --------------- .. py:data:: DielectricConstant :type: _typeshed.Incomplete .. py:class:: ElectronicStructureInterface Bases: :py:obj:`abc.ABC` Interface to electronic structure codes Needs to implement a single point calculation and a gradient optimization .. method:: __call__: Calculate energy for ase.Atoms object (i.e. the molecule) .. method:: _single_point_calculation: Calculate energy for the current structure of the ase.Atoms object .. method:: _local_optimization: Perform gradient optimization for ase.Atoms object and return energy for the optimized structure .. method:: _morse_energy: Calculate energy based on a simple morse potential .. py:method:: __call__(molecule: ase.Atoms) -> float Calculate energy for molecule :param molecule: Molecule object containing atom types and positions :type molecule: ase.Atoms :returns: **energy** -- Single point energy in eV :rtype: float .. py:class:: TBliteInterface(method: str, ref_mol: ase.Atoms, charge: int = 0, accuracy: float = 1.0, solvent: str = None, local_optimization: bool = True) Bases: :py:obj:`ElectronicStructureInterface` Interface/Wrapper for ASE/TBLite library to calculate energies https://tblite.readthedocs.io/en/latest/users/ase.html .. attribute:: calculator TBLite calculator to perform single point calculations. .. method:: __call__: Calculate energy for ase.Atoms object (i.e. the molecule) .. method:: _single_point_calculation: Calculate energy for the current structure of the ase.Atoms object .. method:: _local_optimization: Perform gradient optimization for ase.Atoms object and return energy for the optimized structure .. py:attribute:: calculator :type: _typeshed.Incomplete .. py:attribute:: local_optimization :type: _typeshed.Incomplete .. py:attribute:: adjacency :type: _typeshed.Incomplete .. py:class:: OpenFFInterface(simulation: openmm.app.Simulation, ref_mol: ase.Atoms, local_optimization: bool = True) Bases: :py:obj:`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 .. attribute:: simulation OpenMM simulation class for calculating energies and optimized structures :type: Simulation .. attribute:: adjacency Adjacency matrix of the molecular system :type: np.array .. py:attribute:: local_optimization :type: _typeshed.Incomplete .. py:attribute:: simulation :type: _typeshed.Incomplete .. py:attribute:: adjacency :type: _typeshed.Incomplete .. py:function:: 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 :param molecule: Molecule to create openMM simulation object from :type molecule: ase.Atoms :param local_optimization: Enable gradient optimziation :type local_optimization: bool, default=True :param charge: Formal charge of the molecule :type charge: int, default=0 :param solvent: Add implicit solvation using solvent specified by name :type solvent: str, default=None .. py:function:: amberFF_interface(molecule: ase.Atoms, local_optimization: bool = True, charge: int = 0, solvent: str = None) -> OpenFFInterface Set up OpenMM Simulation environment for Amber Forcefield :param molecule: Molecule to create openMM simulation object :type molecule: ase.Atoms :param local_optimization: Enable gradient optimziation :type local_optimization: bool, default=True :param charge: Formal charge of the molecule :type charge: int, default=0 :param solvent: Add implicit solvation using solvent specified by name :type solvent: str, default=None .. py:class:: CrestEnsembleInterface(method: str, ref_mol: ase.Atoms, charge: int = 0, solvent: str = None, threads: int = 4) .. py:attribute:: optlevel :type: str .. py:attribute:: threads :type: _typeshed.Incomplete .. py:attribute:: charge :type: _typeshed.Incomplete .. py:attribute:: solvent :type: _typeshed.Incomplete .. py:attribute:: adjacency :type: _typeshed.Incomplete .. py:attribute:: method :type: _typeshed.Incomplete .. py:method:: __call__(molecules: list[ase.Atoms]) -> numpy.ndarray Prepare ensemble of molecules whithout collided atoms and optimize with CREST