rundke_metis_wave

PURPOSE ^

SYNOPSIS ^

function rundke_metis_wave(basestr,shotnum,shotimes,locpath_simul,locid_simul,launch,dkeparam,dkedisplay,equil,ohm,transpfaste_in,fitparam,rayparam,waveparam,C3POdisplay,C3POparam)

DESCRIPTION ^

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function rundke_metis_wave(basestr,shotnum,shotimes,locpath_simul,locid_simul,launch,dkeparam,dkedisplay,equil,ohm,transpfaste_in,fitparam,rayparam,waveparam,C3POdisplay,C3POparam)
0002 %
0003 if ~iscell(locpath_simul),
0004     path_simul = [basestr,filesep,shotnum,filesep,locpath_simul];% Simulation path (leave empty for current path)
0005 else
0006     if length(locpath_simul) == 2,
0007         path_simul = [locpath_simul{1},basestr,filesep,shotnum,filesep,locpath_simul{2}];% Simulation path (leave empty for current path)
0008     else
0009         path_simul = locpath_simul{1};
0010     end
0011 end    
0012 %
0013 % -------------------------------------------------------------------------
0014 %
0015 [dkepath,rtparam] = load_structures_yp('dkepath','','','rtparam','LH','');
0016 %
0017 % ====================================================
0018 %
0019 fitparam = conc_struct_jd(rtparam.fitparam,fitparam);
0020 rayparam = conc_struct_jd(rtparam.rayparam,rayparam);
0021 waveparam = conc_struct_jd(rtparam.waveparam,waveparam);
0022 C3POdisplay = conc_struct_jd(rtparam.C3POdisplay,C3POdisplay);
0023 C3POparam = conc_struct_jd(rtparam.C3POparam,C3POparam);
0024 %
0025 wavestruct.launch = launch;
0026 wavestruct.wavesolver = 'C3PO';
0027 if isfield(wavestruct.launch,'id'),
0028     wavestruct.id = [wavestruct.wavesolver,'_',wavestruct.launch.id];
0029 end
0030 wavestruct.waveparam = waveparam;
0031 wavestruct.fitequilparam = fitparam;
0032 wavestruct.rayparam = rayparam;
0033 wavestruct.C3POparam = C3POparam;
0034 wavestruct.raydisplay = C3POdisplay;
0035 %
0036 % backup & save options
0037 %
0038 opt.save = 1;% (1): save LUKE_RESULTS or return error (0): return results or error
0039 opt.fields = NaN;% selected fields in returned lukestructs. Use NaN for all fields
0040 opt.backup = 0;% (1) save fluctuation time steps (0) do not save
0041 opt.waves = 0;% (1) save waves at each time step (0) do not save
0042 %
0043 % ---- RADIAL TRANSPORT ----
0044 %
0045 if transpfaste_in.Dr0 > 0,
0046     %
0047     % initialization
0048     %
0049     transpfaste.Dr0 = 0;%Core radial diffusion coefficient (m/s)
0050     transpfaste.pDr = 0;%Coefficient for the Dr radial profile
0051     transpfaste.Dr_model = 0;%Radial diffusion type: (0) no vpar dependence, (1) magnetic turbulence model (vpar/vth), (2) Energy dependence
0052     transpfaste.Vr0 = 0;%Core radial pinch coefficient (m/s)
0053     transpfaste.pVr = 0;%Coefficient for the Vr radial profile
0054     transpfaste.Vr_model = 0;%Radial pinch type: (0) no vpar dependence, (1) magnetic turbulence model (vpar/vth), (2) Energy dependence
0055     transpfaste.vparmin = 3.5;%Lower limit of the parallel velocity dependence of the radial diffusion and pinch (vth_ref or vth)
0056     transpfaste.norm_ref = 1;%Normalization procedure for the lower limit of the parallel velocity dependence of the radial diffusion and pinch: (0) from local values Te and ne, (1) from reference values Te_ref and ne_ref
0057     %
0058     transpfaste = conc_struct_jd(transpfaste,transpfaste_in);
0059     %
0060     transpfaste.id = ['TR_',num2str(transpfaste.Dr_model),'_Dr0_',num2str(transpfaste.Dr0),'_pDr_',num2str(transpfaste.pDr)];
0061 else
0062     transpfaste = struct;
0063 end
0064 %
0065 % ====================================================
0066 %
0067 % start rundke_metis function
0068 %
0069 rundke_metis(path_simul,locid_simul,basestr,shotnum,shotimes,opt,dkepath,{wavestruct},equil,dkeparam,dkedisplay,ohm,transpfaste)
0070 %

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