structinfo_yp

PURPOSE ^

SYNOPSIS ^

function [info,expert,values] = structinfo_yp(struct,field)

DESCRIPTION ^

 This function paste up to date informations for a field of any defined structure or sub-structure used by C3PO/LUKE.

 by Y. Peysson (DRFC/DSM/CEA) <yves.peysson@cea.fr> and J. Decker (DRFC/DSM/CEA) <joan.decker@cea.fr>

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [info,expert,values] = structinfo_yp(struct,field)
0002 %
0003 % This function paste up to date informations for a field of any defined structure or sub-structure used by C3PO/LUKE.
0004 %
0005 % by Y. Peysson (DRFC/DSM/CEA) <yves.peysson@cea.fr> and J. Decker (DRFC/DSM/CEA) <joan.decker@cea.fr>
0006 %
0007 info = '';
0008 expert = 1;
0009 values = [];
0010 %
0011 switch struct
0012     case 'dkeparam',
0013         %
0014         switch field
0015             %
0016             case 'id',expert = 0;values = '';info = 'Provide an id for this structure';
0017             case 'grid_uniformity',expert = 1;values = -1:1;info = 'Pitch-angle and momentum grids uniformity: (0) no, (1) yes (-1 for specific test for DKE, transient and pitch-angle grid only)';
0018             case 'grid_method',expert = 1;values = [0,1];info = 'Pitch-angle grid calculation technique: (0): old method, (1) new method';
0019             case 'nmhu_S',expert = 0;values = 11:10:401;info = 'Number of angular values for the flux grid (WARNING: odd number) (>100 recommended for accurate run)';
0020             case 'np_S',expert = 0;values = 11:10:401;info = 'Number of momentum values for the flux grid (pnmax/np < 0.1 highly recommended for accurate run) WARNING: must be adjusted so that effective momentum point number is larger than thepitch-angle one.';
0021             case 'pnmax_S',expert = 0;values = [-Inf;Inf];info = 'Maximum value of the flux momentum grid (pth_ref)';
0022             case 'rho_S',expert = 0;values = [0;Inf];info = 'Grid points or number of points for radial grid calculation (r/a on horizontal outboard midplane)';
0023             case 'psin_S',expert = 0;values = [0;Inf];info = 'Grid points or number of points for radial grid calculation (normalized poloidal flux)';
0024             case 'sfac0',expert = 1;values = 1:10;info = 'Reduction factor for fine grid near mhu = 0';
0025             case 'sfac1',expert = 1;values = 1:10;info = 'Reduction factor for fine grid near abs(mhu) = 1';
0026             case 'sfact',expert = 1;values = 1:10;info = 'Reduction factor for fine grid near abs(mhu) = mhut';
0027             case 'snmhu0',expert = 1;values = 1:5;info = 'Number of fine grid points near mhu = 0';
0028             case 'snmhu1',expert = 1;values = 1:5;info = 'Number of fine grid points near abs(mhu) = 1';
0029             case 'snmhut',expert = 1;values = 1:5;info = 'Number of fine grid points near abs(mhu) = mhut';
0030             case 'grid_power',expert = 1;values = [1;Inf];info = 'Power for mhu grid step varations (grid_power > 1) (Note: for grid_method = 1 only)';
0031             case 'np_S_ref',expert = 1;values = 2:2:100;info = 'Position in the momentum grid where dpn_S is twice the minimum value (must be ajusted with snp parameter)';
0032             case 'snp',expert = 1;values = [1;Inf];info = 'pgridfactor (Uniform grid: pgridfactor = 1, non-uniform grid: pgridfactor > 1) ';
0033             case 'spfac',expert = 1;values = [1;Inf];info = 'Reduction factor for the momentum supergrid used in collision integrals';
0034             case 'dpsin_dke',expert = 1;values = [0;1];info = 'maximum difference between two consecutive positions used for radial derivatives';
0035             case 'ref_mode',expert = 1;values = [0,1];info = 'Reference values: (0) from core Te and ne, (1) from Te and ne at the normalized radius (paramater only active for a single radial value, otherwise ref_mode = 0)';
0036             case 'coll_mode',expert = 0;values = 0:4;info = '%Relativistic collision operator: (0) Relativistic Maxwellian background, (1) High-velocity limit, (2) Linearized Belaiev-Budker (3) Non-relativistic Lorentz model, (4) Non-relativistic Maxwellian background';
0037             case 'rt_mode',expert = 0;values = 0:5;info = 'RT-DKE power consistency';
0038             case 'abs_lim',expert = 0;values = [0;1];info = 'Relative level of RF power absorption that is accpeted for in the quasilinear convergence loop (0: no threshold, 1: full absorption)';
0039             case 'nit_rf',expert = 0;values = [1,5:5:100];info = 'Maximum number of iteration in ray-tracing. Works only if rt_mode = 1 and more than one radial point (default = 1)';
0040             case 'prec_rf',expert = 1;values = [0;1];info = 'Relative precision in RT-DKE iterations';
0041             case 'n_rf_list',expert = 0;values = [0;Inf];info = 'List of harmonics in the Dql calculations';
0042             case 'delta_rt',expert = 1;values = [0;1];info = 'Smoothering parameter of quasilinear iterations';
0043             case 'Dparparmax',expert = 1;values = [0;Inf];info = 'Upper limit of the quasilinear diffusion coefficient. Important for low temperature plasmas et high power level for stability of the code';
0044             case 'npresmin',expert = 1;values = 0:10;info = 'Minimum number of resonant points for each ray and position';
0045             case 'nit_ohm',expert = 0;values = 0:40;info = 'max number of iterations to converge on the current prescription (nit_ohm > 1). If nit_ohm == 1, frozen current mode is off';
0046             case 'tol_ohm',expert = 1;values = [0;1];info = 'tolerance for converge on the current prescription (nit_ohm > 1)';
0047             case 'efield_ohm',expert = 1;values = [-Inf;Inf];info = '[V/m] initial (uniform) efield guess for convergence (nit_ohm > 1). Used if ohm is empty or any(ohm.epsi == 0)';
0048             case 'Itot_ohm',expert = 0;values = [-Inf;Inf];info = '[MA] scalar target for generated current (nit_ohm > 1). In this mode, the electric field is uniform';
0049             case 'Jtot_ohm',expert = 0;values = [-Inf;Inf];info = '[MA/m^2] target current profile (nit_ohm > 1).';
0050             case 'rho_ohm',expert = 0;values = [-Inf;Inf];info = '(LFS midplane x/a) corresponding rho grid';
0051             case 'bounce_mode',expert = 0;values = {true,false};info = 'Bounce averaging option: (0) no bounce averaging, (1) bounce averaging full implicit method with 15 diagonals';
0052             case 'dke_mode',expert = 1;values = {true,false};info = 'Fokker-Planck equation (0), Drift Kinetic equation (1)';
0053             case 'equil_mode',expert = 1;values = [0,1];info = 'Equilibrium option: (0) circular concentric flux-surfaces, (1) numerical equilibrium';
0054             case 'syn_mode',expert = 1;values = {true,false};info = 'Synergy calculation: (0) none, (1) yes: the code runs twice, including once without RF or electric fields. (only if dke_mode = 1)';
0055             case 'norm_mode_f',expert = 0;values = 0:2;info = 'Local normalization of f0 at each iteration: (0) none (1) with respect to ref density (2) with respect to init density (+1i) adjust for boundary losses and gains';
0056             case 'boundary_mode_f',expert = 0;values = 0:5;info = 'Number of points where the Maxwellian distribution is enforced from p = 0 (p=0, free conservative mode but param_inv(1) must be less than 1e-4, otherwise 1e-3 is OK most of the time. Sensitive to the number of points in p)';
0057             case 'prec0_f',expert = 0;values = [0;1];info = 'Convergence level of the residu';
0058             case 'nit_f',expert = 0;values = [1;Inf];info = 'Maximum number of iterations for f (> 1)';
0059             case 'initguess_f',expert = 1;values = 0:2;info = 'Initial guess for the distribution function: (0) Maxwellian, (1) Fuchs model with Tperp for LH current drive only, (2) from a file';
0060             case 'initfile_f',expert = 1;values = '';info = 'If initguess_f = 2. The file must be in the working directory';
0061             case 'boundary_mode_g',expert = 1;values = 0:5;info = 'Number of points where the first distribution function for the Lorentz model is enforced from p = 0 (p=0, free conservative mode but param_inv(1) must be less than 1e-4, otherwise 1e-3 is OK most of the time. Sensitive to the number of points in p)';
0062             case 'prec0_g',expert = 1;values = [0;1];info = 'Convergence level of the residu (if NaN, iterations stop with nit_g)';
0063             case 'nit_g',expert = 1;values = [1;Inf];info = 'Maximum number of iterations for g';
0064             case 'dtn',expert = 0;values = [0;Inf];info = 'Integration time step (1/nhuth_ref) (dtn > 0: fully implicit time differencing scheme , dtn < 0: Crank-Nicholson time differencing scheme) (WARNING: dtn less than 1 when fast electron radial transport is considered)';
0065             case 'opsplit',expert = 1;values = {true,false};info = 'Operator splitting between momentum and radial dynamics (for tests only) (opsplit = 0: no operator splitting , opsplit = 1: operator splitting). If this field does not exist, it is equivalent to dkeparam.opsplit = 0.';
0066             case 'invproc',expert = 0;values = -4:3;info = 'Iterative matrix inversion methods:\n(3) Matlab built-in qmr iterative method (MatLab built-in partial LU factorization used)\n(2) Matlab built-in bicg iterative method (MatLab built-in partial LU factorization used)\n (1) Matlab built-in cgs iterative method (MatLab built-in partial LU factorizsation used)\n(0) Matlab built-in direct inversion without any LU factorization (NOT RECOMMANDED !)\n(-1): MUMPS parallel (or sequential) fortran 95 direct inversion (LU matrix factorization done for each time a matrix inversion is called)\n(-2): MUMPSMEX sequential fortran 95 inversion using MUMPS LU matrix factorization\n(-3): SUPERLUMEX sequential direct matrix inversion (LU matrix factorization done for each time a matrix inversion is called)\n(-30) PETSc interface (see data structure below)';
0067             case 'ludroptol',expert = 1;values = [0;1];info = 'Drop tolerance for the built-in MatLab partial LU decomposition (recipes: droptol = max(1/dtn/nr,param_inv(1)))';
0068             case 'mlmaxitinv',expert = 1;values = 1:20;info = 'Maximum number of iterations for iterative built-in MatLab matrix inversion method (between 1 and 20 usualy, if empty, mlmaxitinv = min(matrixdim,20). See matlab documentation.';
0069             case 'mlprecinv',expert = 1;values = [0;1];info = 'Accuracy for the MatLab build-in matrix inversion.';
0070             case 'MUMPSparam',expert = 1;info = 'MUMPS matrix solver';
0071             case 'PETScparam',expert = 1;info = 'PETSc matrix solver';
0072             case 'store_mode',expert = 1;values = {true,false};info = 'Temporary storing option for sparse matrices calculations (in RAM: 0, in disk file 1) when memory space is tight';
0073             case 'opt_load',expert = 1;values = {true,false};info = 'Load intermediate calculations';
0074             case 'opt_save',expert = 1;values = {true,false};info = 'Save intermediate calculations';
0075             case 'clustermode',expert = 0;info = 'Distributed calculation parameters';
0076             otherwise,
0077             %
0078         end 
0079         %
0080     case 'MUMPSparam',
0081         %
0082         switch field
0083             %
0084             case 'nproc',expert = 0;info = 'Number of processor used by MUMPS solver (depends of the computer framework). Default is 1';
0085             case 'thresholdpivoting',expert = 1;info = 'Relative threshold for numerical pivoting in the MUMPS partial LU decomposition (default MUMPS = 1e-2: NaN or empty or field not existing). Increasing this parameter will reduce sparcity. Less than 1.';
0086             case 'precinv',expert = 1;info = 'Accuracy for the MUMPS matrix inversion.(default MUMPS: NaN or empty or field not existing). Only for the solve phase.';
0087             otherwise,
0088             %
0089         end
0090         %
0091     case 'PETScparam',
0092         %
0093         switch field 
0094             %
0095             case 'nproc',expert = 0;info = 'Number of processors used by PETSc (depends of the computer framework). Default is 1';
0096             case 'matrixtype',expert = 1;info = 'Matrix type used by PETSc. For SUPERLU use ''-matload_type superlu_dist'' otherwise '' ''. See PETSc documentation';
0097             case 'kspmethod',expert = 1;info = 'KSP method used by PETSc. ''-ksp_type preonly'': no iteration, direct matrix solve. Otherwise ''-ksp_type bicg'' or ''-ksp_type bcgs''  for example. See PETSc documentation';
0098             case 'pcmethod',expert = 1;info = 'Preconditioning method used by PETSc. ''-pc_type lu'' for SUPERLU or ''-pc-type hypre'' for HYPRE.  See PETSc documentation';
0099             case 'cloop',expert = 0;info = 'First order collision selfconsistency is done internaly in C (1) or in MatLab (0)';
0100             otherwise,
0101             %
0102         end
0103         %
0104         %
0105     case 'rtparam',
0106         %
0107         switch field 
0108             case 'rayparam',expert = 0;info = 'ray parameters';
0109             case 'waveparam',expert = 0;info = 'wave parameters';
0110             case 'fitparam',expert = 0;info = 'interpolation parameters';
0111             case 'C3POparam',expert = 0;info = 'distributed computing parameters';
0112             case 'C3POdisplay',expert = 0;info = 'display parameters';
0113             otherwise,
0114         end
0115         %
0116     case 'rayparam',
0117         %
0118         switch field 
0119             case 'testmode',expert = 1;values = {true,false};info = 'test mode';
0120             case 'tensortype',expert = 0;values = 0:4;info = 'type of dielectric tensor (0:cold, 1:warm, 2:hot, 3:weakly relativistic, 4:fully relativistic)';
0121             case 't0',expert = 1;values = [0;Inf];info = 'initial time';
0122             case 'tfinal',expert = 1;values = [0;Inf];info = 'final time';
0123             case 'dt0',expert = 1;values = [0;Inf];info = 'initial time step';
0124             case 'dS',expert = 1;values = [0;Inf];info = 'minimum recorded ray length step';
0125             case 'tol',expert = 1;values = [0;Inf];info = 'tolerance on dispersion relation';
0126             case 'kmax',expert = 1;values = [0;Inf];info = 'maximum number of recorded steps';
0127             case 'ncyclharm',expert = 1;values = 0:50;info = 'number of cyclotron harmonics in kinetic dielectric tensor (only for tensortype > 1)';
0128             case 'reflection',expert = 0;values = -10:1;info = 'negative n: n reflections enforced on vessel; (1) reflection enforced on LCFS';
0129             case 'rel_opt',expert = 0;values = {true,false};info = '(0) non relativistic, or (1) relativistic absorption calculation';
0130             case 'nperp',expert = 1;values = 00:100:5000;info = 'number of pperp points in absorption calculation';
0131             case 'pperpmax',expert = 1;values = 1:20;info = 'maximum value of pperp in absorption calculation';
0132             case 'tau_lim',expert = 0;values = [0;Inf];info = 'value of optical depth for which absorption is considered complete';
0133             case 'kextra',expert = 0;values = 0:50:10000;info = 'optional additional number of recorded steps after tau_lim is reached';
0134             case 'colldamp',expert = 0;values = {1,0};info = '(0) no collisional damping, or (1) no collisional damping';
0135             otherwise,
0136         end
0137         %
0138     case 'fitparam',
0139         %
0140         switch field 
0141             case 'method',expert = 0;values = {'linear','nearest','spline','pchip','cubic'};info = 'Method for radial interpolation';
0142             case 'nharm',expert = 0;values = [0;Inf];info = 'Number of harmonics in the magnetic equilibrium interpolation (less than ntheta_equil/2)';
0143             case 'ngridresample',expert = 1;values = [0;Inf];info = 'Number of grid points for resampling the radial profile of magnetic equilibrium parameters';
0144             case 'opt_load',expert = 0;values = {true,false};info = 'Reload existing vectorial magnetic equilibrium (1) or overwrite it (0)';
0145             case 'mode_equil',expert = 1;values = [1,2];info = 'Magnetic equilibrium grid type: (1): (psi-theta), (2): (x-y)';
0146             otherwise,
0147         end
0148         %
0149     case 'clustermode',
0150         %
0151         switch field 
0152             case 'coll_dke_jd',expert = 0;info = 'Distributed calculation of collision operator';
0153             case 'eecoll_dke_yp',expert = 0;info = 'Distributed calculation of electron collision integrals';
0154             case 'wave_solver_yp',expert = 0;info = 'Distributed calculation of RF antennas';
0155             case 'rfdiff_dke_jd',expert = 0;info = 'Distributed calculation of quasilinear operator';
0156             otherwise,
0157         end
0158         %
0159     case 'coll_dke_jd',
0160         %
0161         switch field 
0162             case 'scheduler',expert = 0;info = 'Scheduler parameters for distributed calculation';
0163             otherwise,
0164         end
0165         %
0166     case 'eecoll_dke_yp',
0167         %
0168         switch field 
0169             case 'scheduler',expert = 0;info = 'Scheduler parameters for distributed calculation';
0170             otherwise,
0171         end
0172         %
0173     case 'wave_solver_yp',
0174         %
0175         switch field 
0176             case 'scheduler',expert = 0;info = 'Scheduler parameters for distributed calculation';
0177             otherwise,
0178         end
0179         %
0180     case 'rfdiff_dke_jd',
0181         %
0182         switch field 
0183             case 'scheduler',expert = 0;info = 'Scheduler parameters for distributed calculation';
0184             otherwise,
0185         end
0186         %
0187     case 'scheduler',
0188         %
0189         switch field 
0190             case 'mode',expert = 0;values = [-Inf;3];info = 'MatLab distributed computing environment disabled (0), enabled with the dedicated toolbox (1), enabled with a private method (2)';
0191             case 'memory',expert = 0;values = [0;Inf];info = 'Allocated memory (in mb)';
0192             case 'timeout',expert = 1;values = 50:50:500;info = 'MatLab distributed computing environment time out (s). after time out is reached, calculations are performed in a sequential mode on a single processor';
0193             case 'clustersize',expert = 0;values = [0;Inf];info = '%MatLab distributed computing environment cluster size. Can be Inf is all the processors of the cluster are free for distributed calculations';
0194             otherwise,
0195         end
0196         %
0197     case 'waveparam',
0198         %
0199         switch field 
0200             case 'mmode',expert = 0;values = [-1;1];info = 'Polarization : (1) m (-1) p, (slow/fast LH wave: -1/+1, O/X mode: -1/+1)';
0201             case 'kmode',expert = 0;values = [0,1];info = 'Plasma model for wave propagation : (0:cold, 1:kinetic)';
0202             case 'opt_rf',expert = 0;values = [0,1];info = 'FLR effects : (0:all, 1:small)';
0203             case 'dsmin',expert = 1;values = [0;Inf];info = 'Minimum length of ray fragments';
0204             case 'nd',expert = 0;values = 1:10;info = 'Number of transverse distance positions for beamlets';
0205             case 'nchi',expert = 0;values = 1:10;info = 'Number of angular positions for beamlets';
0206             case 'n_rf_list',expert = 0;values = [];info = 'List of cyclotron harmonics to consider in wave power deposition';
0207             case 'ns',expert = 1;values = 1:100;info = 'Ray smoothing parameter';
0208             otherwise,
0209         end
0210         %
0211     case 'launch',
0212         %
0213         switch field 
0214             case 'id',expert = 0;values = '';info = 'Provide an id for this launching structure';
0215             case 'omega_rf',expert = 0;values = [0;Inf];info = 'Wave angular frequency (rad/s)';
0216             case 'frequency_GHz',expert = 0;values =[0;Inf];info = 'Wave frequency (GHz)';
0217             % LH
0218             case 'LFS',expert = 1;values = [-1,1];info = 'Launching side : (-1) high field side, (1) low field side';
0219             case 'm0',expert = 1;values = [-Inf;Inf];info = 'Initial poloidal mode number (enter ''NaN'' to use toroidal mode number)';
0220             case 'n0',expert = 1;values = [-Inf;Inf];info = 'Initial toroidal mode number (enter ''NaN'' to use poloidal mode number)';
0221             case 'phi0',expert = 1;values = [-pi;pi];info = 'Initial toroidal angle (in rad.)';
0222             case 'phi0_deg',expert = 1;values = [-180;180];info = 'Initial toroidal angle (in deg.)';
0223             case 'bPlhtot',expert = 0;values = [0;Inf];info = 'Initial power in each lobe (W)';
0224             case 'bPlhtot_MW',expert = 0;values = [0;Inf];info = 'Initial power in each lobe (MW)';
0225             case 'bNpar0',expert = 0;values = [-Inf;Inf];info = 'Initial Npar in each lobe';
0226             case 'bNy',expert = 0;values = [-Inf;Inf];info = 'Initial Ny in each lobe';
0227             case 'bNz',expert = 0;values = [-Inf;Inf];info = 'Initial Nz in each lobe';
0228             case 'bdNpar0',expert = 0;values = [0;Inf];info = 'Spectral width in each lobe : specify fixed value, or type ''0'' if minimum width within numerical constraints';
0229             case 'rZ0',expert = 0;values = [-Inf;Inf];info = 'Vertical launching positions (m)';
0230             case 'nrZ0',expert = 0;values = 1:12;info = 'Number of vertical launching positions (m)';
0231             case 'module',expert = 0;values = {'upper','lower','full antenna'};info = 'Launcher module';
0232             case 'tail',expert = 0;info = 'Tail model parameters (m)';
0233             % EC
0234             case 'yP_L',expert = 0;values = [0;Inf];info = 'Ray initial power (W)';
0235             case 'yP_L_kW',expert = 0;values = [0;Inf];info = 'Ray initial power (kW)';
0236             case 'yR_L',expert = 0;values = [0;Inf];info = 'Ray initial major radius (m)';
0237             case 'yZ_L',expert = 0;values = [-Inf;Inf];info = 'Ray initial vertical position (m)';
0238             case 'yphi_L',expert = 0;values = [-pi;pi];info = 'Ray initial toroidal position (in rad.)';
0239             case 'yphi_L_deg',expert = 0;values = [-180;180];info = 'Ray initial toroidal position (in deg.)';
0240             case 'yalpha_L',expert = 0;values = [-pi;pi];info = 'Ray initial toroidal angle (with resp. to R) (in rad.)';
0241             case 'yalpha_L_deg',expert = 0;values = [-180;180];info = 'Ray initial toroidal angle (with resp. to R) (in deg.)';
0242             case 'ybeta_L',expert = 0;values = [0;pi];info = 'Ray initial poloidal angle (with resp. to Z) (in rad.)';
0243             case 'ybeta_L_deg',expert = 0;values = [0;180];info = 'Ray initial poloidal angle (with resp. to Z) (in deg.)';
0244             case 'w0',expert = 1;values = [0;Inf];info = 'Beam waist (m)';
0245             case 'z_L',expert = 1;values = [-Inf;Inf];info = 'Distance from last mirror to focal point (m)';            
0246             case 'dNpar0',expert = 1;values = [0;Inf];info = 'Beam dNpar : (0) minimal, (0->Inf) specify, (NaN) calculate from beam size';
0247             otherwise,
0248         end
0249         %
0250     case 'angles',
0251         %
0252         switch field 
0253             case 'id',expert = 0;values = '';info = 'Provide an id for this angles structure';
0254             case 'freq',expert = 0;values = [0;Inf];info = 'Wave frequency (Hz)';
0255             case 'frequency_GHz',expert = 0;values =[0;Inf];info = 'Wave frequency (GHz)';
0256             case 'P0',expert = 0;values = [0;Inf];info = 'Launched power (W)';
0257             case 'P0_kW',expert = 0;values = [0;Inf];info = 'Launched power (kW)';
0258             case 'theta',expert = 0;values = [-pi/2;pi/2];info = 'Launcher tilt angle (in rad.)';
0259             case 'theta_deg',expert = 0;values = [-90;90];info = 'Launcher tilt angle (in deg.)';
0260             case 'phi',expert = 0;values = [-pi;pi];info = 'Launcher rotation angle (in rad.)';
0261             case 'phi_deg',expert = 0;values = [-180;180];info = 'Launcher rotation angle (in deg.)';
0262             case 'w0',expert = 1;values = [0;Inf];info = 'Beam waist (m)';
0263             case 'z_L',expert = 1;values = [-Inf;Inf];info = 'Distance from last mirror to focal point (m)';
0264             case 'P1_R',expert = 1;values = [0;Inf];info = 'First mirror major radius (m)';
0265             case 'P1_Z',expert = 1;values = [-Inf;Inf];info = 'First mirror vertical position (m)';
0266             case 'P1_theta',expert = 1;values = [-pi/2;pi/2];info = 'First mirror angle (in rad.)';
0267             case 'P1_theta_deg',expert = 1;values = [-90;90];info = 'First mirror angle (in deg.)';
0268             case 'P2_R',expert = 1;values = [0;Inf];info = 'Second mirror major radius (m)';
0269             case 'P2_Z',expert = 1;values = [-Inf;Inf];info = 'Second mirror vertical position (m)';
0270             case 'P2_d',expert = 1;values = [0;Inf];info = 'Second mirror thickness (m)';
0271             case 'P3_Z',expert = 1;values = [-Inf;Inf];info = 'Third mirror vertical position (m)';
0272             otherwise,
0273         end
0274         %
0275     case 'tail',
0276         %
0277         switch field 
0278             case 'mode',expert = 0;values = 0:3;info = 'mode for tail spectrum : (0) no tail model, (1)  Gaussian, (2) Linear, (3) calc_tail_jd';
0279             case 'dtn',expert = 1;values = [0;Inf];info = 'statistical autocorrelation time (if dtn is Inf, no fluctuations)';
0280             case 'bfwhm',expert = 1;values =[0;Inf];info = 'Gaussian distribution for npar0';
0281             case 'bNparmax_tail',expert = 0;values =[0;Inf];info = 'maximum value of the high-n// tail (0) : 6.5/sqrt(Te0)';
0282             case 'bopt_tail',expert = 0;values = [0;1];info = 'real part : fraction of final power height. (1) linear tail power profile (+1i) : adjust dNpar0';
0283             case 'bh_tail',expert = 0;values = [0;1];info = 'fraction of final power height -> (1) linear tail power profile';
0284             case 'opt_dnpar0',expert = 0;values = {true,false};info = 'adjust dNpar0 (true) or not';
0285             case 'bn_tail',expert = 0;values = 0:100;info = 'number of peaks in the high-n// tail';
0286             case 'bP_tail',expert = 0;values = [0;1];info = 'fraction of power in the high-n// tail (NaN : main lobe follows tail power distribution)';
0287             otherwise,
0288         end
0289         %
0290     case 'transpfaste',
0291         %
0292         switch field 
0293             case 'id',expert = 0;values = '';info = 'Provide an id for this transpfaste structure';
0294             case 'Dr0',expert = 0;values = [0;Inf];info = 'Core radial diffusion coefficient (m^2/s)';
0295             case 'Dr_model',expert = 0;values = 0:2;info = 'Radial diffusion type: (0) no vpar dependence, (1) magnetic turbulence model (vpar/vth)';
0296             case 'pDr',expert = 0;values = [-Inf;Inf];info = 'Coefficient for the Dr radial profile';
0297             case 'Vr0',expert = 0;values = [-Inf;Inf];info = 'Core radial pinch coefficient (m/s)';
0298             case 'Vr_model',expert = 0;values = 0:2;info = 'Radial pinch type: (0) no vpar dependence, (1) magnetic turbulence model (vpar/vth)';
0299             case 'pVr',expert = 0;values = [-Inf;Inf];info = 'Coefficient for the Vr radial profile';
0300             case 'vparmin',expert = 0;values = [0;Inf];info = 'Lower limit of the parallel velocity dependence of the radial diffusion and pinch (vth_ref or vth)';
0301             case 'norm_ref',expert = 0;values = [0,1];info = 'Normalization procedure for the lower limit of radial transport parallel velocity dependence: (0) from local values Te and ne, (1) from reference values Te_ref and ne_ref';
0302             otherwise,
0303         end
0304         %
0305     case 'external',
0306         %
0307         switch field 
0308             case 'basestr',expert = 0;values = '';info = 'Name of the tokamak';
0309             case 'shotnum',expert = 0;values = [0;Inf];info = 'Shot number';
0310             case 'shotime',expert = 0;values = [0;Inf];info = 'Shot time (s)';
0311             case 't1',expert = 0;values = [0;Inf];info = 'Minimum time for data averaging (s)';
0312             case 't2',expert = 0;values = [0;Inf];info = 'Maximum time for data averaging (s)';
0313             otherwise,
0314         end        
0315         %
0316     case 'hxrparam',
0317         %
0318         switch field 
0319             case 'id',expert = 0;values = '';info = 'Provide an id for this hxrparam structure';
0320             case 'mfactor',expert = 1;values = 1:10;info = 'poloidal grid size factor for HXR equil';
0321             case 'method',expert = 1;values = {'linear','nearest','spline','pchip','cubic'};info = 'Method for radial interpolation';
0322             case 'ns',expert = 1;values = [0;Inf];info = 'Number of points to describe chord';
0323             case 'n_gauleg',expert = 0;values = 1:100;info = 'Number of Legendre polynomials for projections of cross-section and electron velocity distribution';
0324             case 'epsi_gauleg',expert = 1;values = [eps;1];info = '%Accuracy of the Legendre projection';
0325             case 'kmin',expert = 0;values = [0;Inf];info = 'Standard minimum value for Tph calculation (LH : 50; EC : 35)';
0326             case 'kmax',expert = 0;values = [0;Inf];info = 'Standard maximum value for Tph calculation (LH : 110; EC : 75)';
0327             case 'kphot',expert = 0;values = [0;Inf];info = 'Photon energy list for FEB calculations';
0328             otherwise,
0329         end
0330         %
0331         % -------------------------- AMR structures -----------------------
0332         %
0333     case 'AMRcfg',
0334         %
0335         switch field 
0336             case 'input',expert = 0;info = 'input structure';
0337             case 'output',expert = 0;info = 'output structure';
0338             case 'cluster',expert = 0;info = 'cluster structure';
0339             case 'ray_tracing',expert = 0;info = 'ray_tracing structure';
0340             case 'test_profiles',expert = 0;info = 'test_profiles structure';
0341             case 'profiles',expert = 0;info = 'profiles structure';
0342             case 'integration',expert = 0;info = 'integration structure';
0343             otherwise,
0344         end
0345         %
0346     case 'input',
0347         %
0348         switch field 
0349             case 'experiment',expert = 0;info = 'experiment name';
0350             case 'shot_number',expert = 0;info = 'shot number';
0351             case 'start_time',expert = 0;info = 'start time of the simulation';
0352             case 'end_time',expert = 0;info = 'end time of the simulation';
0353             case 'time_samples',expert = 0;info = 'no. of time steps';
0354             otherwise,
0355         end
0356         %
0357     case 'output',
0358         %
0359         switch field 
0360             case 'central_ray_only',expert = 0;info = 'calculate the central rays only';
0361             case 'luke',expert = 0;info = 'generate LUKE output';
0362             otherwise,
0363         end
0364         %
0365     case 'cluster',
0366         %
0367         switch field 
0368             case 'master_priority',expert = 0;info = 'priority of the master process, i.e. the program itself if run locally 0 = lowest (nice 19), 1 = medium (nice 10), 2 = standard (nice 0)';
0369             otherwise,
0370         end
0371         %
0372     case 'ray_tracing',
0373         %
0374         switch field 
0375             case 'Zeff',expert = 0;info = 'Zeff (constant)';
0376             case 'accuracy',expert = 0;info = 'Runge-Kutta accuracy';
0377             case 'power_limit',expert = 0;info = 'stopping power value (1-power_limit damped)';
0378             otherwise,
0379         end
0380          %
0381    case 'test_profiles',
0382         %
0383         switch field 
0384             case 'R_min',expert = 0;info = 'R_min';
0385             case 'R_max',expert = 0;info = 'R_max';
0386             case 'Z_min',expert = 0;info = 'Z_min';
0387             case 'Z_max',expert = 0;info = 'Z_max';
0388             case 'R_dim',expert = 0;info = 'R_dim';
0389             case 'Z_dim',expert = 0;info = 'Z_dim';
0390             otherwise,
0391         end
0392         %
0393     case 'profiles',
0394         %
0395         switch field 
0396             case 'input_type',expert = 0;info = 'equilibriuam and ne,Te profiles input type (matlab for LUKE)';
0397             case 'export',expert = 0;info = 'equilibriuam and ne,Te profiles input type (matlab for LUKE)';
0398             case 'export_nR',expert = 0;info = 'no. of datapoints in R';
0399             case 'export_nZ',expert = 0;info = 'no. of datapoints in Z';
0400             case 'export_npsi',expert = 0;info = 'no. of datapoints in psi';
0401             case 'extendProfilesDen',expert = 0;info = 'profiles extension behind the last data point';
0402             case 'extendProfilesTe',expert = 0;info = 'profiles extension behind the last data point';
0403             case 'extDataPoints',expert = 0;info = 'profiles extension behind the last data point';
0404             case 'LSOL_den',expert = 0;info = 'profiles extension behind the last data point';
0405             case 'LSOL_Te',expert = 0;info = 'profiles extension behind the last data point';
0406             case 'LSOL',expert = 0;info = 'SOL width, increase for low frequencies with mode conversion close to or out of LCFS';
0407             otherwise,
0408         end
0409         %
0410     case 'antenna',
0411         %
0412         switch field 
0413             case 'cfg_file',expert = 0;info = 'name of the antenna cfg file';
0414             case 'ids',expert = 0;info = 'name of the antenna cfg file';
0415             otherwise,
0416         end
0417          %
0418    case 'integration',
0419         %
0420         switch field 
0421             case 'R_min',expert = 0;info = 'min, max in R and r_eff for profiles (deposition, current) integration r_eff = a0*sqrt(psi_normalized)';
0422             case 'R_max',expert = 0;info = 'min, max in R and r_eff for profiles (deposition, current) integration r_eff = a0*sqrt(psi_normalized)';
0423             case 'r_eff_min',expert = 0;info = 'min, max in R and r_eff for profiles (deposition, current) integration r_eff = a0*sqrt(psi_normalized)';
0424             case 'r_eff_max',expert = 0;info = 'min, max in R and r_eff for profiles (deposition, current) integration r_eff = a0*sqrt(psi_normalized)';
0425             case 'tabdim',expert = 0;info = 'no. of datapoints';
0426             otherwise,
0427         end
0428         %
0429     case 'antennacfg',
0430         %
0431         switch field 
0432             case 'general',expert = 0;info = 'general';
0433             case 'antenna_0',expert = 0;info = 'antenna_0';
0434             otherwise,
0435         end
0436         %
0437     case 'general',
0438         %
0439         switch field 
0440             case 'noOfCircles',expert = 0;info = 'noOfCircles';
0441             case 'raysPerCircle',expert = 0;info = 'raysPerCircle';
0442             otherwise,
0443         end
0444         %
0445     case 'general',
0446         %
0447         switch field 
0448             case 'model',expert = 0;info = 'antenna model';
0449             case 'power',expert = 0;info = 'power in kW';
0450             case 'toroidal_angles',expert = 0;info = 'array of toroidal angles (single value for no angle scan)';
0451             case 'poloidal_angles',expert = 0;info = 'array of poloidal angles (single value for no angle scan)';
0452             case 'angles_E_equatorial',expert = 0;info = 'array of polarization angles (single value for no angle scan)';
0453             case 'popolarizationwer',expert = 0;info = 'select polarization(s) (linear | linear_complementary | circular)';
0454             case 'frequencies',expert = 0;info = 'array of frequencies';
0455             otherwise,
0456         end
0457         %
0458         % -------------------------- METIS coupling structures -----------------------
0459         %
0460     case 'lukeparam',
0461         %
0462         switch field 
0463             case 'luke_mode',expert = 0;values = 0:2;info = '(0) run LUKE, (1) run LUKE then save output (2) save input then exit';
0464             case 'batch_mode',expert = 0;values = 0:1;info = 'run LUKE in (0) interactive mode, (1) batch mode';                
0465             case 'display_mode',expert = 0;values = 0:2;info = '(0) none, (1) limited (2) full display';
0466             case 'rho_display',expert = 1;values = [0;1];info = 'radial position for display [0;1]';
0467             case 'dkeparam',expert = 1;info = 'LUKE run parameters';
0468             case 'equilparam',expert = 1;info = 'equilibrium parameters';
0469             case 'lhparam',expert = 0;info = 'LH parameters';
0470             case 'ecparam',expert = 0;info = 'EC parameters';
0471             case 'transpfaste',expert = 0;info = 'radial transport parameters';
0472             otherwise,
0473         end
0474     case 'equilparam',
0475         %
0476         switch field 
0477             case 'nbpx',expert = 0;values = [0,11:10:201];info = 'number of points in interpolated radial grid (enter 0 if no interpolation required)';
0478             case 'mode',expert = 0;values = {'standard','sqrt(psi)','psi'};info = 'interpolation mode : linear in "standard" (xli), "sqrt(psi)", or "psi"';                
0479             case 'expo',expert = 0;values = [-Inf;Inf];info = 'morphing function exponent';
0480             case 'comp',expert = 0;values = {true,false};info = 'control of equilibrium moments reconstructed from LUKE';
0481             otherwise,
0482         end
0483     case 'lhparam',
0484         %
0485         switch field 
0486             case 'freqlh',expert = 0;values = [0;Inf];info = 'Wave frequency (GHz)';
0487             case 'plh',expert = 0;values = [0;Inf];info = 'Wave initial power (W)';
0488             case 'npar0',expert = 0;values = [-Inf;Inf];info = 'Wave initial index of refraction';
0489             case 'mode',expert = 0;values = 0:2;info = 'LUKE LH mode : (0) simple v1, v2, D model, (1) C3PO with ideal antenna, (2) C3PO with prescribed antenna';
0490             case 'plhmin',expert = 1;values = [0;Inf];info = 'Minimum power level to use wave in LUKE (W)';
0491             case 'directivity',expert = 0;values = [0;1];info = 'Spectrum directivity';
0492             case 'lob',expert = 0;values = {true,false};info = 'Include opposite lobe';
0493             case 'dnpar0',expert = 1;values = [0;Inf];info = 'Wave initial spectral width';
0494             case 'z0',expert = 0;values = [-Inf;Inf];info = 'Vertical launching positions (m)';
0495             case 'm0',expert = 1;values = [-Inf;Inf];info = 'Initial poloidal mode number';
0496             case 'phi0',expert = 1;values = [-pi;pi];info = 'Initial toroidal angle (rad)';
0497             case 'i_ref',expert = 1;values = -10:0;info = 'Initial radial position index (relative from edge)';
0498             case 'LFS',expert = 1;values = [-1,1];info = 'Launching side : (-1) high field side, (1) low field side';
0499             case 'mmode',expert = 0;values = [-1,1];info = 'Polarization : (1) m (-1) p, (slow/fast LH wave: -1/+1, O/X mode: -1/+1)';
0500             case 'a_sdNpar',expert = 1;values = [0;Inf];info = 'Spectral broadening factor (m^-1)';
0501             case 'nparp',expert = 1;values = [-Inf;Inf];info = 'Initial additional upshift';
0502             otherwise,
0503         end
0504     case 'ecparam',
0505         %
0506         switch field 
0507             case 'freqec',expert = 0;values = [-Inf;Inf];info = 'Wave frequency (GHz); if negative integer = harmonic number, determined from alpha, xec and polec';
0508             case 'pec',expert = 0;values = [0;Inf];info = 'Wave initial power (W)';
0509             case 'alpha_L',expert = 0;values = [-pi;pi];info = 'Toroidal launching angle (degrees); if NaN, determined from freqec, xec and polec, or from option.sens if freqec=NaN';
0510             case 'mode',expert = 0;values = 0:2;info = 'LUKE LH mode : (0) simple v1, v2, D model, (1) C3PO with ideal antenna, (2) C3PO with prescribed antenna';
0511             case 'pecmin',expert = 1;values = [0;Inf];info = 'Minimum power level to use wave in LUKE (W)';
0512             case 'xec',expert = 0;values = [0;Inf];info = 'Radial location of ECRH deposition (normalized METIS grid)';
0513             case 'polec',expert = 0;values = [0;1];info = 'Poloidal location of ECRH deposition, (degrees); if NaN, determined from freqec, xec and alpha_L';
0514             case 'pabs',expert = 1;values = [0;Inf];info = 'momentum at absorption (for Doppler shift)';
0515             case 'dnpar0',expert = 1;values = [0;Inf];info = 'Wave initial spectral width';
0516             case 'phi0',expert = 1;values = [-pi;pi];info = 'Initial toroidal angle (rad)';
0517             case 'mmode',expert = 0;values = [-1,1];info = 'Polarization : (1) m (-1) p, (O/X mode: -1/+1)';
0518             case 'ns',expert = 1;values = 200:200:5000;info = 'Number of points for stright line calculations';
0519             case 'method',expert = 1;values = {'linear','nearest','spline','pchip'};info = 'Interpolation method';
0520             otherwise,
0521         end
0522     %
0523     %%%% MIKE fields %%%%
0524     %
0525     case 'simul',
0526         switch field
0527             case 'mhd', expert = 0; info = 'Structure for MHD_DATA source file';
0528             case 'opt', expert = 0; info = 'Options for the MIKE simulation';
0529             case 'param', expert = 0; info = 'Parameters for the MIKE simulation';
0530             case 'davies', expert = 1; info = 'Parameters for the Davies root finding method';
0531         end
0532     case 'mhd',
0533         switch field
0534             case 'path',expert = 0; values = ''; info = 'path to MHD_DATA file';
0535             case 'filename',expert = 0; values = ''; info = 'name of MHD_DATA file';
0536             case 'machine',expert = 1; values = ''; info = 'name of the tokamak for the simulation';
0537             case 'shot',expert = 1; values = [0;Inf]; info = 'shot number for the simulation';
0538             case 'time',expert = 1; values = [0;Inf]; info = 'time of the simulation';
0539             case 'defname',expert = 1; values = ''; info = 'default prefix for the MIKE simulation filename';
0540             case 'luke_simul',expert = 1; info = 'luke_simul struct of the associated LUKE simulation';
0541         end
0542     case 'opt',
0543         switch field
0544             case 'phmode',expert = 1; values = ''; info = 'Method for dWk calculation (kinetic & fluid, fast & thermal)';
0545             case 'intE',expert = 1; values = 1:2; info = 'Energy integral method (main distribution) \n(1) Zfunction \n(2) Logarithm';
0546             case 'pnmax',expert = 1;values = [0;Inf]; info = 'Maximum value for the momentum grid (NaN for value of LUKE simulation)';
0547             case 'T',expert = 1; values = {true,false}; info = 'Trapped particles only';
0548             case 'bounce',expert = 1; values = 0:1; info = 'Expression for bounce period \n(0) Zonca \n(1) White';
0549             case 'drift',expert = 1; values = 0:1; info = 'Expression for drift frequency \n(0) Zonca \n(1) White';
0550             case 'beta',expert = 1; values = 0:1; info = 'Expression for poloidal beta \n(0) White \n(1) Zonca';
0551             case 'inertia',expert = 1; values = 0:1; info = 'Convention for the inertia term \n(0) Chen \n(1) Zonca';
0552             case 'dWcInp',expert = 0; values = {true,false}; info = 'Enforced dWc';
0553             case 'resistive',expert = 1; values = 0:1; info = 'Inertia term \n(0) Ideal \n(1) Resistive';
0554             case 'mdce',expert = 1; values = 1:3; info = 'Distributed comuting mode \n(1) Sequential computing \n(2) Matlab routine \n(3) LUKE routine';
0555             case 'test',expert = 1; values = {true,false}; info = 'Test/Ideal case';
0556             case 'F',expert = 1; values = 1:6; info = 'Type of analytical distribution (test) \n(1) slowing down \n(2) Maxwellian distribution \n(3) bi-Maxwellian \n(4) BiMaxwellian + slowing-down \n(5) BiMaxwellian + maxwellian';
0557             case 'E',expert = 1; values = {true,false}; info = 'Analytical energy integration (test)';
0558             case 'mhu',expert = 1; values = {true,false}; info = 'Analytical pitch-angle integration (test)';
0559             case 'rho',expert = 1; values = {true,false}; info = 'Analytical radial integration (test)';
0560             case 'k',expert = 1; values = 1:3; info = '(1) constant lambda, (2) constant kappa, (3) constant mhu distribution';
0561             case 'C',expert = 1; values = {true,false}; info = 'Locally normalized distribution';
0562             case 'a',expert = 1; values = {true,false}; info = 'Approximate radial dependences';
0563             case 'b',expert = 1; values = {true,false}; info = 'Neglect the energy derivative term';
0564         end
0565     case 'phmode',
0566         switch field
0567             case 'dist',expert = 1; values = [-1;3]; info = 'Distribution chosen for calculation \n(1) fast -1->0, 0->myFEHM, 1->XFEH, 2->myFEHP, 3->XFM-XF0 \n(2) th e- -1->0, 0->myFE, 1->XFE, 2->XFM, \n(3) th ions -1->0, 0->myFI, 1->XFI';
0568             case 'dWk',expert = 1; values = [0;1]; info = 'Components for dWk\n (1) fast (2) th e- (3) th ions';
0569             case 'dWgp',expert = 1; values = [0;1]; info = 'Components for dWgp\n (1) fast (2) th e- (3) th ions';
0570         end
0571     case 'param',
0572         switch field
0573             case 'action',expert = 0; values = 1:8; info = 'Action for MIKE simulation \n(1) Calculation for given frequency \n(2) Frequency scan \n(3) Growth rate scan \n(4) 2D Scan \n(5) Root search \n(6) Parameter Scan \n(7) Hybrid Scan (frequency) \n(8) Hybrid Scan (growth rate)';
0574             case 'nTor',expert = 1; values = [0;Inf]; info = 'Toroidal mode number';
0575             case 'nh',expert = 1; values = [-Inf;Inf]; info = 'Fast particle fraction';
0576             case 'S',expert = 1; values = [0;Inf]; info = 'Conductivity factor (Inf) for ideal';
0577             case 'dWc',expert = 0; values = [-Inf;Inf]; info = 'Value of dWc when it is enforced';
0578             case 'nz',expert = 1; values = [0;Inf]; info = 'Number of points for energy calc-grid (NaN for no interpolation)';
0579             case 'nm',expert = 1; values = [0;Inf]; info = 'Number of points for pitch-angle calc-grid (NaN for no interpolation)';
0580             case 'ny',expert = 1; values = [0;Inf]; info = 'Number of points for radial calc-grid (NaN for no interpolation)';
0581             case 'q',expert = 0; values = 0:3; info = 'Shape of the q-profile \n(0) CRONOS profile \n(1) Parabolic \n(2) Inverted \n(3) Flat then parabolic';
0582             case 'qpar',expert = 0; values = [-Inf;Inf]; info = 'q-profile parameters \n qfac, qtrs, qmin, qmax, rhos, rhos1, rhos2';
0583             case 'romega',expert = 0; values = [-Inf;Inf]; info = 'Frequency values (kHz) \n(start,end,numpts)';
0584             case 'iomega',expert = 0; values = [-Inf;Inf]; info = 'Growth rate values (kHz) \n(start,end,numpts)';
0585             case 'ScanPar',expert = 0; values = {'dWc','nh','S','qfac','qtrs','qmin','qmax','rhos','rhos1','rhos2'}; info = 'Scan parameter';
0586             case 'parVal',expert = 0; values = [-Inf;Inf]; info = 'Scan parameter values \n(start,end,numpts)';
0587             case 'omega0',expert = 0; values = [-Inf;Inf]; info = 'Starting frequency for root search method (kHz)';
0588             case 'domega',expert = 0; values = [0;Inf]; info = 'Starting radius for root search method (kHz)';
0589             case 'np',expert = 1; values = [0;Inf]; info = 'Number of points for energy original-grid (test)';
0590             case 'nmhu',expert = 1; values = [0;Inf]; info = 'Number of points for pitch-angle original-grid (test)';
0591             case 'nrho',expert = 1; values = [0;Inf]; info = 'Number of points for radial original-grid (test)';
0592             case 'Rp',expert = 1; values = [0;Inf]; info = 'Major radius in meters (test)';
0593             case 'ap',expert = 1; values = [0;Inf]; info = 'Minor radius in meters (test)';
0594             case 'Bt',expert = 1; values = [0;Inf]; info = 'Toroidal magnetic field in teslas (test)';
0595             case 'qpar_t',expert = 1; values = [-Inf;Inf]; info = 'q-profile parameters (test) \n qfac, qtrs, qmin, qmax, rhos, rhos1, rhos2';
0596             case 'Emin',expert = 1; values = [0;Inf]; info = 'SD distribution : lower frequency (test)';
0597             case 'Emax',expert = 1; values = [0;Inf]; info = 'SD distribution : upper frequency (test)';
0598             case 'T',expert = 1; values = [0;Inf]; info = 'Maxwellian distribution : temperature in keV (test)';
0599             case 'Eref',expert = 1; values = [0;Inf]; info = 'Reference energy (test)';
0600             case 'nref',expert = 1; values = [0;Inf]; info = 'Reference density (test)';
0601             case 'mhu0s',expert = 1; values = [-1;1]; info = 'Pitch-angle (mhu), NaN for isotropic (test)';
0602             case 'dmhu',expert = 1; values = [0;Inf]; info = 'Width of pitch-angle distribution (test)';
0603         end
0604     case 'davies',
0605         switch field,
0606             case 'immin',expert = 1; values = [2;Inf]; info = 'minimun number of points (log2) for function evaluation';
0607             case 'immax',expert = 1; values = [3;Inf]; info = 'maximum number of points (log2) for function evaluation';
0608             case 'rapmax',expert = 1; values = [0;Inf]; info = 'tolerance for change in module between neighboring points';
0609             case 'phimax',expert = 1; values = [0;Inf]; info = 'tolerance for change in argument between neighboring points';
0610             case 'convlim',expert = 1; values = [0;Inf]; info = 'precision for root evaluation';
0611             case 'nconv',expert = 1; values = [0;Inf]; info = 'maximum number of iterations';
0612             case 'display_mode',expert = 1; values = [0:2]; info = 'display mode \n(0) only final result \n(1) each iteration results \n(2) all output';
0613         end
0614     case 'luke_simul',
0615         switch field,
0616             % TODO : imod_struct_jd always looks at info, expert, values in substructures
0617             case 'id', expert = 1; info = '';
0618             case 'timeid', expert = 1; info = '';
0619             case 'userid', expert = 1; values = ''; info = '';
0620             case 'LUKEversion', expert = 1; values = ''; info = '';
0621         end
0622    otherwise,
0623 end
0624 %
0625

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