tcutility.results package#

Submodules#

tcutility.results.adf module#

get_calc_settings(info)[source]#

Function to read calculation settings for an ADF calculation.

Parameters:

info (Result) – Result object containing ADF calculation settings.

Return type:

Result

Returns:

Result object containing properties from the ADF calculation:

  • task (str) – the task that was set for the calculation.

  • relativistic (bool) – whether or not relativistic effects were enabled.

  • relativistic_type (str) – the name of the relativistic approximation used.

  • unrestricted_sfos (bool) – whether or not SFOs are treated in an unrestricted manner.

  • unrestricted_mos (bool) – whether or not MOs are treated in an unrestricted manner.

  • symmetry.group (str) – the symmetry group selected for the molecule.

  • symmetry.labels (list[str]) – the symmetry labels associated with the symmetry group.

  • used_regions (bool) – whether regions were used in the calculation.

  • charge (int) - the charge of the system.

  • spin_polarization (int) - the spin-polarization of the system.

  • multiplicity (int) - the multiplicity of the system. This is equal to 2|S|+1 for spin-polarization S.

get_properties(info)[source]#

Function to get properties from an ADF calculation.

Parameters:

info (Result) – Result object containing ADF properties.

Return type:

Result

Returns:

Result object containing properties from the ADF calculation:

  • energy.bond (float) – bonding energy (\(\text{kcal mol}^-1\)).

  • energy.elstat.total (float) – total electrostatic potential (\(\text{kcal mol}^-1\)).

  • energy.elstat.Vee (float) – electron-electron repulsive term of the electrostatic potential (\(\text{kcal mol}^-1\)).

  • energy.elstat.Ven (float) – electron-nucleus attractive term of the electrostatic potential (\(\text{kcal mol}^-1\)).

  • energy.elstat.Vnn (float) – nucleus-nucleus repulsive term of the electrostatic potential (\(\text{kcal mol}^-1\)).

  • energy.orbint.total (float) – total orbital interaction energy containing contributions from each symmetry label and correction energy(\(\text{kcal mol}^-1\)).

  • energy.orbint.{symmetry label} (float) – orbital interaction energy from a specific symmetry label (\(\text{kcal mol}^-1\)).

  • energy.orbint.correction (float) - orbital interaction correction energy, the difference between the total and the sum of the symmetrized interaction energies (\(\text{kcal mol}^-1\))

  • energy.pauli.total (float) – total Pauli repulsion energy (\(\text{kcal mol}^-1\)).

  • energy.dispersion (float) – total dispersion energy (\(\text{kcal mol}^-1\)).

  • energy.gibbs (float) – Gibb’s free energy (\(\text{kcal mol}^-1\)). Only populated if vibrational modes were calculated.

  • energy.enthalpy (float) – enthalpy (\(\text{kcal mol}^-1\)). Only populated if vibrational modes were calculated.

  • energy.nuclear_internal (float) – nuclear internal energy (\(\text{kcal mol}^-1\)). Only populated if vibrational modes were calculated.

  • vibrations.number_of_modes (int) – number of vibrational modes for this molecule, 3N-5 for non-linear molecules and 3N-6 for linear molecules, where N is the number of atoms.

  • vibrations.number_of_imag_modes (int) – number of imaginary vibrational modes for this molecule.

  • vibrations.frequencies (float) – vibrational frequencies associated with the vibrational modes, sorted from low to high (\(\text{cm}^-1\)).

  • vibrations.intensities (float) – vibrational intensities associated with the vibrational modes (\(\text{km mol}^-1\)).

  • vibrations.modes (list[float]) – list of vibrational modes sorted from low frequency to high frequency.

  • vibrations.character (str) – Character of the molecule based on the number of imaginary vibrational modes. Can be “minimum” or “transition state”.

  • vdd.charges (nparray[float] (1D)) - 1D array of Voronoi Deformation Denisty (VDD) charges in [electrons], being the difference between the final (SCF) and initial VDD charges.

  • vdd.charges.{symmetry label} (nparray[float] (1D)) - 1D array of Voronoi Deformation Denisty (VDD) charges in [electrons] per irrep.

  • s2 - expectation value of the \(S^2\) operator.

  • s2_expected - ideal expectation value of the \(S^2\) operator. For restricted calculations this should always equal s2.

  • spin_contamination - the amount of spin-contamination observed in this calculation. It is equal to (s2 - s2_expected) / (s2_expected). Ideally this value should be below 0.1.

get_level_of_theory(info)[source]#

Function to get the level-of-theory from an input-file.

Parameters:

inp_path – Path to the input file. Can be a .run or .in file create for AMS

Return type:

Result

Returns:

Dictionary containing information about the level-of-theory:

  • summary (str) - a summary string that gives the level-of-theory in a human-readable format.

  • xc.functional (str) - XC-functional used in the calculation.

  • xc.category (str) - category the XC-functional belongs to. E.g. GGA, MetaHybrid, etc …

  • xc.dispersion (str) - the dispersion correction method used during the calculation.

  • xc.summary (str) - a summary string that gives the XC-functional information in a human-readable format.

  • xc.empiricalScaling (str) - which empirical scaling parameter was used. Useful for MP2 calculations.

  • basis.type (str) - the size/type of the basis-set.

  • basis.core (str) - the size of the frozen-core approximation.

  • quality (str) - the numerical quality setting.

tcutility.results.ams module#

get_calc_files(calc_dir)[source]#

Function that returns files relevant to AMS calculations stored in calc_dir.

Parameters:

calc_dir (str) – path pointing to the desired calculation

Return type:

dict

Returns:

Dictionary containing filenames and paths

get_ams_version(calc_dir)[source]#

Function to get the AMS version used in the calculation.

Parameters:

calc_dir (str) – path pointing to the desired calculation.

Return type:

Result

Returns:

Dictionary containing results about the AMS version:

  • full (str) – the full version string as written by SCM.

  • major (str) – major AMS version, should correspond to the year of release.

  • minor (str) – minor AMS version.

  • micro (str) – micro AMS version, should correspond to the internal revision number.

  • date (datetime.datetime) – date the AMS version was released.

get_ams_info(calc_dir)[source]#

Function to read useful info about the calculation in calc_dir. Returned information will depend on the type of file that is provided.

Parameters:

calc_dir (str) – path pointing to the desired calculation.

Return type:

Result

Returns:

Dictionary containing results about the calculation and AMS:

  • ams_version (Result) – information about the AMS version used, see get_ams_version().

  • engine (str) – the engine that was used to perform the calculation, for example ‘adf’, ‘dftb’, …

  • job_id (str) – the ID of the job, can be used to check if two calculations are the same. Might also be used as a unique identifier for the calculation.

  • status (Result) – information about calculation status, see get_calculation_status().

  • is_multijob (bool) – whether the job was a multijob, for example a fragment analysis.

  • molecule (Result) – information about the input and output molecules and the molecular system in general, see get_molecules().

  • history (Result) – information about history variables, see get_history().

get_timing(calc_dir)[source]#

Function to get the timings from the calculation.

Parameters:

calc_dir (str) – path pointing to the desired calculation.

Return type:

Result

Returns:

Dictionary containing results about the timings:

  • cpu (float) – time spent performing calculations on the cpu.

  • sys (float) – time spent by the system (file IO, process creation/destruction, etc …).

  • total (float) – total time spent by AMS on the calculation, can be larger than the sum of cpu and sys.

get_calculation_status(calc_dir)[source]#

Function that returns the status of the calculation described in reader. In case of non-succes it will also give possible reasons for the errors/warnings.

Parameters:

readerplams.KFReader or plams.KFFile object pointing to the desired calculation

Return type:

Result

Returns:

Dictionary containing information about the calculation status:

  • fatal (bool) – True if calculation cannot be analysed correctly, False otherwise

  • reasons (list[str]) – list of reasons to explain the status, they can be errors, warnings, etc.

  • name (str) – calculation status written as a string, one of (“SUCCESS”, “RUNNING”, “UNKNOWN”, “SUCCESS(W)”, “FAILED”)

  • code (str) – calculation status written as a single character, one of (“S”, “R”, “U”, “W” “F”)

get_molecules(calc_dir)[source]#

Function to get molecules from the calculation, including input, output and history molecules. It will also add bonds to the molecule if they are given in the rkf file, else it will guess them.

Parameters:

calc_dir (str) – path pointing to the desired calculation.

Return type:

Result

Returns:

Dictionary containing information about the molecular systems:

  • number_of_atoms (int) – number of atoms in the molecule.

  • atom_numbers (list[int]) – list of atomic numbers for each atom in the molecule.

  • atom_symbols (list[str]) – list of elements for each atom in the molecule.

  • atom_masses (list[float]) – list of atomic masses for each atom in the molecule.

  • input (plams.Molecule) – molecule that was given in the input for the calculation.

  • output (plams.Molecule) – final molecule that was given as the output for the calculation. If the calculation was a singlepoint calculation output and input molecules will be the same.

  • frag_indices (numpy array[int] (1D)) – list of fragment indices for each atom in the molecule. The indices are given in the order of the atoms in the molecule.

get_pes(calc_dir)[source]#

Function to get PES scan variables.

Parameters:

calc_dir (str) – path pointing to the desired calculation.

Return type:

Result

Returns:

Dictionary containing information about the PES scan:

  • nscan_coords int – the number of scan-coordinates for this PES scan.

  • scan_coord_name list[str] | str – the names of the scan-coordinates.

    If there is more than one scan-coordinates it will be a list of strings, otherwise it will be a single string.

  • scan_coord list[np.ndarray] | np.ndarray – arrays of values for the scan-coordinates.

    If there is more than one scan-coordinates it will be a list of arrays, otherwise it will be a single array.

  • npoints list[int] | int – number of scan points for the scan-coordinates.

    If there is more than one scan-coordinates it will be a list of integers, otherwise it will be a single integer.

get_history(calc_dir)[source]#

Function to get history variables. The type of variables read depends on the type of calculation.

Parameters:

calc_dir (str) – path pointing to the desired calculation.

Return type:

Result

Returns:

Dictionary containing information about the calculation status:

  • number_of_entries (int) – number of steps in the history.

  • {variable} (list[Any]) – variable read from the history section. The number of variables and type of variables depend on the nature of the calculation.

    Common variables:
    Molecule (list[plams.Molecule]) – list of molecules from the history, for example from a geometry optimization or PES scan.
    energy (list[float]) – list of energies associated with each geometry step.
    gradient (list[list[float]]) – array of gradients for each geometry step and each atom.

get_input_blocks()[source]#

This function reads input_blocks and decomposes its content into a list of blocks and a list of non-standard blocks The general format is as follows:

parentblock - subblock - - subsubblock - subblock !nonstandard parentblock - subblock - - subsubblock - - - subsubsubblock - - - subsubsubblock !nonstandard

Each subblock has to be defined within its parent block. !nonstandard indicates that the block is a non-standard block These blocks are special in that they can contain multiple of the same entry

get_ams_input(inp)[source]#
Return type:

Result

tcutility.results.cache module#

Tiny module that handles caching rkf files. rkf files take a long time to open (especially {engine}.rkf), so it is better to open them once and cache them for later use

class TrackKFReader(*args, **kwargs)[source]#

Bases: KFReader

Subclass of plams.KFReader that also tracks the variables that were read. This class can be useful to figure out which variables are important. For example, we can then trim rkf files to reduce their filesizes.

read(section, variable)[source]#

Read a variable from a section of an rkf file and store the accessed section and variable in the tracker.

Parameters:
  • section (str) – Name of the section to read from.

  • variable (str) – Name of the variable inside the section.

Return type:

Any

Returns:

Any value returned will be automatically converted into the correct type. E.g. text-based data will be converted to a string, numbers to floats or integers, etc.

store(reader)[source]#

Store an rkf reader in the cache. It can later be indexed by its path.

Parameters:

reader (KFReader) – An rkf file reader object.

Return type:

None

get(path)[source]#

Retrieve an rkf reader from storage using its path. If the file was not opened yet, open it first and then store and return the new object.

Parameters:

path (str) – path to the rkf file location.

Return type:

KFReader

Returns:

An rkf file reader that can be used for reading data from a calculation.

unload(arg)[source]#

Delete an rkf reader from storage. Since rkf files can be quite large, we should not forget to unload them after we have finished reading from them, lest we run into memory issues.

Parameters:

arg (Union[str, KFReader]) – Either a path pointing to the rkf file location or the reader itself.

tcutility.results.dftb module#

get_calc_settings(info)[source]#

Function to read useful calculation settings from kf reader

Return type:

Result

get_properties(info)[source]#

Function to get properties from an DFTB calculation.

Parameters:

info (Result) – Result object containing DFTB properties.

Return type:

Result

Returns:

Result object containing properties from the DFTB calculation:

  • energy.bond (float) – bonding energy (\(\text{kcal mol}^-1\)).

tcutility.results.orca module#

get_calc_files(calc_dir)[source]#

Function that returns files relevant to ORCA calculations stored in calc_dir.

Parameters:

calc_dir (str) – path pointing to the desired calculation

Return type:

Result

Returns:

Result object containing filenames and paths

get_version(info)[source]#

Function to get the ORCA version used in the calculation.

Parameters:

info (Result) – Result object containing ORCA calculation settings.

Return type:

Result

Returns:

Result object containing results about the ORCA version:

  • full (str) – the full version string as written by ORCA.

  • major (str) – major ORCA version.

  • minor (str) – minor ORCA version.

  • micro (str) – micro ORCA version.

get_input(info)[source]#

Function that parses the input file for this ORCA calculation.

Parameters:

info (Result) – Result object containing ORCA calculation settings.

Return type:

Result

Returns:

Result object containing information about the calculation input:

  • main (list[str]) - the main inputs for the calculation. These are the lines that start with a “!”.

  • sections (Result) - extra settings added to the calculation. These are the lines that start with a “%” and optionally end with “END” clause.

  • system (Result) - settings related to the molecular system. This includes charge, multiplicity and the coordinates.

  • task (str) - the task that was performed by the calculation, e.g. “SinglePoint”, “TransitionStateSearch”.

get_level_of_theory(info)[source]#

Function to get the level-of-theory from an input-file.

Parameters:

info (Result) – Result object containing ORCA calculation settings.

Return type:

Result

Returns:

Result object containing information about the level-of-theory:

  • summary (str) - a summary string that gives the level-of-theory in a human-readable format.

  • basis.type (str) - the size/type of the basis-set.

  • UsedQROs (bool) - whether QROs were used.

get_calc_settings(info)[source]#

Function to read calculation settings for an ORCA calculation.

Parameters:

info (Result) – Result object containing ORCA calculation settings.

Return type:

Result

Returns:

Result object containing properties from the ORCA calculation:

  • task (str) – the task that was set for the calculation.

  • unrestricted (bool) – whether or not the wavefunction is treated in an unrestricted manner.

  • used_qros (bool) - whether the reference wavefunction is transformed to a QRO wavefunction.

  • frequencies (bool) - whether vibrational frequencies were calculated.

  • charge (int) - the charge of the molecular system.

  • spin_polarization (int) - the spin-polarization of the molecular system.

  • multiplicity (int) - the multiplicity of the molecular system.

get_calculation_status(info)[source]#

Function that returns the status of the ORCA calculation described in reader. In case of non-succes it will also give possible reasons for the errors/warnings.

Parameters:

info (Result) – Result object containing ORCA calculation information.

Return type:

Result

Returns:

Result object containing information about the calculation status:

  • fatal (bool) – True if calculation cannot be analysed correctly, False otherwise

  • reasons (list[str]) – list of reasons to explain the status, they can be errors, warnings, etc.

  • name (str) – calculation status written as a string, one of (“SUCCESS”, “RUNNING”, “UNKNOWN”, “SUCCESS(W)”, “FAILED”)

  • code (str) – calculation status written as a single character, one of (“S”, “R”, “U”, “W” “F”)

get_molecules(info)[source]#

Function that returns information about the molecules for this calculation.

Parameters:

info (Result) – Result object containing ORCA calculation information.

Return type:

Result

Returns:

Result object containing properties from the ORCA calculation:

  • input (plams.Molecule) - the input molecule for this calculation.

  • output (plams.Molecule) - the output molecule for this calculation, for example the optimized structure after a geometry optimization.

  • number_of_atoms (int) - the number of atoms in the molecular system.

get_info(calc_dir)[source]#

Function to read useful info about the calculation in calc_dir. Returned information will depend on the type of file that is provided.

Parameters:

calc_dir (str) – path pointing to the desired calculation.

Return type:

Result

Returns:

Result object containing results about the calculation and AMS:

  • version (Result) – information about the AMS version used, see get_version().

  • files (Result) - paths to files that are important for this calculation.

  • input (Result) - information about the input of this calculation, see get_input().

  • level (Result) - information about the level of theory used for this calculation, see get_level_of_theory().

  • engine (str) – the engine that was used to perform the calculation, for example ‘adf’, ‘dftb’, …

  • status (Result) – information about calculation status, see get_calculation_status().

  • molecule (Result) – information about the input and output molecules and the molecular system in general, see get_molecules().

get_vibrations(lines)[source]#

Function to read vibrational data of an ORCA calculation.

Parameters:

lines – Lines in the output file of the ORCA calculation.

Returns:

Result object containing vibrational properties from the ORCA calculation:

  • number_of_modes (int) – number of vibrational modes for this molecule, 3N-5 for non-linear molecules and 3N-6 for linear molecules, where N is the number of atoms.

  • number_of_imaginary_modes (int) – number of imaginary vibrational modes for this molecule.

  • frequencies (list[float]) – vibrational frequencies associated with the vibrational modes, sorted from low to high (\(\text{cm}^-1\)).

  • intensities (list[float]) – vibrational intensities associated with the vibrational modes (\(\text{km mol}^-1\)). In ORCA, intensities of imaginary modes are set to 0.

  • modes (list[float]) – list of vibrational modes sorted from low frequency to high frequency.

  • character (str) – the PES character of the molecular system. Either “minimum”, “transitionstate” or “saddlepoint(n_imag)”, for 0, 1, n_imag number of imaginary frequencies.

get_properties(info)[source]#

Function to get properties from an ORCA calculation.

Parameters:

info (Result) – Result object containing ORCA properties.

Return type:

Result

Returns:

Result object containing properties from the ORCA calculation:

  • energy.bond (float) – total bonding energy (\(\text{kcal mol}^-1\)).

  • energy.enthalpy (float) – enthalpy (\(\text{kcal mol}^-1\)). Only obtained if vibrational modes were calculated.

  • energy.entropy (float) – entropy (\(\text{kcal mol}^-1\)). Only obtained if vibrational modes were calculated.

  • energy.gibbs (float) – Gibb’s free energy (\(\text{kcal mol}^-1\)). Only obtained if vibrational modes were calculated.

  • energy.[method] (float) - total energy (\(\text{kcal mol}^-1\)) at a certain level (HF, MP2, CCSD, …). This is the sum of energy.HF and energy.[method]_corr.

  • energy.[method]_corr (float) - electron correlation energy (\(\text{kcal mol}^-1\)) at a certain level (HF, MP2, CCSD, …).

  • vibrations.number_of_modes (int) – number of vibrational modes for this molecule, 3N-5 for non-linear molecules and 3N-6 for linear molecules, where N is the number of atoms.

  • vibrations.number_of_imaginary_modes (int) – number of imaginary vibrational modes for this molecule.

  • vibrations.frequencies (list[float]) – vibrational frequencies associated with the vibrational modes, sorted from low to high (\(\text{cm}^-1\)).

  • vibrations.intensities (list[float]) – vibrational intensities associated with the vibrational modes (\(\text{km mol}^-1\)). In ORCA, intensities of imaginary modes are set to 0.

  • vibrations.modes (list[float]) – list of vibrational modes sorted from low frequency to high frequency.

  • vibrations.character (str) – the PES character of the molecular system. Either “minimum”, “transitionstate” or “saddlepoint(n_imag)”, for 0, 1, n_imag number of imaginary frequencies.

  • t1 - T1 diagnostic for the highest level of correlation chosen. Used to check the validity of the reference wavefunction.

  • s2 - expectation value of the \(S^2\) operator.

  • s2_expected - ideal expectation value of the \(S^2\) operator.

  • spin_contamination - the amount of spin-contamination observed in this calculation. It is equal to (s2 - s2_expected) / (s2_expected). Ideally this value should be below 0.1.

tcutility.results.result module#

Module containing the TCutility.results.result.Result class.

class Result(*args, **kwargs)[source]#

Bases: dict

Class used for storing results from AMS calculations. The class is functionally a dictionary, but allows dot notation to access variables in the dictionary. The class works case-insensitively, but will retain the case of the key when it was first set.

items()[source]#

We override the items method from dict in order to skip certain keys. We want to hide keys starting and ending with dunders, as they should not be exposed to the user.

keys() a set-like object providing a view on D's keys[source]#
multi_keys()[source]#

Return multi_keys for this Result object. These are unnested keys that can be used if you want a flattened Result object.

getsizeof()[source]#

Return the size of this object in bytes.

get_parent_tree()[source]#

Method to get the path from this object to the parent object. The result is presented in a formatted string

prune()[source]#

Remove empty paths of this object.

get_multi_key(key)[source]#

Method that returns the value of a “multikey”. The multikey is multiple keys joined by dots. E.g. res.properties.energy.bond can be gotten by calling res.get_multi_key(“properties.energy.bond”)

as_plams_settings()[source]#

Returns this Result object as a plams.Settings object.

copy() a shallow copy of D[source]#

tcutility.results.xtb module#

get_calc_files(calc_dir)[source]#

Function that returns files relevant to AMS calculations stored in calc_dir.

Parameters:

calc_dir (str) – path pointing to the desired calculation

Return type:

Result

Returns:

Result object containing filenames and paths

get_version(info)[source]#

Function to get the ORCA version used in the calculation.

Parameters:

info (Result) – Result object containing ORCA calculation settings.

Return type:

Result

Returns:

Result object containing results about the ORCA version:

  • full (str) – the full version string as written by ORCA.

  • major (str) – major ORCA version.

  • minor (str) – minor ORCA version.

  • micro (str) – micro ORCA version.

get_input(info)[source]#

Function that parses the input file for this ORCA calculation.

Parameters:

info (Result) – Result object containing ORCA calculation settings.

Return type:

Result

Returns:

Result object containing information about the calculation input:

  • main (list[str]) - the main inputs for the calculation. These are the lines that start with a “!”.

  • sections (Result) - extra settings added to the calculation. These are the lines that start with a “%” and optionally end with “END” clause.

  • system (Result) - settings related to the molecular system. This includes charge, multiplicity and the coordinates.

  • task (str) - the task that was performed by the calculation, e.g. “SinglePoint”, “TransitionStateSearch”.

get_calculation_status(info)[source]#

Function that returns the status of the ORCA calculation described in reader. In case of non-succes it will also give possible reasons for the errors/warnings.

Parameters:

info (Result) – Result object containing ORCA calculation information.

Return type:

Result

Returns:

Result object containing information about the calculation status:

  • fatal (bool) – True if calculation cannot be analysed correctly, False otherwise

  • reasons (list[str]) – list of reasons to explain the status, they can be errors, warnings, etc.

  • name (str) – calculation status written as a string, one of (“SUCCESS”, “RUNNING”, “UNKNOWN”, “SUCCESS(W)”, “FAILED”)

  • code (str) – calculation status written as a single character, one of (“S”, “R”, “U”, “W” “F”)

get_molecules(info)[source]#

Function that returns information about the molecules for this calculation.

Parameters:

info (Result) – Result object containing ORCA calculation information.

Return type:

Result

Returns:

Result object containing properties from the ORCA calculation:

  • input (plams.Molecule) - the input molecule for this calculation.

  • output (plams.Molecule) - the output molecule for this calculation, for example the optimized structure after a geometry optimization.

  • number_of_atoms (int) - the number of atoms in the molecular system.

get_info(calc_dir)[source]#

Function to read useful info about the calculation in calc_dir. Returned information will depend on the type of file that is provided.

Parameters:

calc_dir (str) – path pointing to the desired calculation.

Return type:

Result

Returns:

Result object containing results about the calculation and AMS:

  • version (Result) – information about the AMS version used, see get_version().

  • files (Result) - paths to files that are important for this calculation.

  • input (Result) - information about the input of this calculation, see get_input().

  • level (Result) - information about the level of theory used for this calculation, see get_level_of_theory().

  • engine (str) – the engine that was used to perform the calculation, for example ‘adf’, ‘dftb’, …

  • status (Result) – information about calculation status, see get_calculation_status().

  • molecule (Result) – information about the input and output molecules and the molecular system in general, see get_molecules().

get_properties(info)[source]#

Function to get properties from an ORCA calculation.

Parameters:

info (Result) – Result object containing ORCA properties.

Return type:

Result

Returns:

Result object containing properties from the ORCA calculation:

  • energy.bond (float) – total bonding energy (\(\text{kcal mol}^-1\)).

  • energy.enthalpy (float) – enthalpy (\(\text{kcal mol}^-1\)). Only obtained if vibrational modes were calculated.

  • energy.entropy (float) – entropy (\(\text{kcal mol}^-1\)). Only obtained if vibrational modes were calculated.

  • energy.gibbs (float) – Gibb’s free energy (\(\text{kcal mol}^-1\)). Only obtained if vibrational modes were calculated.

  • energy.[method] (float) - total energy (\(\text{kcal mol}^-1\)) at a certain level (HF, MP2, CCSD, …). This is the sum of energy.HF and energy.[method]_corr.

  • energy.[method]_corr (float) - electron correlation energy (\(\text{kcal mol}^-1\)) at a certain level (HF, MP2, CCSD, …).

  • vibrations.number_of_modes (int) – number of vibrational modes for this molecule, 3N-5 for non-linear molecules and 3N-6 for linear molecules, where N is the number of atoms.

  • vibrations.number_of_imaginary_modes (int) – number of imaginary vibrational modes for this molecule.

  • vibrations.frequencies (list[float]) – vibrational frequencies associated with the vibrational modes, sorted from low to high (\(\text{cm}^-1\)).

  • vibrations.intensities (list[float]) – vibrational intensities associated with the vibrational modes (\(\text{km mol}^-1\)). In ORCA, intensities of imaginary modes are set to 0.

  • vibrations.modes (list[float]) – list of vibrational modes sorted from low frequency to high frequency.

  • vibrations.character (str) – the PES character of the molecular system. Either “minimum”, “transitionstate” or “saddlepoint(n_imag)”, for 0, 1, n_imag number of imaginary frequencies.

  • t1 - T1 diagnostic for the highest level of correlation chosen. Used to check the validity of the reference wavefunction.

  • s2 - expectation value of the \(S^2\) operator.

  • s2_expected - ideal expectation value of the \(S^2\) operator.

  • spin_contamination - the amount of spin-contamination observed in this calculation. It is equal to (s2 - s2_expected) / (s2_expected). Ideally this value should be below 0.1.

Module contents#

This module provides basic and general information about calculations done using AMS given a calculation directory. This includes information about the engine used (ADF, DFTB, BAND, …), general information such as timings, files, status of the calculation, etc. This information is used in further analysis programs.

get_info(calc_dir)[source]#
read(calc_dir)[source]#

Master function for reading data from calculations. It reads general information as well as engine-specific information.

Parameters:

calc_dir (Union[str, Path]) – path pointing to the working directory for the desired calculation

Return type:

Result

Returns:

dictionary containing information about the calculation