esfit parameterization workflow
Posted: Thu Jan 03, 2019 11:39 am
Hello EasySpin community,
I am a graduate student performing a multicomponent simulation of an aqueous system that includes hydroxyl, superoxide, and sulfate radicals. Radicals were trapped using DMPO. My goal of this analysis is to determine the percent composition of these 3 radicals. I am using garlic and esfit to accomplish this.
My question is regarding esfit parameterization workflow. Seeing that the component weights and spin system parameters (hfccs, Gaussian/Lorentzian linewidths, isotropic g tensors) can be varied and knowing that we should limit the number of varying parameters for a given fit, what is a good approach to deduce spin system parameters to accurately calculate radical-adduct weights? The reason I ask this is because I have varied different combinations of spin system parameters (i.e. vary g, and keep lwpp constant, and vice versa) that have good fits (correlation coefficient > 0.99) but the determined weights from these fits can vary plus/minus 10%. Is there an order of operations for adjusting certain spin parameters to reproducibly attain component weights? Perhaps a different optimization algorithm or target function would be more appropriate for my system.
Thank you for your help!
-William Fagan
Attached: sample code, a picture of the esfit GUI, data file.
I am a graduate student performing a multicomponent simulation of an aqueous system that includes hydroxyl, superoxide, and sulfate radicals. Radicals were trapped using DMPO. My goal of this analysis is to determine the percent composition of these 3 radicals. I am using garlic and esfit to accomplish this.
My question is regarding esfit parameterization workflow. Seeing that the component weights and spin system parameters (hfccs, Gaussian/Lorentzian linewidths, isotropic g tensors) can be varied and knowing that we should limit the number of varying parameters for a given fit, what is a good approach to deduce spin system parameters to accurately calculate radical-adduct weights? The reason I ask this is because I have varied different combinations of spin system parameters (i.e. vary g, and keep lwpp constant, and vice versa) that have good fits (correlation coefficient > 0.99) but the determined weights from these fits can vary plus/minus 10%. Is there an order of operations for adjusting certain spin parameters to reproducibly attain component weights? Perhaps a different optimization algorithm or target function would be more appropriate for my system.
Thank you for your help!
-William Fagan
Attached: sample code, a picture of the esfit GUI, data file.
Code: Select all
clear;
clc;
close all;
[Mag,RawData,params]=eprload('USPS40_25.DSC');
Mag=Mag/10; %Convert G to mT
Exp.Range=[Mag(1) Mag(end)]; % 345.5 to 357.514 mT
Exp.mwFreq=9.86;
Exp.nPoints=1024;
Exp.ModAmp=0.1;
%DMPO-OH
Sys1.g =[2.00 2.00];
Sys1.Nucs = '14N,1H';
Sys1.n=[1 1];
Sys1.A_N = mt2mhz([15.023]/10); % G --> MHz
Sys1.A_H = mt2mhz([14.702]/10);
Sys1.A = [Sys1.A_N, Sys1.A_H];
Sys1.lwpp=[0.1 0.0135];
Sys1.weight=1;
%DMPO-OOH
Sys2.g=[2.00 2.00];
Sys2.Nucs='14N,1H,1H';
Sys2.n=[1,1,1];
Sys2.A_N=mt2mhz([15.27]/10);
Sys2.A_H_beta=mt2mhz([10.579]/10);
Sys2.A_H_gamma=mt2mhz([1.166]/10);
Sys2.A=[Sys2.A_N,Sys2.A_H_beta,Sys2.A_H_gamma];
Sys2.lwpp=[0.1 0.1];
Sys2.weight=0.25;
%DMPO-SO4
Sys3.g=[2.00 2.00];
Sys3.Nucs='14N,1H,1H,1H';
Sys3.n=[1,1,1,1];
Sys3.A_N=mt2mhz([13.67]/10);
Sys3.A_H_beta=mt2mhz([10.24]/10);
Sys3.A_H1_gamma=mt2mhz([1.52]/10);
Sys3.A_H2_gamma=mt2mhz([0.79]/10);
Sys3.A=[Sys3.A_N,Sys3.A_H_beta,Sys3.A_H1_gamma,Sys3.A_H2_gamma];
Sys3.lwpp=[0.09 0.09];
Sys3.weight=0.25;
Vary1.g=[0.005 0.005];
Vary1.lwpp=[0.05 0.05];
Vary2.g=[0.005 0.005];
Vary2.lwpp=[0.05 0.05];
Vary2.weight=0.25;
Vary3.g=[0.005 0.005];
Vary3.lwpp=[0.09 0.09];
Vary3.weight=0.25;
FitOpt.Method='simplex fcn';
FitOpt.Scaling='lsq0';
esfit('garlic',RawData,{Sys1,Sys2,Sys3},{Vary1,Vary2,Vary3},Exp,[],FitOpt);