5.1.1.4.1.2. fromage.utils.exci_coupling package

5.1.1.4.1.2.1. Submodules

5.1.1.4.1.2.2. fromage.utils.exci_coupling.CATC module

Contains the tools required to calculate the exciton coupling based on Coulomb Atomic Transition Charges method

fromage.utils.exci_coupling.CATC.CATC_coupling(NTO_1, NTO_2, coordinates_1, coordinates_2)[source]

Calculates the CATC exciton coupling J based on the Coulomb interaction between Atomic Transition Charges in two molecules

Parameters
  • NTO_1 (List of floats) – List of floats of N-atoms for molecule 1

  • NTO_2 (List of floats) – List of floats of N-atoms for molecule 2

  • coordinates_1 (Nx3 array of floats) – Array of x,y,z coordinates for molecule 1

  • coordinates_2 (Nx3 array of floats) – Array of x,y,z coordinates for molecule 2

Returns

J – Exciton coupling

Return type

float

5.1.1.4.1.2.3. fromage.utils.exci_coupling.PDA module

5.1.1.4.1.2.4. fromage.utils.exci_coupling.diabatize module

Tools to carry out the diabatization of the adiabatic Hamiltonian to the diabatic form, producing the exciton coupling J on the off-diagonal.

The diabatization scheme used herein is proposed by Troisi et. al PRL 114, 026402 (2015) (https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.114.026402). The major detail for the implementation can be found in the supplementary information of the manuscript.

fromage.utils.exci_coupling.diabatize.diabatize(dimprops, monprops, energies)[source]

Uses the either the TDMs or ATCs of the s1 and s2 states of the dimer and the s1 state of the two monomers, to diabatize the adiabatic Hamiltonian of first two excited states (E1 and E1) to the diabatic Hamiltonian, where the off diagonal terms are the couplings J

Accepts 1xn matrices and state energies as inputs

Parameters
  • dimprops (numpy array) – The excited state property for the dimer where dimprops[n] corresponds to the nth excited state

  • monprops (numpy array) – The excited state property for the monomers where monprops[n] corresponds to the nth monomer

  • energies (numpy array) – The energies of the dimer in the excited states in increasing order

Returns

H – Diabatic Hamiltonian

Return type

numpy array

5.1.1.4.1.2.5. fromage.utils.exci_coupling.elements module

Shortened periodic table data

class fromage.utils.exci_coupling.elements.element(identifier)[source]

Bases: object

Class representing an element with information on the symbol,name, atomic number and relative atomic mass

symbol

Atomic symbol is passed to the class

Type

String

name

Element name

Type

String

mass

Relative atomic mass associated with the passed symbol

Type

float

number

Atomic number associated with the passed symbol

Type

integer

5.1.1.4.1.2.6. fromage.utils.exci_coupling.read_g09 module

Read and extracts information from gaussian 09 log files

fromage.utils.exci_coupling.read_g09.read_ES(g09_file, state)[source]

Opens a g09 log file and returns the energy difference between the ground and specified state in atomic units

Parameters
  • g09_file (Path to g09 log file) – File path

  • state (Integer) – Excited state number (<1)

Returns

ES – Energy difference in atomic units between the ground and specified state

Return type

float

fromage.utils.exci_coupling.read_g09.read_NTO(g09_file, natoms)[source]

Reads a G09 logfile and returns the atomic centred Natural Transition Charges, obtained via the G09 input line: td=(nstates=1) nosymm Pop=NTO Density=(Transition=1)

Parameters
  • g09_file (Path to g09 log file) – File path

  • natoms (Integer) – Number of atoms

Returns

NTO – N array of NTO charges in order of atomic positions

Return type

np.array

fromage.utils.exci_coupling.read_g09.read_SCF(g09_file)[source]

Opens a g09 log file and returns the final SCF energy

Parameters

g09_file (Path to g09 log file) – File path

Returns

SCF – Final SCF energy

Return type

float

fromage.utils.exci_coupling.read_g09.read_TD(g09_file, state)[source]

Reads a G09 logfile and returns the Transition Dipole vector for the specified electronic state

Parameters

g09_file (Path to g09 log file) – File path

Returns

TD – 1x3 array of x,y,z components of TD vector

Return type

np.array

fromage.utils.exci_coupling.read_g09.read_natoms(g09_file)[source]

Opens a g09 log file and returns the number of atoms in the system

Parameters

g09_file (Path to g09 log file) – File path

Returns

natoms

Return type

Integer

fromage.utils.exci_coupling.read_g09.read_xyz(g09_file)[source]

Open a g09 log file and returns the first geometry in Input orientation

Iterators are used so that the file is not all loaded into memory, which can be expensive.

The function searches for the following text pattern in the log file:

> Input orientation: > ——————————————————————— > Center Atomic Atomic Coordinates (Angstroms) > Number Number Type X Y Z > ———————————————————————

And will save the coordinates and the atomic symbols succeeding it

Parameters

g09_file (str) – File path

Returns

coordinates – Outer list is whole xyz file, each inner list is a line of the file containing the symbol and x,y,z coordinates

Return type

List of lists

5.1.1.4.1.2.7. fromage.utils.exci_coupling.xyz module

Opens xyz files and returns the atoms and cooridnates in various forms

fromage.utils.exci_coupling.xyz.open_xyz(xyz_file)[source]

Opens an xyz file and returns a list of lists

Parameters

xyz_file (String) – File path

Returns

List of lists – Outer list is whole xyz file, each inner list is a line of the file containing the symbol and x,y,z coordinates

Return type

List of lists

fromage.utils.exci_coupling.xyz.symbols_from_xyz(xyz_list)[source]

Takes a list of lists containing xyz file lines and the elemental symbols

Parameters

xyz_list (List of lists) – Outer list is whole xyz file, each inner list is a line of the file containing the symbol and x,y,z coordinates

Returns

symbols – List of atomic symbols

Return type

List of strings

fromage.utils.exci_coupling.xyz.xyz_to_matrix(xyz_list)[source]

Takes a list of lists containing xyz file lines and returns a coordinate matrix

Parameters

xyz_list (List of lists) – Outer list is whole xyz file, each inner list is a line of the file containing the symbol and x,y,z coordinates

Returns

coordinate_matrix – Nx3 matrix where N=number of atoms

Return type

np.ndarray

5.1.1.4.1.2.8. Module contents

Exciton coupling

Functions supporting the exciton coupling command line utility