GPUE  v1.0
GPU Gross-Pitaevskii Equation numerical solver for Bose-Einstein condensates
vtxTrajectory.m
Go to the documentation of this file.
1 function [vorts] = vtxTrajectory(start, step, fin, initial,threeD, dx, dimSize, dt)
2 %vtxTrajectory trajectory plots of 2D vortex data.
3 % vtxTrajectory takes the output of the postprocessed vortex positions
4 % from the matlab script as loaded by loadVtx
5 % Start step and fin are the initial, stepsize and final datasets
6 % initial indicates if you wish to highlight the
7 % threeD also plots aspacetime (XYT) diagram in 3D.
8 % dx is the stepsize along one dimension and assumes the same over x,y
9 % dimSize is the length of the dimensions, and assumes x==y
10 % dt is the time increment for the spacetime diagram.
11 % Note: Since the processed data assumes an initial starting position, the
12 % data at 0 is named vort_arr_0, while postprocessed data is vort_ord_xxx.
13 % Also, plotting assumes the data to be centred at 0 with for half dimSize
14 % of the system
15 
16  %Load vortices and convert struct to cell format
17  vorts = struct2cell(loadVtx(start,step,fin,0));
18 
19  figure;
20  for ii=1:size(vorts,2)
21  if(ii==1) && (initial == 1)%load inital position and indicate with markers
22  f0=csvread(['vort_ord_',int2str(start),'.csv'],1,0);
23  p=scatter((f0(:,1)-dimSize/2)*dx,(f0(:,2)-dimSize/2)*dx,40,[0. 0. 0.],'filled','MarkerEdgeColor',[0. 0. 0.],'MarkerFaceColor',[0.4,0.4,0.4]); hold on;
24  alpha(p,0.6);
25  end
26  plot(([vorts{1,ii,:}]-dimSize/2)*dx,([vorts{2,ii,:}]-dimSize/2)*dx,'color',rand(3,1),'LineWidth',2);
27  hold on;
28  end
29 
30  set(gca,'TickLabelInterpreter', 'latex');
31  set(gca,'FontName','Latin Modern Roman','FontSize',36);axis square;
32  xlabel(' $x$ (m)','Interpreter','latex');ylabel( ' $y$ (m)','Interpreter','latex');
33  print('-dpng','-r300',strcat('Trajectory.png',''));
34 
35  if threeD==1% Generate 2+1 spacetime plot of vortices
36  figure
37  for ii=1:length([vorts{1,:,1}])
38  plot3(([vorts{1,ii,:}]-dimSize/2).*dx,([vorts{2,ii,:}]-dimSize/2).*dx,1e-2.*(1:length([vorts{2,ii,:}].*dt*step)));hold on
39  end
40  set(gca,'TickLabelInterpreter', 'latex');
41  set(gca,'FontName','Latin Modern Roman','FontSize',22);
42  xlabel('$x$ (m)','Interpreter','latex');ylabel('$y$ (m)','Interpreter','latex');zlabel('$t$ (s)','Interpreter','latex');
43  print('-dpng','-r300',strcat('Trajectory3d.png',''));
44  end
45 end
end if(length(DT.vertexAttachments{ii})==5) if plotit plot(x(ii)
% Imaginary time unitary evolution operators for position
Definition: GPE_2d.m:82
stepsize and final datasets % initial indicates if you wish to highlight the % threeD also plots aspacetime(XYT) diagram in 3D. % dx is the stepsize along one dimension and assumes the same over x
tuple dx
Definition: en.py:59
ylabel(' $y$(m)', 'Interpreter', 'latex') % Defect marker size MarkerSize
figure
Definition: GPE_2d.m:5
stepsize and final datasets % initial indicates if you wish to highlight the % threeD also plots y % dimSize is the length of the and assumes the % data at is named while postprocessed data is vort_ord_xxx % Also
Definition: vtxTrajectory.m:9
stepsize and final datasets % initial indicates if you wish to highlight the % threeD also plots y % dimSize is the length of the dimensions
Definition: vtxTrajectory.m:9
% Number of atoms as
Definition: GPE_2d.m:16
and extended by(Dr?) Lee James O 'Riordan. % Ek
h LineWidth
end % idx is for time
and print the results to file Essentially wraps % voronoi2dCellColour and saves the resulting plots
Definition: VtxCorr.m:1
stepsize and final datasets % initial indicates if you wish to highlight the % threeD also plots y % dimSize is the length of the and assumes x
Definition: vtxTrajectory.m:9
stepsize and final datasets % initial indicates if you wish to highlight the % threeD also plots y % dimSize is the length of the and assumes the % data at is named vort_arr_0
Definition: vtxTrajectory.m:9
Latin Modern axis square
with(5, 7)(3
list p
Definition: vis.py:347
and assumes too high and very sparse Start at
Definition: velField.m:5
and structures them % into Matlab structs for Vortex position and index % start step and fin are the initial step and final % dataset to load for the vortex postions % lostCheck turns on the ability to test for vortex losses and ensure % that these vortices do not contribute to the dataset % The Data should be in the format of [X Y Sign UID IsLost] % vorts
Definition: loadVtx.m:10
% Indexing needs to % be modified if you wish to use the ordered data sets % Calculate the Voronoi diagram of the resulting data
Definition: VtxCorr.m:36
% axis([1e4 1e7 5e-18 1e-10])
and colour the % cells with the value of the orientational correlations defined at each % or with the area of the cell(col=0). % x
tuple dt
Definition: en.py:61
% If at least one of the indices is
Definition: plot.py:1
Latin Modern latex print('-dpng','-r300', ['./Comp_CBAR_', int2str(iii),'.png'])
hold on
xlabel(' $x$(m)', 'Interpreter', 'latex')
end % idx is for idx is for type for ii
end MarkerEdgeColor
length
Definition: vort.py:75
dimSize
Definition: quKineticSpec.m:73