function [Continuity]=Continuityspline(M,it,norm,log,contourscale, zlims) %ForceBalance Show the radial force balance % Plot the three radial forces for the given time-step it or averaged % over the range of time steps defined in it if it==':' it=floor(0.95*size(M.t2d)):size(M.t2d); end switch nargin case 2 contourscale=0.6; norm=false; log=false; zlims=[-inf inf]; case 3 log=false; contourscale=0.6; zlims=[-inf inf]; case 4 contourscale=0.6; zlims=[-inf inf]; case 5 zlims=[-inf inf]; case 6 otherwise error("Invalid number of arguments") end contourcolor=[0 0 0];%[255 20 147]/255; N=M.N(:,:,it); densitycontour=contour(M.zgrid,M.rgrid,mean(N,3),[contourscale contourscale]*maxdens); rgridmax=sum(M.nnr(1:2)); %% Continuity f3=figure(); t=M.t2d(it); dndt=zeros(size(N,1),size(N,2),size(N,3)-1); ndivu=zeros(size(N,1),size(N,2),size(N,3)-1); ugradn=zeros(size(N,1),size(N,2),size(N,3)-1); parfor i=1:size(N,3)-1 dndt(:,:,i)=(N(:,:,i+1)-N(:,:,i))./(t(i+1)-t(i)); ndivu(:,:,i)=N(:,:,i).*(M.fluidUR.der(:,:,it(i),[1 0])... + M.fluidUR(:,:,it(i)).*Rinv... + M.fluidUZ.der(:,:,it(i),[0 1])); ugradn(:,:,i)= M.fluidUR(:,:,it(i)).*M.N.der(:,:,it(i),[1 0]) ... + M.fluidUZ(:,:,it(i)).*M.N.der(:,:,it(i),[0 1]); end Continuity.dndt=dndt; Continuity.ndivu=ndivu; Continuity.ugradn=ugradn; ax7=subplot(4,1,1); plotvalue(ax7,mean(Continuity.dndt,3),'\partialn/\partialt','\partialn/\partialt [m^{-3}s^{-1}]',true) zlim=[max([min(min(mean(Continuity.ndivu(2:end,:,:),3))),min(min(mean(Continuity.ugradn(2:end,:,:),3)))]) min([max(max(mean(Continuity.ndivu(2:end,:,:),3))),max(max(mean(Continuity.ugradn(2:end,:,:),3)))])]; ax8=subplot(4,1,2); plotvalue(ax8,mean(Continuity.ndivu,3),'n\nabla(u)','n\nabla(u)[m^{-3}s^{-1}]',true,zlim) ax9=subplot(4,1,3); plotvalue(ax9,mean(Continuity.ugradn,3),'u\nabla(n)','u\nabla(n)[m^{-3}s^{-1}]',true,zlim) ax10=subplot(4,1,4); plotvalue(ax10,mean(Continuity.ndivu+Continuity.ugradn+Continuity.dndt,3),'Total','total[m^{-3}s^{-1}]',true,zlim) sgtitle(sprintf('Continuity t=[%1.2g-%1.2g]s n_e=%1.2g m^{-3}',M.t2d(min(it)),M.t2d(max(it)),double(maxdens))) f3.PaperOrientation='portrait'; [~, name, ~] = fileparts(M.file); f3.PaperUnits='centimeters'; papsize=[20 19]; f3.PaperSize=papsize; print(f3,sprintf('%scontinuity',name),'-dpdf','-fillpage') function plotvalue(axis,matrix,titl, clab, rm1strow, zlims) if nargin < 5 rm1strow=false; end if nargin>5 zmin=zlims(1); zmax=zlims(2); else zmin=-inf; zmax=inf; end if rm1strow if log h=surface(axis,M.zgrid,M.rgrid(2:end),abs(matrix(2:end,:))); else h=surface(axis,M.zgrid,M.rgrid(2:end),matrix(2:end,:)); end else if log h=surface(axis,M.zgrid,M.rgrid,abs(matrix)); else h=surface(axis,M.zgrid,M.rgrid,matrix); end end set(h,'edgecolor','none'); hold on; if log zpos=interp2(M.zgrid, M.rgrid, abs(matrix), densitycontour(1,2:end), densitycontour(2,2:end)); else zpos=interp2(M.zgrid, M.rgrid, matrix, densitycontour(1,2:end), densitycontour(2,2:end)); end plot3(axis,densitycontour(1,2:end),densitycontour(2,2:end),zpos,'-.','linewidth',2,'color',contourcolor) xlabel(axis,'z [m]') ylabel(axis,'r [m]') xlim(axis,[M.zgrid(1) M.zgrid(end)]) ylim(axis,[M.rgrid(1) M.rgrid(rgridmax)]) colormap(axis,'jet') c = colorbar(axis); c.Label.String=clab; caxis(axis,[zmin zmax]) if norm caxis(axis,[Fminr Fmaxr]); end if log set(axis,'colorscale','log') end title(axis,titl) grid(axis, 'on') view(axis,2) end end