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); L = 2*obj.NozzleRadius./beta; obj.OvenTemperature = Temperature(i); flux = zeros(1,length(L)); for j=1:length(L) obj.NozzleLength = L(j); flux(j) = obj.calculateFreeMolecularRegimeFlux(); end plot(beta, flux, 'DisplayName', sprintf('T = %.1f ℃', Temperature(i)), 'Linewidth', 1.5) end set(gca,'yscale','log') obj.reinitializeSimulator(); xline(obj.Beta, 'k--','Linewidth', 0.5); fmf = obj.calculateFreeMolecularRegimeFlux(); 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