source: ETALON/CLIO/CTR+gfw/GFWnew/simulate_SP_at_CLIO_different_profiles.m @ 737

Last change on this file since 737 was 737, checked in by delerue, 7 years ago

Added double gaussian to GFWnew

File size: 6.8 KB
Line 
1%%% Smith-Purcell simulations for DACTOMUS
2
3%sum_tr=cell(100);
4
5set(0,'DefaultAxesFontSize',22)
6%set(gca,'FontSize',16)
7
8colors={ ':b', '.-g' , '--r' , 's-m', 'o-c', '+:k' , '-y' };
9
10el_mm_vals=[ 2 3 4 6 8 10];
11%el_mm_vals=[ 2 3 4 5 6 7 8 ];
12gamma_vals=70;
13gamma_vals_multi=[ 70 ];
14x0_mm_vals_multi=[ 7 ];
15%epsl_vals=[1 2 5 10];
16epsl_vals=[1 2 5 7 10 ];
17%gamma_vals_multi=[ 200  ];
18%x0_mm_vals_multi=[ 1 ];
19x0_mm_vals=1;
20pulse_len_ps_vals=[ 5 ];
21
22el_mm=el_mm_vals(1);
23gamma=gamma_vals(1);
24x0_mm=x0_mm_vals(1);
25pulse_len_ps=pulse_len_ps_vals(1);
26
27%warning('Comment the next line if you do not want to reinitialise')
28%run_done=[]
29
30for epsl_loop=1:length(epsl_vals)
31    epsl=epsl_vals(epsl_loop);
32    for el_loop=1:length(el_mm_vals)
33        el_mm=el_mm_vals(el_loop);
34        for pulse_loop=1:length(pulse_len_ps_vals)
35            pulse_len_ps=pulse_len_ps_vals(pulse_loop);
36            if ((el_mm==1)&&(pulse_len_ps==0.3))
37                %            gamma_vals=gamma_vals_multi;
38                x0_mm_vals=x0_mm_vals_multi;
39            else
40                x0_mm_vals=x0_mm_vals_multi(1);
41            end %if gamma
42            for gamma_loop=1:length(x0_mm_vals)
43                %           gamma=gamma_vals(gamma_loop);
44                x0_mm=x0_mm_vals(gamma_loop);
45                irun=el_loop+10*pulse_loop+100+1000*(gamma_loop-1)+10000*epsl_loop
46                if (isempty(find(run_done==irun)))
47                    sum_tr{irun}=0
48                    [nu_Hz{irun},SP_spec_1{irun},SP_spec_N{irun},lam{irun},E_total{irun},sum_tr{irun},thet]=GFWnew(['lgr_mm=200;wid_mm=100;el_mm=' num2str(el_mm) ';alpha1=30;Qbunch_nC=0.01;PrSelect=2;x0_mm=' num2str(x0_mm) ';fwhm_x_mm=0.5;fwhm_y_mm=0.5;pulse_len_ps=' num2str(pulse_len_ps) ';gam=' num2str(gamma) ';epsl=' num2str(epsl) ';ThetaDiv=80;phiDiv=3;PlotFunc=[1 1 1 1 1]'])
49                end % we run only if needed
50                run_done=[ run_done irun]
51            end %gamma_loop
52        end % pulse_loop
53    end % epsl_loop
54end
55
56gamma_loop=1;
57epsl_loop=1;
58for el_loop=1:length(el_mm_vals)
59    legend_txt={};
60    figure(700+el_loop)
61    clf
62    hold on
63    title([ 'Grating pitch (mm) ' num2str(el_mm_vals(el_loop)) ' gamma = ' num2str(gamma_vals(gamma_loop)) ] )
64    for pulse_loop=1:length(pulse_len_ps_vals)
65        irun=el_loop+10*pulse_loop+100*gamma_loop+10000*epsl_loop;
66        length(sum_tr{irun})
67        plot(thet,sum_tr{irun},colors{pulse_loop})
68        legend_txt{pulse_loop}= [ 'Pulse len.= ' num2str(pulse_len_ps_vals(pulse_loop)) ' ps ' ];
69        grid on
70    end %for
71    legend(legend_txt);
72    xlabel('Observation angle (degree)');
73    ylabel('Signal Intensity (J)');
74    print('-dpng',[ '/Users/delerue/travail/plasma/DACTOMUS/SP_at_DACTOMUS/pulse_length_comparison_pitch_' num2str(el_mm_vals(el_loop)) '.png' ] );
75end %for
76
77for epsl_loop=1:length(epsl_vals)
78    legend_txt={};
79    figure(700+20+epsl_loop)
80    clf
81    hold on
82    title([ 'Grating pitch (mm) ' num2str(el_mm_vals(el_loop)) 'epsl=' num2str(epsl_vals(epsl_loop)) ' gamma = ' num2str(gamma_vals(gamma_loop)) ] )
83    for pulse_loop=1:length(pulse_len_ps_vals)
84        irun=el_loop+10*pulse_loop+100*gamma_loop+10000*epsl_loop;
85        plot(thet,sum_tr{irun},colors{pulse_loop})
86        legend_txt{pulse_loop}= [ 'Pulse len.= ' num2str(pulse_len_ps_vals(pulse_loop)) ' ps ' ];
87        grid on
88    end %for
89    legend(legend_txt);
90    xlabel('Observation angle (degree)');
91   
92    ylabel('Signal Intensity (J)');
93    print('-dpng',[ '/Users/delerue/travail/plasma/DACTOMUS/SP_at_DACTOMUS/pulse_length_comparison_pitch_' num2str(el_mm_vals(el_loop)) '.png' ] );
94end %for
95
96for pulse_loop=1:length(pulse_len_ps_vals)
97    for iloop=1:2
98    legend_txt={};
99        figure(700+10*pulse_loop+1000*iloop)
100        clf
101        hold on
102        title( [ 'Pulse length ' num2str(pulse_len_ps_vals(pulse_loop)) ' ps'  ' gamma = ' num2str(gamma_vals(gamma_loop)) ] )
103        if (iloop==1)
104            epsl_loop=3
105            for el_loop=1:length(el_mm_vals)
106                irun=el_loop+10*pulse_loop+100+1000*(gamma_loop-1)+10000*epsl_loop
107                plot(thet,sum_tr{irun},colors{el_loop},'linewidth',2)
108                grid on
109                set(gca,'FontSize',22)
110%                legend_txt{el_loop}= [ 'Pitch= ' num2str(el_mm_vals(el_loop)) ' mm - Asym. = ' num2str(epsl_vals(1)) ];
111                legend_txt{el_loop}= [ 'Pitch= ' num2str(el_mm_vals(el_loop)) ' mm' ];
112                xlim([30 155])
113            end %for
114        else
115            %iloop==2
116            el_loop=3
117            for epsl_loop=1:length(epsl_vals)
118                irun=el_loop+10*pulse_loop+100+1000*(gamma_loop-1)+10000*epsl_loop
119                plot(thet,sum_tr{irun},colors{epsl_loop})
120                grid on
121                legend_txt{epsl_loop}= [ 'Pitch= ' num2str(el_mm_vals(el_loop)) ' mm - Asym. = ' num2str(epsl_vals(epsl_loop)) ];
122            end %for
123        end % if iloop
124        legend(legend_txt);
125        xlabel('Observation angle (degree)');
126        ylabel('Signal Intensity (J)');
127        print('-dpng',[ '/Users/delerue/travail/smith-purcell/CLIO/simulations/pitch_comparison_pulse_' num2str(pulse_len_ps_vals(pulse_loop)) num2str(iloop) '.png' ] );
128        print('-depsc',[ '/Users/delerue/travail/smith-purcell/CLIO/simulations/pitch_comparison_pulse_' num2str(pulse_len_ps_vals(pulse_loop)) num2str(iloop) '.eps' ] );
129    end %for iloop 1:2
130end % for pulse length   
131    %  pulse_loop=3;
132    %  el_loop=3;
133    %     figure(800)
134    %     clf
135    %     hold on
136    %     title( [ 'Pulse length ' num2str(pulse_len_ps_vals(pulse_loop)) ' ps - '  'Pitch= ' num2str(el_mm_vals(el_loop)) ' mm '  ] )
137    %     legend_txt={};
138   
139    figure(800)
140   
141    for gamma_loop=1:length(gamma_vals_multi)
142        irun=el_loop+10*pulse_loop+100+1000*(gamma_loop-1)+10000*epsl_loop
143        irun
144        length(sum_tr{irun})
145        plot(thet,sum_tr{irun},colors{gamma_loop})
146        grid on
147        legend_txt{gamma_loop}= [ 'gamma= ' num2str(gamma_vals_multi(gamma_loop)) ];
148    end %for
149    legend(legend_txt);
150    xlabel('Observation angle (degree)');
151    ylabel('Signal Intensity (J)');
152    print('-dpng','/Users/delerue/travail/plasma/DACTOMUS/SP_at_DACTOMUS/gamma_comparison.png');
153   
154    % pulse_loop=3;
155    %  el_loop=3;
156    %     figure(801)
157    %     clf
158    %     hold on
159    %     title( [ 'Pulse length ' num2str(pulse_len_ps_vals(pulse_loop)) ' ps - '  'Pitch= ' num2str(el_mm_vals(el_loop)) ' mm '  ] )
160    %     legend_txt={};
161   
162    for x0_loop=1:length(x0_mm_vals_multi)
163        irun=el_loop+10*pulse_loop+100+1000*(gamma_loop-1)+10000*epsl_loop
164        irun
165        length(sum_tr{irun})
166        plot(thet,sum_tr{irun},colors{x0_loop})
167        grid on
168        legend_txt{x0_loop}= [ 'x0= ' num2str(x0_mm_vals_multi(x0_loop)) ' mm' ];
169    end %for
170    legend(legend_txt);
171    xlabel('Observation angle (degree)');
172    ylabel('Signal Intensity (J)');
173    print('-dpng','/Users/delerue/travail/plasma/DACTOMUS/SP_at_DACTOMUS/x0_comparison.png');
174   
175   
Note: See TracBrowser for help on using the repository browser.