Page 1 of 1

Fitting experimental parameters with esfit in multicomponent

Posted: Mon Dec 05, 2016 5:23 am
by katarkon
I would like to take into account the drift of the microvawe frequency with the temperature variation. Unfortunately, Bruker EMX spectrometer writes only one MF value for all spectra. So, the drift of g-factor values is unavoidable.
The custom simulation function should solve the problem for one spin system case.

Code: Select all

function y = mysim(Sys,Exp,Opt);
Exp.mwFreq = Sys.mwFreq;
[x,y] = garlic(Sys,Exp,Opt);

Code: Select all

Sys.mwFreq = 9.65;
Vary.mwFreq = 0.05;
esfit('mysim',data,Sys,Vary,Exp);
But this code should not be working properly for multicomponent fitting. Each system should have own Sys.mwFreq parameter which will be treated independently by esfit function. So there is a risk to obtain different MF values at the end.
Is any way to overcome the problem?

Re: Fitting experimental parameters with esfit in multicompo

Posted: Mon Dec 05, 2016 6:42 am
by thanasis
Just a question first: I suppose you have a Bruker CF935 type cryostat which cools the entire cavity.

For Oxford ESR900-type cryostats the drift should be negligible.

Re: Fitting experimental parameters with esfit in multicompo

Posted: Tue Dec 06, 2016 12:38 am
by katarkon
It is standard liquid nitrogen cryostat BVT3000.
I propose that general origin of frequency drift is temperature dependence of permittivity for lossy solvents (like ethyl ether, THF, etc).

Re: Fitting experimental parameters with esfit in multicompo

Posted: Mon Dec 12, 2016 2:22 am
by katarkon
The problem was solved by "brute force" method. All subsystems are placed in one structure Sys:

Code: Select all

Sys.mwFreq=...;
Sys.n1=[...];
Sys.Nucs1='...';
Sys.A1=[...];
Sys.g1=...;
Sys.weight1=...;
Sys.n2=[...];
Sys.Nucs2='...';
Sys.A2=[...];
Sys.g2=...;
Sys.weight2=...;
....
....
In simulation all subsystems are extracted and used for complex spectrum simulation:

Code: Select all

function y = mysim(Sys,Exp,Opt);
Exp.mwFreq = Sys.mwFreq;
Sys1.A=Sys.A1;
Sys2.A=Sys.A2;
... % etc 
[x,y] = garlic({Sys1,Sys2},Exp,Opt);
But it should be better to vary experimental parameters as well as spin system inside the esfit() function.