StollLab / EasySpin

MATLAB toolbox for Electron Paramagnetic Resonance (EPR) spectroscopy
http://easyspin.org
MIT License
48 stars 26 forks source link

Spin Polarization #251

Closed cetait closed 2 years ago

cetait commented 2 years ago

Improved integration of spectral simulations for spin-polarized systems including spin-correlated radical pairs, ISC and recombination triplets and higher spin systems. The current implementation is an extension of the undocumented features introduced by @mdkrzyaniak and addresses issues #44 and #243.

Things still to do include:

stestoll commented 2 years ago

As discussed on the call, we should eliminate Sys.Pop and Sys.PopMode and use Sys.initState as the only input for spin polarization.

Some additional thoughts:

A) The Sys.initState should allow for three types of input:

  1. full density matrix, with a possibility to specify the basis (probably molecular or eigen, with molecular as default)
  2. population vector, again with possibility to specify the basis
  3. shortcuts for common situations

B) For 1. and 2., it should be possible to use the electron states only (i.e. give only one number for each electron spin manifold), or all states.

C) State ordering should always be in order of increasing energy. If there are degeneracies, EasySpin should issue an error, since then the basis vectors are actually not uniquely defined. This would also mean we remove the hard-coded E=0 case from resfields.

D) ISC triplets are best specified via the Tx, Ty, Tz populations rather than energy-ordered as currently in Exp.Temperature (5.2) or Sys.Pop (6.0-dev). One possible syntax would be Sys.initState = {[0.4 0.2 0.6], 'xyz'}, only valid for triplets. This would be completely unambiguous, and the values obtained could be directly used in a publication. Of course, we will have to hard-code the Tx, Ty, Tz states for this shortcut.

stestoll commented 2 years ago

Thanks Claudia - this is a massive addition!