frundke_fluctn

PURPOSE ^

SYNOPSIS ^

function frundke_fluctn(lukestructs,dkepath,opt_save,p_opt,path_simul,dtn,tn,Nfluct,sigmar_max,sigmar_hwhm)

DESCRIPTION ^

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function frundke_fluctn(lukestructs,dkepath,opt_save,p_opt,path_simul,dtn,tn,Nfluct,sigmar_max,sigmar_hwhm)
0002 %
0003 id_simul = lukestructs.id_simul;
0004 dkeparam = lukestructs.dkeparam;
0005 equil = lukestructs.equil;
0006 %
0007 % in this scan, the imaginary part of tn specifies the number of iterations if Nfluct = 1
0008 % - dkeparam.tn is adjusted to have final time constant
0009 % - dkeparam.dtn is adjusted to have internal time step constant
0010 if imag(tn) > 0,
0011     dkeparam.tn = tn/Nfluct;% as an imaginary number, dkeparam.tn prescribes the number of fluctuation iterations
0012 else % in this scan, a real tn specifies the final time explicitly
0013     dkeparam.tn = tn;% as an imaginary number, dkeparam.tn prescribes the number of fluctuation iterations
0014 end
0015 if imag(dtn) > 0,
0016     dkeparam.dtn = dtn*Nfluct;% internal LUKE time step. As an imaginary number, dkeparam.dtn prescribes the number of internal time steps
0017 else % in this scan, a real tn specifies the final time explicitly
0018     dkeparam.dtn = dtn;% internal LUKE time step. As an imaginary number, dkeparam.dtn prescribes the number of internal time steps
0019 end
0020 %
0021 dkeparam.Nfluct = Nfluct;% Ratio of the LUKE evolution time (phase refresh) to the fluctuation time - also equal to the number of duplicated rays
0022 equil.fluct.ne.sigmar_max = sigmar_max;% Maximum value of the relative fluctuations variance at the poloidal angle theta = 0 [1,nfluct_types]
0023 equil.fluct.ne.sigmar_hwhm = sigmar_hwhm;%Radial half width at half maximum of the relative fluctuations variance at the poloidal angle theta = 0 [1,nfluct_types]
0024 %
0025 id_simul = [id_simul,'_sigma',num2str(sigmar_max),'_delta',num2str(sigmar_hwhm),'_dtn',num2str(dtn),'_Nfluct',num2str(Nfluct)];
0026 id_simul(id_simul == '.') = 'p';
0027 id_simul(id_simul == '+') = 'p';
0028 %
0029 lukestructs = rmfield(lukestructs,'id_simul');
0030 lukestructs.simul.id = id_simul;
0031 lukestructs.simul.path = path_simul;
0032 lukestructs.equil = equil;
0033 lukestructs.dkeparam = dkeparam;
0034 lukestructs.opt.save = 1;% to save result in file
0035 lukestructs.opt.backup = opt_save;% backup option with fluctuations
0036 lukestructs.opt.waves = 1;% save wave results with fluctuations
0037 %
0038 dkepath = setpath_luke_jd(dkepath,NaN,0);1
0039 nrem = length(dkepath.remote);
0040 remlist = input_dke_yp('Please identify profiles to be used.',1:nrem,[1;nrem]);
0041 remnum = 1;
0042 dkepath.clustermode.run_lukert.scheduler.remnum = remlist(remnum);
0043 
0044 
0045 run_lukert(lukestructs,dkepath);
0046 %

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