Issues modelling particle spin
이전 댓글 표시
Hello, I've been working on my code to simulate particles diffusing in a 1D box in the presence of a magnetic field gradient. The gradient is in one dimension but increases in strength as a function of position in the box.
The issue arises with the summing of the spins, they should all theoretically become out of phase and sum to 0, but they usually generate large numbers. Can anyone see any issues with the code or, even worse, my physics!
Code:
clear all
h = 1000000;
T = 1*10^-6;
ts = 10^-7;
D = 0.282;
ga = (267.513 * 10^6)*360/(2*pi);
xsi=(2*D*ts)^0.5;
W = xsi*25;
B0 = 0.00001;
G = 20;
t = ts;
m = 1;
omg = pi*ones(1,h);
n = zeros(1,h);
rot = zeros(1,h);
r = ones(1,h);
k = 1;
bins = (-W:xsi:W);
while sum(rot) >= 0;
x = round(rand(1,h));
for m = 1 : h;
if n(m) >= W - xsi
n(m) = n(m) - xsi;
elseif n(m) <= - W + xsi
n (m) = n(m) + xsi;
else
if x(m) == 1
n(m) = n(m) + xsi;
elseif x(m) == 0
n(m) = n(m) - xsi;
end
end
omg(m) = ga*(G*n(m)+B0)*ts;
rot(m) = rot(m) + omg(m);
end
t = t + ts;
k = k + 1;
end
sum(rot)
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Neuroimaging에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!