Skip to content

This code package simulates the time evolution of a multi-site electron transfer chain, with quantum yield, energy efficiency, and rate matrices as key outputs. The simulation models the rates and population dynamics of multi-step hopping with inter-cofactor separations and driving forces (ΔG) as input parameters.

Notifications You must be signed in to change notification settings

jonathanschultzNU/Redox-chain-efficiency

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Redox-chain-efficiency

This code can be used to reproduce the results shown in: Schultz, J. D.; Parker, K.; Therien, M.; Beratan, D. N.* Efficiency limits of energy conversion by light-driven redox chains. J. Am. Chem. Soc. 2024 (accepted)

The script simulates the time evolution of an electron transfer chain in a system of cofactors, with quantum yield, energy efficiency, and rate matrices as key outputs. The simulation models the rates and population dynamics of an electron transfer chain, with inter-cofactor separations and driving forces (ΔG) as input parameters.

Features: Quantum Yield Calculation: Simulates the quantum yield for different inter-cofactor distances and ΔG values. Energy Efficiency Estimation: Computes energy efficiency for the system under different conditions. Rate Matrices: Calculates forward and backward electron transfer rates between different cofactors and recombination rates to the ground state. Customizable Input: Load various system parameters from an external input file (input.txt) to easily modify the simulation setup (see below for complete list of inputs).

Prerequisites: MATLAB (Tested with version R2023a) Input file (input.txt), structured as: First column: Variable names (e.g., log_kESdecay, log_ksink, R_min, etc.) Second column: Corresponding values.

File Descriptions: main.m: This script is the main code that runs the electron transfer chain simulation. input.txt: Input file containing the simulation parameters (inter-cofactor separations, rates, energies, etc.). results.mat: Contains the output structure OUT with all computed data, including rate matrices, quantum yield, and energy efficiency matrices.

Input stucture: The input file (input.txt) is expected to have variable names in the first column and values in the second column.

Description of inputs: savepop save population dynamics (1 = true, 0 = false) print_outputs print full outputs for all iterations (1 = true, 0 = false) R_points number of inter-cofactor separations to be simulated deltaG_points number of delta G values to be simulated R_min minimum inter-cofactor separation [Angstroms] R_max maximum inter-cofactor separation [Angstroms] deltaG_max maximum driving force for FET [eV] deltaG_min minimum driving force for FET [eV] kbT Boltzman factor V0 Maximum electronic coupling (as implemented by Hopfield 1974) Ei initial photon energy deposited [eV] lambda_c classical reorganization energy (outer- and inner-sphere contributions) [eV] beta wavefunction decay constant atoms number of atoms in each cofactor bond_length crude bond length to use in calculation of cofactor diameter (approximated as a perfect circle) S Huang-Rhys factor for high-frequency vibration (S = lambda_vq/(hbar * omega) vibfreq Frequency of quantum mode (hbar * omega)
quanta Maximum vibrational quanta log_ksink log10(sink rate [s-1]) (order of magnitude) log_kESdecay log10(excited-state decay rate [s-1]) (order of magnitude) log_ti log10(initial time) (order of magnitude) log_tf log10(final time) (order of magnitude) timepoints total number of timepoints at which to calculate the populations

Example input file: save_populations 0 print_outputs 0 save_results 1 plot_results 1 file_name test R_points 151 deltaG_points 151 R_min 0 R_max 15 deltaG_max 0 deltaG_min -0.4667 kbT 0.025 V0 2.7 log_kESdecay 9 log_ksink 2 lambda_c 0.3 Ei 1.4 beta 1.4 atoms 20 bond_length 1.5 S 0 vibfreq 0.15 quanta 100 log_ti -14 log_tf 0 timepoints 1000

Notation for the population vectors: p(1) = ground state population p(2) = D*AAA population p(3) = D+A-AA population p(4) = D+AA-A population p(5) = D+AAA- population p(6) = sink population

How to Run: Place input.txt in the same directory as main.m. Run main.m in MATLAB. View progress and output statistics in the MATLAB command window. Check the output .png file for quantum yield and energy efficiency results Check the output .mat file for detailed results, including rate matrices, quantum yield, and energy efficiency.

Contents of the output .mat file: Quantum Yield (OUT.PLOT.QY): Quantum yield for each combination of ΔG and R (formatted for easy plotting in Origin Pro) Energy Efficiency (OUT.PLOT.EE): Energy efficiency for each combination of ΔG and R (formatted for easy plotting in Origin Pro) Rate Matrices (OUT.PLOT.RATES.kFET, kBET, k2G, k3G, k4G): Forward, backward, and recombination rates for each transition (formatted for easy
plotting in Origin Pro) Summary (OUT.SUMMARY): Contains the maximum energy efficiency, the corresponding ΔG and R values, and key parameters.

Citation: Please use the following to cite this code: 10.5281/zenodo.14035760

Questions? Please feel free to contact Jon at [email protected]

About

This code package simulates the time evolution of a multi-site electron transfer chain, with quantum yield, energy efficiency, and rate matrices as key outputs. The simulation models the rates and population dynamics of multi-step hopping with inter-cofactor separations and driving forces (ΔG) as input parameters.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages