Kinetica.jl API

autodE Interface

Conformer Searching

Kinetica.autode_conformer_search!Function
autode_conformer_search!(sd::SpeciesData, sid)

Performs a conformer search for the species at sd.xyz[sid], updating its geometry.

Constructs an initial guess of species geometry from its SMILES, then runs an autodE conformer search with xTB as the energetic driver. Finds the lowest energy conformer and writes it back to sd.xyz[sid].

Requires spin multiplicity and charge for the given species to be cached in sd.cache[:mult][sid] and sd.cache[:charge][sid] respectively, which can be achieved by calling get_mult! and get_charge!. Failure to do so will result in an error.

Also populates sd.cache with autodE-derived values for symmetry number and geometry for later use in TST calculations.

source
Kinetica.autode_NCI_conformer_searchFunction
autode_NCI_conformer_search(sd::SpeciesData, sids[, name="complex"])

Performs a search for the lowest energy non-covalent interacting reaction complex defined by the species in sd at species IDs sids.

Constructs an autodE NCIComplex from the provided species and finds the lowest energy conformation of species. Returns a new ExtXYZ frame containing the geometry of this conformation.

This frame is additionally tagged with information about the complex, such as its spin multiplicity, charge and xTB energy. This information can be found in the resulting frame's "info" dictionary.

This method should only be performed following calls to autode_conformer_search!, as it both generates correct species geometries and also populates sd.cache with neccessary information about the spins and charges of species.

The complexity of this conformer search can be modified by changing KineticaASE.ade.Config before running any calculations, using the options shown in the autodE documentation (https://duartegroup.github.io/autodE/examples/nci.html).

source

Species Conversion

Kinetica.autode_to_frameFunction
autode_to_frame(ademol::Py[, info_dict=nothing])

Converts an autodE Molecule to an ExtXYZ frame.

Reads atoms from ademol and constructs an ExtXYZ frame with them. Frame defaults to having an empty info field, although this can be populated by passing a Dict{String, Any} to the info_dict keyword argument.

source
Kinetica.frame_to_autodeFunction
frame_to_autode(frame::Dict{String, Any}[, mult::Int=1, chg::Int=0])

Converts an ExtXYZ frame to an autodE Molecule.

Writes a temporary xyz file from frame and reads it back in with autodE. There doesn't seem to be a way around writing to disk here, as autodE only detects an xyz input when reading a file ending in '.xyz', which can't be replicated with an in- memory IO buffer.

Optionally allows specification of spin multiplicity and charge through the mult and chg keyword arguments respectively.

source

Utilities

Kinetica.autode_get_graphFunction
autode_get_graph(sd::SpeciesData, sid)

Returns the connectivity graph of a species in sd at ID sid.

Connectivity graph is returned as a PythonCall Py object.

source
Kinetica.autode_is_isomorphicFunction
autode_is_isomorphic(graph1::Py, graph2::Py)

Returns whether two autodE connectivity graphs are isomorphic.

Graphs can be obtained from autode_get_graph().

source
Kinetica.autode_frame_symmetryFunction
autode_frame_symmetry(frame::Dict{String, Any}[, mult::Int=1, chg::Int=0])

Returns the symmetry number and geometric identifier of a given geometry.

Geometric identifier is 1 if a geometry is linear and 2 otherwise. This assumes that the geometry is not monoatomic, in which case the identifier would be 0.

source