Fenna-Matthews-Olson Model#

The Fenna-Matthews-Olson (FMO) complex is a pigment-protein complex found in green sulfur bacteria. We implemented it in QC Lab as an 7 site model with Holstein-type coupling to local vibrational modes with couplings and frequencies sampled from a Debye spectral density according to Mulvihill et. al 2021.

\[\begin{split}\hat{H}_{\mathrm{q}} = \begin{pmatrix} 12410 & -87.7 & 5.5 & -5.9 & 6.7 & -13.7 & -9.9 \\ -87.7 & 12530 & 30.8 & 8.2 & 0.7 & 11.8 & 4.3 \\ 5.5 & 30.8 & 12210.0 & -53.5 & -2.2 & -9.6 & 6.0 \\ -5.9 & 8.2 & -53.5 & 12320 & -70.7 & -17.0 & -63.3 \\ 6.7 & 0.7 & -2.2 & -70.7 & 12480 & 81.1 & -1.3 \\ -13.7 & 11.8 & -9.6 & -17.0 & 81.1 & 12630 & 39.7 \\ -9.9 & 4.3 & 6.0 & -63.3 & -1.3 & 39.7 & 12440 \end{pmatrix}\end{split}\]

where the matrix elements above are in units of wavenumbers. Note that the values below are in units of thermal quantum at 298.15K.

The quantum-classical and classical Hamiltonians are

\[\hat{H}_{\mathrm{q-c}} = \sum_{i}\sum_{j}^{A}\omega_{j}g_{j}c^{\dagger}_{i}c_{i}q_{j}^{(i)}\]
\[H_{\mathrm{c}} = \sum_{i}\sum_{j}^{A} \frac{p_{j}^{(i)2}}{2m} + \frac{1}{2}m\omega_{j}^{2}q_{j}^{(i)2}\]

where \(q^{(i)}_{j}\) is the \(j\)-th coordinate coupled to site \(i\) and \(p^{(i)}_{j}\) is the corresponding momentum.

The couplings and frequencies are sampled from a Debye spectral density

\[\omega_{j} = \Omega\tan\left(\frac{j - 1/2}{2A}\pi\right)\]
\[g_{j} = \omega_{j}\sqrt{\frac{2\lambda}{A}}\]

where \(\Omega\) is the characteristic frequency and \(\lambda\) is the reorganization energy.

The classical coordinates are sampled from a Boltzmann distribution.

\[P(\boldsymbol{p},\boldsymbol{q}) \propto \exp\left(-\frac{H_{\mathrm{c}}(\boldsymbol{p},\boldsymbol{q})}{k_{\mathrm{B}}T}\right)\]

Constants#

The following table lists all of the constants required by the HolsteinLatticeModel class:

HolsteinLatticeModel constants#

Parameter (symbol)

Description

Default Value

temp \((T)\)

Temperature

1

mass \((m)\)

Vibrational mass

1

A \((A)\)

Number of bosons

200

W \((\Omega)\)

Characteristic frequency

106.14 \(\mathrm{cm}^{-1}\)

l_reorg \((\lambda)\)

Reorganization energy

35 \(\mathrm{cm}^{-1}\)

Example#

from qc_lab.models import FMOComplex
from qc_lab import Simulation
from qc_lab.algorithms import MeanField
from qc_lab.dynamics import serial_driver
import numpy as np

# instantiate a simulation
sim = Simulation()

# instantiate a model
sim.model = FMOComplex()

# instantiate an algorithm
sim.algorithm = MeanField()

# define an initial diabatic wavefunction
sim.state.wf_db = np.zeros((sim.model.constants.num_quantum_states), dtype=complex)
sim.state.wf_db[5] = 1.0

# run the simulation
data = serial_driver(sim)