Once the information on excited states and molecular structures is
received, PyFREC identifies potential resonances between electronic
excited states of fragments, calculates spectral overlaps, and computes
electronic
couplings.
The coupling calculation module calls the module that computes
electrostatic screening factors. Rates of excitation energy transfer are
further computed using the Förster theory. The variation method is used
to model coupled electronic excited states. A separate module performs
quantum dynamics simulations that are based on the master equation
formalism and account for molecular vibrations. There also are shared
auxiliary library modules that store constants, conversion factors,
standard data structures (e.g., atoms, Cartesian coordinates, etc.) and
routines for data exchange among other modules. While many common
standard Python libraries are used by PyFREC (e.g. os, sys, re ,
etc.),28 the computationally intensive routines
(matrix algebra, integration of differential equations, etc.) rely onNumPy and SciPy libraries.29, 30