From a9ae50d28e8ae22c1ae12f737fa55ad1e4877d30 Mon Sep 17 00:00:00 2001
From: Antoine Cyril David Hoffmann <ahoffman@spcpc606.epfl.ch>
Date: Thu, 2 Jun 2022 09:57:50 +0200
Subject: [PATCH] correction of a bug

---
 matlab/plot/plot_ballooning.m | 29 +++++++++++++++++++----------
 1 file changed, 19 insertions(+), 10 deletions(-)

diff --git a/matlab/plot/plot_ballooning.m b/matlab/plot/plot_ballooning.m
index 49d59248..435573a6 100644
--- a/matlab/plot/plot_ballooning.m
+++ b/matlab/plot/plot_ballooning.m
@@ -1,17 +1,27 @@
 function [FIG] = plot_ballooning(data,options)
     FIG.fig = figure; iplot = 1;
-    [~,it] = min(abs(data.Ts3D - options.time_2_plot));
+    [~,it0] = min(abs(data.Ts3D - options.time_2_plot(1)));
+    [~,it1] = min(abs(data.Ts3D - options.time_2_plot(end)));
     [~,ikyarray] = min(abs(data.ky - options.kymodes));
-    phi_real=(real(data.PHI(:,:,:,it)));
-    phi_imag=(imag(data.PHI(:,:,:,it)));
+    phi_real=mean(real(data.PHI(:,:,:,it0:it1)),4);
+    phi_imag=mean(imag(data.PHI(:,:,:,it0:it1)),4);
     % Apply baollooning tranform
     for iky=ikyarray
         dims = size(phi_real);
-        phib_real = zeros(  dims(2)*dims(3)  ,1);
+
+        if options.sheared
+            idx = -Nkx:1:Nkx;
+            ikxlim = dims(2);
+        else
+            idx = 0;
+            ikxlim = 1;
+        end
+        
+        phib_real = zeros(  ikxlim*dims(3)  ,1);
         phib_imag= phib_real;
         b_angle = phib_real;
-
-        for ikx =1: dims(2)
+        
+        for ikx =1:ikxlim
             start_ =  (ikx -1)*dims(3) +1;
             end_ =  ikx*dims(3);
             phib_real(start_:end_)  = phi_real(iky,ikx,:);
@@ -20,8 +30,7 @@ function [FIG] = plot_ballooning(data,options)
 
         % Define ballooning angle
         Nkx = numel(data.kx)-1; coordz = data.z;
-        idx = -Nkx:1:Nkx;
-        for ikx =1: dims(2)
+        for ikx =1: ikxlim
             for iz=1:dims(3)
                 ii = dims(3)*(ikx -1) + iz;
                 b_angle(ii) =coordz(iz) + 2*pi*idx(ikx);
@@ -47,8 +56,8 @@ function [FIG] = plot_ballooning(data,options)
         legend('real','imag','norm')
         xlabel('$\chi / \pi$')
         ylabel('$\phi_B (\chi)$');
-        title(['ky=',sprintf('%1.1f',data.ky(iky)),...
-               ',t=',sprintf('%1.1f',data.Ts3D(it))]);
+        title(['$k_y=',sprintf('%1.1f',data.ky(iky)),...
+               ',t_{avg}\in [',sprintf('%1.1f',data.Ts3D(it0)),',',sprintf('%1.1f',data.Ts3D(it1)),']$']);
         iplot = iplot + 1;
     end
 end
-- 
GitLab