DStrainCorr

General forum for EasySpin: questions, how to's, etc.
Post Reply
SoniaChabbra
Newbie
Posts: 5
Joined: Mon Mar 23, 2020 4:44 am

DStrainCorr

Post by SoniaChabbra »

Dear all,

Can somebody please explain me what does the correlation coefficient DStrainCorr means in EasySpin? How the value of this parameter can be interpreted in terms of an electron structure of high spin system?

Thanks in advance!

Stefan Stoll
EasySpin Creator
Posts: 1059
Joined: Mon Jul 21, 2014 10:11 pm
Location: University of Washington

Re: DStrainCorr

Post by Stefan Stoll »

Here is one way to think about it: If the structure of your paramagnetic center changes a bit (e.g. small changes in the ligand-ion-ligand angles), then all spin Hamiltonian parameters will change, including D and E. Whether D and E change in the same direction (DStrainCorr = +1) or in opposite directions (DStrainCorr = -1) is something that only a quantum chemical calculation with a geometry scan can reveal.

SoniaChabbra
Newbie
Posts: 5
Joined: Mon Mar 23, 2020 4:44 am

Re: DStrainCorr

Post by SoniaChabbra »

Thanks Stefan!! It makes sense but I am still a bit confused about this

For example, If I have a Fe(III) complex with D = [1 0.1 ]cm-1. Now, if I apply Dstrain = [0.1 0.01] cm-1. That means D will have a gaussian profile over a range of D+- DStrain. Thus, DstrainCorr would be a number for each confirmation. No?

How is this converted into a coefficient?

Stefan Stoll
EasySpin Creator
Posts: 1059
Joined: Mon Jul 21, 2014 10:11 pm
Location: University of Washington

Re: DStrainCorr

Post by Stefan Stoll »

Maybe a picture helps. Here is a Gaussian (D,E) distribution with a correlation coefficient of -0.9.

DE_distribution.png
DE_distribution.png (133.84 KiB) Viewed 1734 times

And here is the script that generated this plot:

Code: Select all

clear, clc

% Demonstration of (D,E) distribution when using DStrain and DStrainCorr

% Relevant pin system parameters
Sys.D = [1 0.1]; % D and E
Sys.DStrain = [0.2 0.2]; % FWHM of D and E Gaussian distributions
Sys.DStrainCorr = -0.9; % correlation coefficient between D and E

% Center of (D,E) distribution
Dcenter = Sys.D(1);
Ecenter = Sys.D(2);

% Get widths (fwhm) and convert to standard deviations
Dfwhm = Sys.DStrain(1); % FWHM of Gaussian distribution of D
Efwhm = Sys.DStrain(2); % FWHM of Gaussian distribution of E
Dsigma = Dfwhm/sqrt(2*log(2))/2; % convert FWHM to standard deviation
Esigma = Efwhm/sqrt(2*log(2))/2; % convert FWHM to standard deviation

% Get the correlation coefficient between D and E
rDE = Sys.DStrainCorr;

% Build the covariance matrix
R12 = rDE*Dsigma*Esigma;
CovMatrix = [Dsigma^2 R12; R12 Esigma^2];

% Generate D and E ranges
D = Dcenter + Dsigma*linspace(-3,3,501);
E = Ecenter + Esigma*linspace(-3,3,502);
[D_,E_] = meshgrid(D,E);
y = gaussian2d(D_,E_,[Dcenter Ecenter],CovMatrix);

dD = D(2)-D(1);
dE = E(2)-E(1);

pcolor(D,E,y);
hold on
contour(D,E,y);
set(gca,'Layer','top');
shading flat
grid on
xlabel('D');
ylabel('E');
colorbar
title(sprintf('Gaussian (D,E) distribution, correlation coefficient %g',Sys.DStrainCorr));

function y = gaussian2d(x1,x2,mu,Sigma)
y = zeros(size(x1));
x = [x1(:) x2(:)];
dx = x-mu(:).';
invSigma = inv(Sigma);
for i = 1:numel(y)
  y(i) = exp(-dx(i,:)*invSigma*dx(i,:).'/2);
end
y = y/sqrt(det(Sigma))/sqrt((2*pi)^2);
end
SoniaChabbra
Newbie
Posts: 5
Joined: Mon Mar 23, 2020 4:44 am

Re: DStrainCorr

Post by SoniaChabbra »

This helps to visualize it. Many thanks Stefan!!

Post Reply