2021-07-03 10:19:27 +02:00
|
|
|
function plotFreeMolecularFluxVsTemp(obj, Temperature)
|
|
|
|
|
|
|
|
f_h = Helper.getFigureByTag('Tube Flux');
|
|
|
|
set(groot,'CurrentFigure',f_h);
|
|
|
|
a_h = get(f_h, 'CurrentAxes');
|
|
|
|
if ~isempty(get(a_h, 'Children'))
|
|
|
|
clf(f_h);
|
|
|
|
end
|
|
|
|
f_h.Name = 'Tube Flux';
|
|
|
|
f_h.Units = 'pixels';
|
|
|
|
|
|
|
|
set(0,'units','pixels');
|
|
|
|
screensize = get(0,'ScreenSize');
|
|
|
|
f_h.Position = [[screensize(3)/4.5 screensize(4)/4.5] 920 750];
|
|
|
|
|
|
|
|
hold on
|
|
|
|
|
|
|
|
for i=1:length(Temperature)
|
|
|
|
beta = linspace(0.01,0.5,200);
|
|
|
|
obj.OvenTemperature = Temperature(i);
|
2021-07-11 06:02:53 +02:00
|
|
|
flux = zeros(1,length(beta));
|
|
|
|
for j=1:length(beta)
|
2021-07-14 20:23:00 +02:00
|
|
|
obj.NozzleLength = (2 * obj.NozzleRadius) / beta(j);
|
2021-07-11 06:02:53 +02:00
|
|
|
[ReducedClausingFactor, ~] = obj.calculateReducedClausingFactor();
|
|
|
|
flux(j) = ReducedClausingFactor * obj.calculateFreeMolecularRegimeFlux();
|
2021-07-03 10:19:27 +02:00
|
|
|
end
|
|
|
|
plot(beta, flux, 'DisplayName', sprintf('T = %.1f ℃', Temperature(i)), 'Linewidth', 1.5)
|
|
|
|
end
|
|
|
|
set(gca,'yscale','log')
|
2021-07-14 20:23:00 +02:00
|
|
|
|
|
|
|
obj.restoreDefaults();
|
|
|
|
|
2021-07-03 10:19:27 +02:00
|
|
|
xline(obj.Beta, 'k--','Linewidth', 0.5);
|
2021-07-14 20:23:00 +02:00
|
|
|
fmf = obj.ReducedClausingFactor * obj.calculateFreeMolecularRegimeFlux();
|
2021-07-03 10:19:27 +02:00
|
|
|
yline(fmf, 'k--', 'Linewidth', 1.5);
|
|
|
|
textstring = [sprintf('%1.e',fmf) ' atoms/s for ' '$$ \beta $$ = ' num2str(obj.Beta, '%.2f') sprintf(' @ %.2f K', obj.OvenTemperatureinKelvin)];
|
|
|
|
txt = text((obj.Beta + 0.05*obj.Beta), (max(fmf) + 0.2*fmf), textstring, 'Interpreter','latex');
|
|
|
|
|
|
|
|
hold off
|
|
|
|
|
|
|
|
leg = legend('Location', 'southeast');
|
|
|
|
leg.String = leg.String(1:end-2); % Remove xline and yline legend entries
|
|
|
|
hXLabel = xlabel('\beta');
|
|
|
|
hYLabel = ylabel('Flux (atoms/s)');
|
|
|
|
hTitle = sgtitle('Total Flux from a Tube (Free Molecular Flow)');
|
|
|
|
|
|
|
|
set([hXLabel, hYLabel, txt, leg] , ...
|
|
|
|
'FontSize' , 14 );
|
|
|
|
set( hTitle , ...
|
|
|
|
'FontSize' , 18 );
|
|
|
|
|
|
|
|
grid on
|
|
|
|
Helper.bringFiguresWithTagInForeground();
|
|
|
|
end
|