solving Bloch Eq. (ODE) with pumping

10 views (last 30 days)
Yossi Rosenzweig
Yossi Rosenzweig on 10 Mar 2019
Hellow world!
I'm having some trouble with solving the Bloch Eq. when I add pumping to the Eqs.
The Bloch Eqs. without pumping term are defind as:
where M is the magnetization (in my case- of vapor) in the x/y/x axis, γ is the gyromagnetic ratio, and are relaxations rates.
I solve the Bloch Eq. using the following code:
gamma=350;
B=0.5;
T1=10;
T2=10;
tend=T1;
M0=[1;1;1]; %initial conditions
A=[-1/T2, gamma*B, 0; -gamma*B, -1/T2, 0; 0, 0, -1/T1]; %to represent the Bloch Eq. above using
[t,M]=ode45(@(t, M) A*M [0 tend], M0);
The analitical solution in known and eqauls to
when FFT the results as follows
L=length(t);
Fs=1/mean(diff(t));
n=2^newtpow2(L);
Y=fft(M,n);
Y=abs(Y)
Y=Y(1:n/2m:);
f=(0:(n/2)-1)*Fs/n
f=f'
plot(f, Y(:,1));
I get a shift in the frequency for tend longer than ~5T_2
On the contrary, I get the correct frequency (with 2*pi factor in the x axis) for tend shorger tend (e.g. 0.1*T2), but the fft is distorted.
I appricaite help with this issue, but the following question concerns me even more
In the above Eqs. I assumed that the initial magnetizations in x/y/z are equal and the solution just describe its decay (and oscillations for Mx and My)
Now I want to add pumping which will add population to Mx and will oppose the relaxation in x.
I implement it by revising A:
A=[Rop-1/T2, gamma*B, 0; -gamma*B, -1/T2, 0; 0, 0, -1/T1];
But it seems to change My as well as Mx, and for high amplitude (e.g. Rop*10*T2) resutls seems to be very wierd.
Help please :)

Answers (0)

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!