0001
0002
0003
0004 clear all
0005 clear mex
0006 clear functions
0007 close all
0008 warning off
0009 global nfig
0010
0011 p_opt = 2;
0012
0013 permission = test_permissions_yp;
0014
0015 if ~permission
0016 disp('Please move the script to a local folder where you have write permission before to run it')
0017 return;
0018 end
0019
0020
0021
0022 id_simul = 'LH_karney_init';
0023 path_simul = '';
0024
0025 psin_S = [];
0026 rho_S = [0.5];
0027
0028 id_path = '';
0029 path_path = '';
0030
0031 id_equil = 'TScyl';
0032 path_equil = '';
0033
0034 id_dkeparam = 'UNIFORM10010020';
0035 path_dkeparam = '';
0036
0037 id_display = 'NO_DISPLAY';
0038 path_display = '';
0039
0040 id_ohm = '';
0041 path_ohm = '';
0042
0043 ids_wave = {''};
0044 paths_wave = {''};
0045
0046 id_transpfaste = '';
0047 path_transpfaste = '';
0048
0049 id_ripple = '';
0050 path_ripple = '';
0051
0052
0053
0054
0055
0056 [dkepath,equil,dkeparam,dkedisplay,ohm,waves,transpfaste,ripple] = load_structures_yp('dkepath',id_path,path_path,'equil',id_equil,path_equil,'dkeparam',id_dkeparam,path_dkeparam,'dkedisplay',id_display,path_display,'ohm',id_ohm,path_ohm,'waves',ids_wave,paths_wave,'transpfaste',id_transpfaste,path_transpfaste,'ripple',id_ripple,path_ripple);
0057
0058
0059
0060 wavestruct.omega_lh = [4]*2*pi*1e9;
0061
0062
0063
0064 wavestruct.opt_lh = 2;
0065
0066
0067
0068
0069 wavestruct.norm_ref = 1;
0070
0071 wavestruct.yvparmin_lh = [3];
0072 wavestruct.yvparmax_lh = [5];
0073
0074 wavestruct.yNparmin_lh = [NaN];
0075 wavestruct.yNparmax_lh = [NaN];
0076 wavestruct.yNpar_lh = [NaN];
0077 wavestruct.ydNpar_lh = [NaN];
0078
0079
0080 wavestruct.yD0_in_c_lh = [1];
0081
0082 wavestruct.yD0_in_lh_prof = [0];
0083 wavestruct.ypeak_lh = [NaN];
0084 wavestruct.ywidth_lh = [NaN];
0085
0086 wavestruct.ythetab_lh = [0]*pi/180;
0087
0088
0089
0090
0091 if exist('dmumpsmex');dkeparam.invproc = -2;end
0092
0093 dkeparam.boundary_mode_f = 0;
0094 dkeparam.norm_mode_f = 1;
0095
0096 dkeparam.np_S = 201;
0097 dkeparam.nmhu_S = 201;
0098
0099 dkeparam.psin_S = psin_S;
0100 dkeparam.rho_S = rho_S;
0101
0102
0103
0104 betath_list = [logspace(-3,-2,7),logspace(-1.85,-0.35,11)];betath_list = betath_list(1:15);
0105
0106 [qe,me,mp,mn,e0,mu0,re,mc2] = pc_dke_yp;
0107
0108 nbetath = length(betath_list);
0109
0110 j0_0 = NaN(1,nbetath);
0111 jend_0 = NaN(1,nbetath);
0112 nit_0 = NaN(1,nbetath);
0113
0114 j0_1 = NaN(1,nbetath);
0115 jend_1 = NaN(1,nbetath);
0116 nit_1 = NaN(1,nbetath);
0117
0118 for ibetath = 1:nbetath,
0119
0120 betath = betath_list(ibetath);
0121
0122 equil.pTe = betath^2*mc2*ones(size(equil.pTe));
0123 equil.pzTi = betath^2*mc2*ones(size(equil.pzTi));
0124
0125 waves{1} = make_idealLHwave_jd(equil,wavestruct);
0126
0127 dkeparam.initguess_f = 0;
0128 [dummy,dummy,dummy,dke_out] = main_dke_yp(id_simul,dkepath,equil,dkeparam,dkedisplay,ohm,waves,transpfaste,ripple,[],[]);
0129
0130 j0_0(ibetath) = dke_out.curr0{end}(1);
0131 jend_0(ibetath) = dke_out.curr0{end}(end);
0132 nit_0(ibetath) = length(dke_out.curr0{end}) - 1;
0133
0134 dkeparam.initguess_f = 1;
0135 if ibetath == 14,
0136 dkedisplay.display_init = 1;
0137 end
0138 [dummy,dummy,dummy,dke_out] = main_dke_yp(id_simul,dkepath,equil,dkeparam,dkedisplay,ohm,waves,transpfaste,ripple,[],[]);
0139 dkedisplay.display_init = 0;
0140
0141 j0_1(ibetath) = dke_out.curr0{end}(1);
0142 jend_1(ibetath) = dke_out.curr0{end}(end);
0143 nit_1(ibetath) = length(dke_out.curr0{end}) - 1;
0144
0145 end
0146
0147 j_2_nr_Karney = 0.07092;
0148
0149
0150
0151 leg = {'No guess (initial)','No guess (final)','LH guess (initial)','LH guess (final)'};
0152 xlim = 10.^[-3,0];
0153 ylim = [0,0.1];
0154 xlab = '\beta_T';
0155 ylab = 'j';
0156 tit = '';
0157 siz = 20+14i;
0158
0159 figure('Name','LH current');clf
0160
0161 graph1D_jd(betath_list,j0_0,1,0,xlab,ylab,tit,NaN,xlim,ylim,'--','none','r',2,siz,gca,0.9,0.7,0.7);
0162 graph1D_jd(betath_list,jend_0,1,0,'','','',NaN,xlim,ylim,'-','none','r',2,siz,gca);
0163 graph1D_jd(betath_list,j0_1,1,0,'','','',NaN,xlim,ylim,'--','none','b',2,siz,gca);
0164 graph1D_jd(betath_list,jend_1,1,0,'','','',leg,xlim,ylim,'-','none','b',2,siz,gca);
0165 set(gca,'ytick',[0:0.2:1]*ylim(2))
0166 set(gca,'xtick',[1e-05 0.0001 0.001 0.01 0.1 1])
0167 set(gca,'XMinorGrid','off')
0168 set(gca,'XMinorTick','on')
0169
0170 figure('Name','Convergence rate');clf
0171
0172 leg = {'No guess','LH guess'};
0173 ylab = 'Number of iterations';
0174 ylim = [0,50];
0175
0176 graph1D_jd(betath_list,nit_0,1,0,xlab,ylab,tit,NaN,xlim,ylim,'-','+','r',2,20,gca,0.9,0.7,0.7);
0177 graph1D_jd(betath_list,nit_1,1,0,'','','',leg,xlim,ylim,'-','+','b',2,20,gca);
0178
0179 set(gca,'XMinorGrid','off')
0180 set(gca,'XMinorTick','on')
0181
0182 print_jd(p_opt,'fig_f2D_init','./figures',1)
0183 print_jd(p_opt,'fig_f1D_init','./figures',2)
0184 print_jd(p_opt,'fig_vp_init','./figures',3)
0185 print_jd(p_opt,'fig_j_init','./figures',4)
0186 print_jd(p_opt,'fig_nit_init','./figures',5)
0187
0188
0189
0190 eval(['save ',path_simul,'DKE_RESULTS_',id_equil,'_',id_simul,'.mat']);
0191 info_dke_yp(2,['Data saved in ',path_simul,'DKE_RESULTS_',id_equil,'_',id_simul,'.mat']);