display_cronos_C3PO

PURPOSE ^

SYNOPSIS ^

function [] = display_cronos_C3PO(id_simul,equilDKE,ZP0,Zcurr,dkeparam,mksa,itnmin,racc,p_opt,remote,rootdir)

DESCRIPTION ^

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [] = display_cronos_C3PO(id_simul,equilDKE,ZP0,Zcurr,dkeparam,mksa,itnmin,racc,p_opt,remote,rootdir)
0002 %
0003 if nargin == 6, 
0004     itnmin = 1;
0005     racc = 0.05;
0006     p_opt = 0;
0007     remote = 0;
0008     rootdir = [pwd,'/'];
0009 elseif nargin == 7,
0010     racc = 0.05;
0011     p_opt = 0;
0012     remote = 0;
0013     rootdir = [pwd,'/'];
0014 elseif nargin == 8,
0015     p_opt = 0;
0016     remote = 0;
0017     rootdir = [pwd,'/'];
0018 elseif nargin == 9,
0019     remote = 0;
0020     rootdir = [pwd,'/'];
0021 elseif nargin == 10,
0022     rootdir = [pwd,'/'];
0023 end
0024 %
0025 if isempty(p_opt), p_opt = 0;end
0026 %
0027 if remote,
0028     if strcmp(computer,'MACI64') & strfind(dkeparam.path_simul,'/local/peysson/Simulations/Yves/DKE/FLUCT/')
0029         path_simul = dkeparam.path_simul(length('/local/peysson/Simulations/Yves/DKE/FLUCT/')+1:end);%calculations done on cephee and display done on macbook or elsewhere locally
0030     elseif strcmp(computer,'GLNXA64') & ~strfind(dkeparam.path_simul,'/local/peysson/Simulations/Yves/DKE/FLUCT/')
0031         path_simul = ['/local/peysson/Simulations/Yves/DKE/FLUCT/',dkeparam.path_simul];%calculations done on macbook or elsewhere locally and display done on cephee
0032     else
0033         path_simul = dkeparam.path_simul;%calculations and display done on the same machine
0034     end
0035 else
0036     path_simul = dkeparam.path_simul;%local
0037 end
0038 %
0039 path_simul = [rootdir,path_simul];
0040 %
0041 if ~exist(path_simul) == 7,
0042     disp(['WARNING: the directory ',path_simul,' must exist before launching the display program.'])
0043 end
0044 %
0045 if ~isempty(itnmin),%fluctuation case
0046     [tn,tn_all,fluctres] = fluctanalysis_yp(equilDKE,ZP0,Zcurr,dkeparam,mksa,racc,itnmin);
0047     %
0048     diary_file = ['LUKE_DIARY_',id_simul,'.mat'];
0049     diary([path_simul,diary_file])
0050     diary on;
0051     %
0052     info_dke_yp(2,['Total co-current     : ',num2str(fluctres.I.Itotm*fluctres.I.scocurr),' +/- ',num2str(abs(fluctres.I.Itots)*fluctres.I.scocurr),' MA, relative unbiased accuracy: ',num2str(abs(fluctres.I.Itotr))]);
0053     info_dke_yp(2,['Total RF power    : ',num2str(fluctres.P.Ptotm),' +/- ',num2str(abs(fluctres.P.Ptots)),' MW, relative unbiased accuracy: ',num2str(abs(fluctres.P.Ptotr))]);
0054     disp(['Rejected simulations (Pin not equal to Pabs within error bars): ',int2str(fluctres.P.iPtotr(:)'),', index offset: ',int2str(itnmin - 1)]);
0055     %
0056     diary off;
0057     %
0058     h = figure('Name','Time evolution LH current (fluctuation)');
0059     %
0060     if ~isscalar(fluctres.I.xJs), 
0061         graph1D_jd(fluctres.I.tnI_all,fluctres.I.tI_all*fluctres.I.scocurr,0,0,'t\nu_{coll}','I_{lh} co-current (MA)',[],NaN,'','','-','none','r',1,20,gca,1,NaN,NaN);
0062         graph1D_jd(fluctres.I.tnI,fluctres.I.tI*fluctres.I.scocurr,0,0,'t\nu_{coll}','I_{lh} co-current (MA)',[],NaN,'','','-','none','r',2,20,gca,1,NaN,NaN);
0063         graph1D_jd(fluctres.I.tnI,fluctres.I.tI*fluctres.I.scocurr,0,0,'t\nu_{coll}','I_{lh} co-current (MA)',[],NaN,'','','-','none','r',2,20,gca,1,NaN,NaN);
0064         graph1D_jd(fluctres.I.tnI(fluctres.I.iItot),fluctres.I.tI(fluctres.I.iItot)*fluctres.I.scocurr,0,0,'t\nu_{coll}','I_{lh} co-current (MA)',[],NaN,'','','none','+','r',2,20,gca,1,NaN,NaN);
0065         graph1D_jd(fluctres.I.tnI(fluctres.I.iItot),fluctres.I.Itotm*fluctres.I.scocurr*ones(1,length(tn(fluctres.I.iItot))),0,0,'t\nu_{coll}','I_{lh} (MA)',['I_{tot} = ',num2str(fluctres.I.Itotm),'\pm',num2str(fluctres.I.Itots*fluctres.I.scocurr),' (MA)'],NaN,'','','--','none','r',1,20,gca,1,NaN,NaN);
0066         graph1D_jd(fluctres.I.tnI(fluctres.I.iItot),fluctres.I.Itotm*fluctres.I.scocurr*ones(1,length(fluctres.I.iItot)),0,0,'t\nu_{coll}','I_{lh} co-current (MA)',['I_{tot} = ',num2str(fluctres.I.Itotm),'\pm',num2str(fluctres.I.Itots*fluctres.I.scocurr),' (MA)'],NaN,[min(tn_all),max(tn_all)],'','none','+','r',1,20,gca,1,NaN,NaN,fluctres.I.Itots*ones(1,length(fluctres.I.iItot)),fluctres.I.Itots*ones(1,length(fluctres.I.iItot)));
0067         %
0068         print_jd(p_opt,[id_simul,'_ILH_time'],path_simul,h);
0069     end
0070     %
0071     h = figure('Name','Time evolution LH power (fluctuation)');
0072     %
0073     if ~isscalar(fluctres.P.xPs), 
0074         graph1D_jd(fluctres.P.tnP_all,fluctres.P.tP_all,0,0,'t*\nu_{coll}','P_{lh} (MW)',['P_{tot} = ',num2str(fluctres.P.Ptotm),'\pm',num2str(fluctres.P.Ptots),' (MW)'],NaN,'','','-','none','b',1,20,gca,1,NaN);
0075         graph1D_jd(tn,fluctres.P.tP,0,0,'t*\nu_{coll}','P_{lh} (MW)',['P_{tot} = ',num2str(fluctres.P.Ptotm),'\pm',num2str(fluctres.P.Ptots),' (MW)'],NaN,[min(tn),max(tn)],'','-','none','b',2,20,gca,1,NaN);
0076         graph1D_jd(tn(fluctres.P.iPtot),fluctres.P.tP(fluctres.P.iPtot),0,0,'t\nu_{coll}','P_{lh} (MW)',['P_{tot} = ',num2str(fluctres.P.Ptotm),'\pm',num2str(fluctres.P.Ptots),' (MW)'],NaN,[min(tn),max(tn)],'','+','none','b',2,20,gca,1,NaN,NaN);
0077         graph1D_jd(tn,fluctres.P.Ptotm*ones(1,length(tn)),0,0,'t\nu_{coll}','P_{lh} (MW)',['P_{tot} = ',num2str(fluctres.P.Ptotm),'\pm',num2str(fluctres.P.Ptots),' (MW)'],NaN,[min(tn),max(tn)],'','--','none','b',1,20,gca,1,NaN);
0078         graph1D_jd(tn(fluctres.P.iPtot),fluctres.P.Ptotm*ones(1,length(fluctres.P.iPtot)),0,0,'t\nu_{coll}','P_{lh} (MW)',['P_{tot} = ',num2str(fluctres.P.Ptotm),'\pm',num2str(fluctres.P.Ptots),' (MW)'],NaN,[min(tn_all),max(tn_all)],'','none','+','b',1,20,gca,1,NaN,NaN,fluctres.P.Ptots*ones(1,length(fluctres.P.iPtot)),fluctres.P.Ptots*ones(1,length(fluctres.P.iPtot)));
0079         %
0080         print_jd(p_opt,[id_simul,'_PLH_time'],path_simul,h);
0081     end
0082     %
0083     h = figure('Name','Mean co-current profile (fluctuation)');
0084     %
0085     if isscalar(fluctres.I.xJs), 
0086         graph1D_jd(equilDKE.xrho,fluctres.I.xJm*fluctres.I.scocurr,0,0,'\rho','J_{lh} co-current (MA/m^2)',['I_{lh} (co-current) = ',num2str(fluctres.I.Itotm*fluctres.I.scocurr),'\pm',num2str(abs(fluctres.I.Itots)*fluctres.I.scocurr),' (MA)'],NaN,'','','-','none','r',2,20,gca,1,NaN,NaN);
0087     else
0088         graph1D_jd(equilDKE.xrho,fluctres.I.xJm*fluctres.I.scocurr,0,0,'\rho','J_{lh} co-current (MA/m^2)',['I_{lh} (co-current) = ',num2str(fluctres.I.Itotm*fluctres.I.scocurr),'\pm',num2str(abs(fluctres.I.Itots)*fluctres.I.scocurr),' (MA)'],NaN,'','','-','none','r',2,20,gca,1,NaN,NaN,fluctres.I.xJs*fluctres.I.scocurr,fluctres.I.xJs*fluctres.I.scocurr);
0089     end
0090     legend(['\Deltat*\nu_{coll} = [',num2str(min(tn)),',',num2str(max(tn)),']'])
0091     %
0092     print_jd(p_opt,[id_simul,'_jcocurr_LH_profile'],path_simul);
0093     %
0094     h = figure('Name','Mean LH power absorption profile (fluctuation)');
0095     %
0096     if isscalar(fluctres.P.xPs),
0097         graph1D_jd(equilDKE.xrho,fluctres.P.xPm,0,0,'\rho','P_{tot} (MW/m^3)',['P_{tot} = ',num2str(fluctres.P.Ptotm),'\pm',num2str(fluctres.P.Ptots),' (MW)'],NaN,'','','-','none','b',2,20,gca,1,NaN,NaN);
0098     else
0099         graph1D_jd(equilDKE.xrho,fluctres.P.xPm,0,0,'\rho','P_{tot} (MW/m^3)',['P_{tot} = ',num2str(fluctres.P.Ptotm),'\pm',num2str(fluctres.P.Ptots),' (MW)'],NaN,'','','-','none','b',2,20,gca,1,NaN,NaN,fluctres.P.xPs,fluctres.P.xPs);
0100     end
0101     legend(['\Deltat*\nu_{coll} = [',num2str(min(tn)),',',num2str(max(tn)),']'])
0102     %
0103     print_jd(p_opt,[id_simul,'_p_LH_profile'],path_simul,h);
0104     %
0105 else
0106     h = figure('Name','Co-current profile (no fluctuation)');
0107     %
0108     I_tot = sum(Zcurr.x_0_fsav.*equilDKE.xdA_dke*mksa.j_ref);
0109     graph1D_jd(equilDKE.xrho,Zcurr.x_0_fsav*mksa.j_ref,0,0,'\rho','J_{tot} (MA/m^2)',['Tore Supra,I_{tot} = ',num2str(I_tot),' (MA)'],NaN,'','','-','none','r',2);drawnow
0110     %
0111     print_jd(p_opt,[id_simul,'_jcocurr_LH_profile'],path_simul);
0112     %
0113     h = figure('Name','LH power absorption profile (no fluctuation)');
0114     %
0115     PLH_tot = sum(ZP0.x_rf_fsav.*equilDKE.xdV_2piRp_dke(:)*mksa.P_ref*2*pi*equilDKE.Rp);
0116     graph1D_jd(equilDKE.xrho,ZP0.x_rf_fsav*mksa.P_ref,0,0,'\rho','P_{LH} (MW/m^3)',['Tore Supra,P_{LH} = ',num2str(PLH_tot),' (MW)'],NaN,'','','-','none','r',2);drawnow
0117     %
0118     print_jd(p_opt,[id_simul,'_p_LH_profile'],path_simul,h);  
0119 end
0120

Community support and wiki are available on Redmine. Last update: 18-Apr-2019.