function plot_potential_slice % Load output file data=load('Potential_3D.dat'); % Find center for x,y,z axis - add +1 for Matlab add_correction_x=data(1,1)+1; add_correction_y=data(1,2)+1; add_correction_z=data(1,3)+1; % Size of grid numPoints=256; % Set data to potential array potential=reshape(data(2:end,4),numPoints,numPoints,numPoints);; % Permutation xz p=[3 2 1]; potential=permute(potential,p); % Define grid [x1 y1 z1]=meshgrid(1:numPoints,1:numPoints,1:numPoints); % Plot slice of potential hFig=figure(1); set(hFig, 'Position', [400 400 750 600]); slice(x1,y1,z1,abs(potential),[numPoints/2+add_correction_x numPoints], [numPoints/2+add_correction_y, numPoints], [1 numPoints/2+add_correction_z]); shading interp; view([-42,22]); hc=colorbar; set(hc,'position',[0.932 0.3 0.02 0.6]); caxis([10^14 10^15]); xlim([0 numPoints]); ylim([0 numPoints]); zlim([0 numPoints]); xlabel('x domain'); ylabel('y domain'); zlabel('z domain'); colormap(jet(1000)); title('Gravitational potential with FFT/GPU computation'); % Average value and standard deviation disp('FFT/GPU computation : average value and standard deviation'); disp(mean(abs(potential(:)))); disp(std(abs(potential(:)))); end