fgr_py¶
-
libra_py.fgr_py.
run_NEFGRL_populations
(omega_DA, V, omega_nm, gamma_nm, req_nm, shift_NE, params)[source]¶ - Noneq FGR in non-Condon/Condon case (linear coupling) using normal modes
k(t’) = 2/(hbar^2) * Re { int_0^t’ { dtau * C(tau) } }
Compute the non-equilibrium FGR populations as a function of time
- Parameters
omega_DA (double) – energy gap between donor and acceptor states E(donor) - E(acceptor) [units: a.u.]
V (double) – electronic coupling between the two states [units: a.u.]
omega_nm (list of doubles) – frequencies of the bath normal modes [units: a.u.]
gamma_nm (list of doubles) – couplings of the bath modes to the quantum system/primary mode [units: a.u.]
req_nm (list of doubles) – displacements of the normal modes from their equilibrium positions upon the charge transfer
shift_NE (list of doubles) – non-equilibrium displacements of the normal modes
params (dictionary) –
parameters controlling the execution of the calculations
params[“tmax”] ( double ): time since the initial photoexcitation [units: a.u. of time; default: 10 fs]
params[“dt”] ( double ): integration timestep for the forward propagation [units: a.u. of time, ]
- params[“dtau”] ( double ): integration timestep for backward propagation,
used to take the integral above (tau = dtau*n < t, where n is integer) [units: a.u.]
params[“method”] ( int ): flag that specifies which method to use:
0: Exact quantum result [ default ]
1: LSC
2: CAV
3: CD
4: W0
5: C0
params[“dyn_type”] ( int ): flag that selects:
0: Condon [ default ]
1: non-Condon
params[“Temperature”] ( double ): temperature of the bath [ units: K, default: 300.0 ]
params[“do_output”] ( Boolean ): whether to print out the results in a file [ default: False ]
- params[“filename”] ( string ): the name of the file where the results would be
printed out if
`do_output`
is set to True [ default: “FGR.txt” ]
- Returns
(time, rate, pop), where:
time ( list of doubles ): time axis [ units: a.u. ]
rate ( list of doubles ): time-dependent rate constants [ units: a.u.^-1 ]
pop ( list of doubles ): time-dependent population of the donor state
- Return type
-
libra_py.fgr_py.
run_NEFRG_acf
(t, omega_DA, V, omega_nm, gamma_nm, req_nm, shift_NE, params)[source]¶ Noneq FGR in non-Condon/Condon case (linear coupling) using normal modes
Compute the non-equilibrium FGR populations as a function of time
- Parameters
t (double) – compute the properties (e.g. rates) for the time t [units: a.u.]
SeeAlso –
`run_NEFGRL_populations`
- the present function takes the same arguments
- Returns
(_tau, _argg_re, _argg_im, _lin_re, _lin_im, _C_re, _C_im, _int_re, _int_im), where:
_tau ( list of doubles ): time axis [ units: a.u. ]
_argg_re ( list of doubles ): real part of the sum over frequencies - sitting in the exponent, at given tau
_argg_im ( list of doubles ): imaginary part of the sum over frequencies - sitting in the exponent, at given tau
_lin_re ( list of doubles ): real part of the linear term - in front of the exponent, at given tau
_lin_im ( list of doubles ): imaginary part of the linear term - in front of the exponent, at given tau
_C_re ( list of doubles ): real part of the time-correlation function, at given tau
_C_im ( list of doubles ): real part of the time-correlation function, at given tau
_int_re ( list of double ): integral of _C_re to this time point, int_0_t { C(t,tau) dtau } for a fixed t
_int_re ( list of double ): integral of _C_re to this time point, int_0_t { C(t,tau) dtau } for a fixed t
- Return type