List of inputs with their descriptions and default values.
- Note
- This page was automatically generated by script
generate_dox.py parsing src/readinput.F90.
Namelist /BASIC/
| Parameter | Type | Description | Default value |
job_time | Real | Time (in seconds) during which the simulation is run. The simulation is normally stopped when the first of job_time or nrun is reached. | 3600. |
extra_time | Real | Extra time (in seconds) given to ORB5 to conclude the run (write the output, restart files, etc). The simulation is stopped at job_time-extra_time. | 200. |
rfsavetime | Real | The code will save intermediate restart files each rfsavetime (in seconds). The intermediate restart files are stored in dat0 and dat1 alternatively to avoid data corruption. | 3600. |
nrun | Integer | Number of time steps to be run during the simulation | 10 |
dt | Real | Time step normalized to the ion gyro frequency, \(\Omega_i\) | 10. |
nl_res | Logical | TRUE if the run is a restart, FALSE if it is a new run. Note that to make a restart, you need the restart files, i.e. nl_save has to be set to TRUE for the previous simulation. | false |
nl_save | Logical | If set to TRUE, ORB5 will create restart files and if set to FALSE, it won''t. | true |
nsel_equil | Selector | Flag for equilibrium
-
'MHD': MHD equilibrium
-
'adhoc': Ad-hoc equilibrium
| 'MHD' |
nl_asym_equil | Logical | Use up/down asymmetry of equilibrium (affects in particular bcpart) | false |
nl_island | Logical | Use magnetic island structure | false |
record_path | String | Path for restart files | './dat' |
nl_linear | Logical | Flag for linear run | false |
s_push | Real | s <= s_push: pushing in (ksi,eta). s > s_push : pushing in (s,theta star) | 0.1 |
nl_beta | Logical | Use electron beta input value | false |
nsel_quasineutral | Selector | Modify background densities to impose quasi-neutrality
-
'free': No constraints
-
'set_ne': \(n_e = \sum Z_i * n_i\)
-
'set_n1': \(n_1 = (n_e - \sum_{i/=1} (Z_i * n_i))/Z_1\)
-
'set_nl': \(n_L = (n_e - \sum_{i/=L} (Z_L * n_L))/Z_1\)
| 'free' |
nl_load_fields | Logical | Flag for loading phi, apar | false |
nl_save_fields | Logical | Restart for saving phi, apar | false |
nl_freeze | Logical | Flag for frozen field simulation | false |
nl_verbose | Logical | If set to TRUE, ORB5 will be verbose in the standard output. | false |
nl_electron_positron_plasma | Logical | Electron positron plasma | false |
nsel_time_integrator | Selector | Time integrator
-
'rk4': Runge-Kutta of fourth order
-
'gl4': Gauss-Legendre symplectic integrator (requires full-f)
| 'rk4' |
navg_max | Integer | Maximum number of points for gyro-average | 32 |
nl_read_nTequil | Logical | Flag for reading the n,T profiles from the ogyropsi file (ongoing work) | false |
nTequil_flat | Real | To flatten the gradients after (typical value 0.85) | 0.85 |
nspecies | Integer | Number of species | 3 |
nl_test_ami | Logical | Perform A. Mishchenko''s tests | false |
nsel_normalize_density | Selector | Choose how density profiles are normalized
-
'annular': Density averaged over annulus
-
'full': Density averaged over full torus
-
'free': No constraints
-
'tae': Special case for TAE
| 'annular' |
physics_time_limit | Real | Time simulated (in units of \omega_ci) at which the simulation should terminate | -1. |
nsel_electron_values | Selector | Choose how to construct electron profile values
-
'orb5': Traditional construction
-
'lx_n': Uses lx for Te and n_speak for n
-
'lx_beta': Uses lx for Te and beta_speak for n
-
'T_n': Uses T_speak for Te and n_speak for n
-
'T_beta': Uses T_speak for Te and beta_speak for n
| 'orb5' |
nsel_ion_values | Selector | Choose how to construct ion profile values
-
'orb5': Traditional construction
-
'tau_fpart': Uses tau for T and f_part for n
-
'tau_n': Uses tau for T and n_speak for n
-
'T_n': Uses T_speak for T and n_speak for n
-
'T_fpart': Uses T_speak for T and f_part for n
| 'orb5' |
natts_iter | Integer | Number of larmor_pts attributes buffers (default 1) | 1 |
nl_read_hdf5_checkpoint | Logical | Whether to read checkpoint in hdf5 format | false |
nl_write_hdf5_checkpoint | Logical | Whether to write checkpoint in hdf5 format | false |
nl_read_write_checkpoint_and_exit | Logical | Whether to read/write checkpoint and then immediately exit | false |
Namelist /EQUIL/
| Parameter | Type | Description | Default value |
lx | Real | Horizontal size of plasma in Larmor units: 2/(rho^*) | 80. |
fname | String | Equilibrium file | 'ogyropsi.h5' |
nequ_r | Integer | Number of grid points in R | 360 |
nequ_z | Integer | Number of grid points in Z | 360 |
nequ_s | Integer | Number of grid points in S | 60 |
nequ_c | Integer | Number of grid points in CHI | 60 |
zrmag | Real | R magnetic axis [m] | 1.0 |
zzmag | Real | Z magnetic axis [m] | 0.0 |
r0_mid | Real | R0 center of plasma | 1.0 |
a_mid | Real | minor radius [m] | 0.2 |
btor0 | Real | B0 Magnetic field on axis [T] | 1.0 |
q0 | Real | q bar at center if nsel_q_profile == quadratic | 1.7527 |
qedge | Real | q bar at edge if nsel_q_profile == quadratic | 3.78 |
nsel_q_profile | Selector | q bar profile type
-
'interp': interpolated profile in $WKDIR/profiles/
-
'quadratic': q0+(qedge-q0)*s^2
-
'qcoef': Polynomial: Sum_{i=1..15} qcoef(i)*s^{i-1}
| 'interp' |
qcoef | Real array | q bar polynomial coefficients | 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 |
beta | Real | beta value if nl_beta | 0.0 |
L_Debye | Real | Debye Length (no effect in the code) | 0.0 |
nl_itm_loadequil | Logical | Use ITM CPO for equilibrium | false |
itm_run | Integer | ITM run number | 1 |
itm_shot | Integer | ITM shot number | 1 |
prof_file | String | Profile file if nsel_profile==NSEL_INTERP_TRANSP | 'profiles.h5' |
nl_chease_norm | Logical | Remove extra factor of 2pi in PSI (and derived quantities) from CHEASE equilbrium in fname | false |
nl_ubulk | Logical | Include equilibrium current | false |
Namelist /FIELDS/
| Parameter | Type | Description | Default value |
ns | Integer | Number of grid intervals in the radial direction | 64 |
nchi | Integer | Number of grid intervals in the poloidal direction | 128 |
nphi | Integer | Number of grid intervals in the toroidal direction | 64 |
nidbas | Integer | Order of splines | 3 |
mfilt1 | Integer | Smallest poloidal mode number if nsel_filter is mn or mn_only_full | -2000 |
mfilt2 | Integer | Largest poloidal mode number if nsel_filter is mn or mn_only_full | 2000 |
nfilt1 | Integer | Smallest toroidal mode number | 0 |
nfilt2 | Integer | Largest toroidal mode number | 8 |
filtvaln | Integer array | n modes if nsel_filter==n, and safety factor as first element if nsel_noise_filter==anti_aligned | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 |
filtdim | Integer | Number of modes in filtvaln if nsel_filter==n | 2 |
nsel_filter | Selector | Toroidal Fourier filter type
-
'n': Select toroidal modes in filtvaln and in [nfilt1,nfilt2]
-
'mn': Keep modes (m,n) for n in [nfilt1..nfilt2] if abs(m-nint(q(s)*n)) <= deltam and m is also in [mfilt1..mfilt2]
-
'mn_n0m0': Same as "mn" but keeps only m=0 for n=0
-
'mn_only_full': Same as mn, but requires that the entire m-band of n*q(s) +/- deltam must be in [mfilt1..mfilt2] at a certain radius for any m to be retained at that radius for a given n
-
'saw': Special filter for SAW/GAM nonlinearity, see filt_saw
| 'n' |
nsel_inner_bc | Selector | Fields inner boundary condition
-
'none': No inner boundary condition
-
'Dirichlet': Dirichlet inner boundary condition
-
'unicity': Unicity inner boundary condition
| 'none' |
sfmin | Real | Radial domain lower boundary | 0.0 |
sfmax | Real | Radial domain upper boundary | 1.0 |
n_flux_tube | Integer | Flux tube-like filtering (keep only toroidal modes multiple of n_flux_tube) | 1 |
nblocks | Integer | Number of radial blocks for serialization of Fourier transforms | 1 |
deltam | Integer | Halfwidth of density field-aligned filter \(\Delta m\) | 5 |
kthrhomax | Real | Allows to filter poloidal modes with kthrho>kthrhomax (0 = deactivated) | 0.0 |
nsel_noise_filter | Selector | Noise filter type
-
'shifted': Select non-resonant modes satisfying \(\vert m - n*q - 3\Delta m\vert < \Delta m\) or \(\vert m - n*q + 3\Delta m\vert < \Delta m\)
-
'anti_aligned': Select non-resonant modes satisfying \(\vert m - n * filtvaln(1)\vert < \Delta m\)
| 'shifted' |
background_efield_size | Real | Shearing rate (zero poloidal rotation at s=speak) | 0.0 |
background_efield_const | Real | Rotation rate (zero shear profile) | 0.0 |
filt_saw_n0 | Integer | Toroidal Fourier filter for three wave NL if nsel_filter==saw | 0 |
filt_saw_n1 | Integer | Toroidal Fourier filter for three wave NL if nsel_filter==saw | 0 |
filt_saw_n2 | Integer | Toroidal Fourier filter for three wave NL if nsel_filter==saw | 0 |
filt_saw_n0m | Integer array | Poloidal Fourier filter for three wave NL if nsel_filter==saw | 99999999, 99999999, 99999999, 99999999, 99999999, 99999999, 99999999, 99999999 |
filt_saw_n1m | Integer array | Poloidal Fourier filter for three wave NL if nsel_filter==saw | 99999999, 99999999, 99999999, 99999999, 99999999, 99999999, 99999999, 99999999 |
filt_saw_n2m | Integer array | Poloidal Fourier filter for three wave NL if nsel_filter==saw | 99999999, 99999999, 99999999, 99999999, 99999999, 99999999, 99999999, 99999999 |
flow_scale | Real | Scale factor for background flow in prof_file | 1.0 |
background_efield_deltarho | Real | Additional width for background flow profile | 0.0 |
background_efield_sreverse | Real | Shear reversal point | -1.0 |
sreverse_smooth | Real | Width of background electric field shear reversal region | 0.01 |
nsel_pot_profile | Selector | Background potential profile
-
'off': No background potential
-
'Ben': Ben''s profile - use background_efield_{size,const,deltarho,sreverse}
-
'shear': Constant shear - use background_efield_size
-
'prof_file': pot_back calculated from toroidal angular frequency in prof_file
-
'ogyropsi': pot_back loaded from ogyropsi.h5
-
'Jamie': Jamie''s profile - To be removed later
-
'vprof': Same as ''Ben'' reading vprof from file
| 'off' |
background_diamag_comp | Integer | Compensate for diamagnetic flow due to canonical momentum. | 0 |
nsel_fix_fields | Selector | Fix fields to a constant for testing purposes
-
'off': No fixed field
-
's2': Impose phi(s,chi,phi)=1000*s^2
-
'sin2_chi': Impose phi(s,chi,phi)=1000*sin(chi/2pi)^2
-
'sin2_phi': Impose phi(s,chi,phi)=1000*sin(phi/2pi)^2
| 'off' |
nsel_strong | Selector | Vary value of u_E^2 and component of u_E for testing purposes if species(1)nl_strong
-
'expected': Expected background flow
-
'ue2_s2': Set ue2 = 500.0*zs*zs
-
'ue2_sin2_chi': Set ue2 = 50*(SIN(zchi/2))**2
-
'ue2_s2_sin2_chi': Set ue2 = 50*zs*zs + 50*(SIN(zchi/2))**2
-
'uephi_sin2_chi': Set ue_phi = 5000*zs**2*(SIN(zchi/2))**2
| 'expected' |
nl_gradgyr | Logical | Take gradient of gyroaverage potential ( \(E=-\nabla<\phi>\)) instead of gyroaverage gradient of potential ( \(E=-<\nabla\phi>\)). It is consistent with Euler-Lagrange derivation and required for good momentum conservation, but computationally more expensive. | false |
nsel_setrho | Selector | Method to use for the charge deposition
-
'by_particle': Outer loop on particles
-
'by_cell': Outer loop on cells
-
'by_color': Outer loop on tile colors
-
'by_color_buf': Same as by_color, using cell buffers
| 'by_particle' |
nsel_getfield | Selector | Method to use for the field evaluation
-
'by_particle': Outer loop on particles
-
'by_cell': Outer loop on cells
| 'by_particle' |
stride_refresh_larmor | Integer | (0) refresh number of larmor points per particle every substep, (N) refresh at every N full steps | 0 |
nl_neoclassical | Logical | Run in neoclassical limit | false |
nl_usenint | Logical | | |
nsel_dft_method | Selector | Method to use for the DFTs in the rhs and field creation
-
'pptransp': Use the pptransp algorithm
-
'local_dft': Use the local DFT algorithm
| 'pptransp' |
Namelist /PARALLEL/
| Parameter | Type | Description | Default value |
nclones | Integer | Number of MPI clones | 1 |
nthreads | Integer | Number of OpenMP threads | nthreads_default |
nsel_ptransp | Selector | Parallel transpose method
-
'without_clones': Do not use MPI clones
-
'with_clones': Use MPI clones
| 'without_clones' |
Namelist /SORTING/
| Parameter | Type | Description | Default value |
nl_larmor_sort | Logical | Sort Larmor arrays for deposition and field evaluation | false |
nl_gc_sort | Logical | Sort guiding center arrays (part_att) for deposition and field evaluation. Predominates over nsel_sort_cache. | false |
nbin_s | Integer | Number of sorting bins in the s direction | fields%ns |
nbin_chi | Integer | Number of sorting bins in the chi direction | fields%nchi |
nbin_phi | Integer | Number of sorting bins in the phi direction | fields%nphi |
color_nbin_s | Integer | Number of grid cells to use in s for the charge deposition using the color scheme algorithm | 1 |
color_nbin_chi | Integer | Number of grid cells to use in chi for the charge deposition using the color scheme algorithm | 1 |
Namelist /SOLVER/
| Parameter | Type | Description | Default value |
iquafor | Integer | Number of Gauss quad points per interval | 4 |
deltam_mat | Integer | Halfwidth of matrix field-aligned filter | 5 |
kappan_sh | Real | Shielding term | 0.0 |
widths_sh | Real | Width of shielding profile | 0.02 |
nsel_poisson | Selector | Poisson solver model
-
'LWA': Long wavelength approximation
-
'arbitrary': Arbitrary wavelength
-
'Pade': Padé approximation
| 'LWA' |
nsel_ampere | Selector | Ampere solver model
-
'off': Do not solve Ampere (electrostatics)
-
'EM_gyroapar': Electromagnetic <A//>
-
'EM_apar': Electromagnetic A//
| 'off' |
nsel_control_variate | Selector | Control variate scheme
-
'off': No control variate
-
'current': Split up the adiabatic response to A_par (electron skin term) in Ampere''s law.
| 'off' |
control_variate_tolerance | Real | Control variate scheme tolerance | 1.e-4 |
control_variate_niter | Integer | Number of iterations in control variate scheme | 1 |
nsel_pullback | Selector | Pullback scheme
-
'none': Usual cancellation
-
'dA_dt_0': Pullback cancellation, \(\partial{A_\parallel^s}/\partial{t}=0\)
-
'Ohm': Pullback cancellation, Ohm''s law (not done yet)
| 'none' |
nsel_efluid | Selector | Efluid scheme
-
'none': Fully gyrokinetic
-
'mhd': MHD efluid model
-
'debug': Debug efluid model
| 'none' |
efluid_colls | Real | Efluid collisionality | 0.0 |
nsel_bsplines_basis | Selector | B-splines basis at boundaries is fields
-
'original': Original (cubic bounded)
-
'DeBoor': New (cubic transformation based on De Boor algorithm)
| 'original' |
nradbands | Integer | Number of radial bands in the matrix if nsel_poisson is arbitrary | 5 |
nalpha | Integer | Number of gyropoints per arc of the lenght of a local ion Larmor radius if nsel_poisson is arbitrary and nl_auto_vspace is false | 8 |
nw | Integer | Number of points in the vperp direction if nsel_poisson is arbitrary | 8 |
wmax | Real | The integral over the vperp direction is done over the domain [0,wmax] if nsel_poisson is arbitrary | 5.0 |
nqx | Integer | Number of quadrature points in the first (radial) direction if nsel_poisson is arbitrary | 1 |
nqy | Integer | Number of quadrature points in the second (poloidal) direction if nsel_poisson is arbitrary | 1 |
nl_auto_vspace | Logical | Auto discretization of the velocity phase-space if nsel_poisson is arbitrary | true |
nl_auto_radbands | Logical | Auto choice for the number of radial bands if nsel_poisson is arbitrary | true |
nl_auto_quadrature | Logical | Auto choice for the number of quadrature points as well as for the quadrature method (Gauss,equid) if nsel_poisson is arbitrary | true |
nsel_gradp | Selector | Approximation type for grad_perp in quasineutrality
-
'grad_pol': grad_perp ~ grad_pol
-
'grad_pol_corr': grad_perp ~ grad_pol + correction
| 'grad_pol' |
nl_apar_den_corr | Logical | Enable A_par density correction | false |
nl_lin_pullback | Logical | Linearised pullback | true |
Namelist /DIAG/
- Note
- Input parameters of this section starting with
nfreq_ are used to specify the frequency of the different diagnostics. If the frequency is \(f_D \), then the diagnostics will be executed every \(f_D \) time steps, or every \(f_D\cdot\Delta t \cdot n_{steps}\) in units of \(\Omega_{ci}^{-1}\).
| Parameter | Type | Description | Default value |
nfreq_phipol | Integer | Frequency of fields diagnostics | 100 |
sttime | Real | Start simulation time (ignored if restart run) | 0.0 |
nfreq_spec | Integer | Frequency of energy spectrum diagnostics | 5 |
s_spec | Real | Start simulation time | 0.5 |
nfreq_dens | Integer | Frequency of 2D-binning density diagnostics | 100 |
win_dens_l | Real array | Windows for 2D density diagnostics, start times | 0.0, 1.0e18, 1.0e18 |
win_dens_r | Real array | Windows for 2D density diagnostics, stop times | 1.0e18, 0.0, 0.0 |
thetabin_s | Real | s position for theta profiles | 0.5 |
win_phipol_l | Real array | Windows for 2D phipol diagnostics, start times | 0.0, 1.0e18, 1.0e18 |
win_phipol_r | Real array | Windows for 2D phipol diagnostics, stop times | 1.0e18, 0.0, 0.0 |
nfreq_hdf5 | Integer | Frequency of hdf5 file save | 10 |
nfreq_1D | Integer | Frequency of 1D profiles | 1 |
nfreq_noise | Integer | Frequency of ions/electrons separate noise | 100 |
nl_noise_2D | Logical | Flag for 2D noise diagnostics | false |
nbin_vel | Integer | Number of velocity bins | 8 |
nbin_flux | Integer | Number of radial bins for flux diagnostics | 64 |
nbin_theta2d | Integer | Number of poloidal bins for 2D profiles | 64 |
svol_min | Real | Inner boundary for global fields diagnostics | 0.0 |
svol_max | Real | Outer boundary for global fields diagnostics | 1.0 |
nbin_sampling_psi | Integer | Number of radial bins for sampling diagnostics | 64 |
nbin_sampling_v2 | Integer | Number of energy bins for sampling diagnostics | 64 |
nfreq_3d | Integer | Frequency of 3D diagnostics | 0 |
nl_strong_diag | Logical | Perform diagnostics for strong flow testing | false |
nfreq_testpart | Integer | Frequency of test particle output | 10 |
nfreq_parmove | Integer | Frequency of parmove diagnostics | 0 |
nfreq_sampling | Integer | Frequency of the sampling diagnostics | 0 |
nfreq_phasespace | Integer | Frequency of the 3d phasespace diagnostics | 0 |
nl_write_3d_moments | Logical | Whether to write the fluid moments if writing the 3D diagnostics | true |
nsel_3d_diag | Selector | Which type of 3D field diagnostic to use
-
'real': Write 3D field arrays in real space
-
'rhs_f': Write 3D potential in fourier
| 'real' |
nsel_pszs | Selector | Phase space zonal structure diagnostics
-
'off': Switched off
-
'online': PSZS with 3D charge assignment and backsolve
-
'offline': PSZS with 3D charge assignment, storing only b-spline coefs
| 'off' |
nfreq_3d_multi_1 | Integer | How many n calls to 3D moments should include the density | 5 |
nfreq_3d_multi_2 | Integer | How many n calls to 3D moments_density should include the moments | 1 |
nfreq_3d_multi_real | Integer | How many n calls to 3D diags should include a real space diag | 0 |
nfreq_source_3d | Integer | Frequency of 3d source diagnostics | 0 |
nl_mpr | Logical | Flag for MPR diagnostic | false |
pszs_nke | Integer | number of grid points in energy | 8 |
pszs_ntam | Integer | number of grid points in toroidal angolar momentum | 8 |
pszs_nmu | Integer | number of grid points in mu | 8 |
pszs_nidbas | Integer | order of b-splines | 2 |
pszs_freq | Integer | Frequency of 3D diagnostics | 1 |
nsel_pszs_type | Selector | PSZS options
-
'f0': Use f0
-
'w': Use w weight (delta f)
| 'f0' |
nl_pszs_ke2u | Logical | Use v parallel | false |
nl_pszs_mu2vp | Logical | Use v perpendicular | false |
nl_pszs_mu2u | Logical | Use v parallel | false |
nl_pszs_tam2psi | Logical | Use psi | false |
nl_pszs_tam2s | Logical | Use s | false |
Namelist /ISLANDS/
| Parameter | Type | Description | Default value |
m | Integer | Poloidal mode number for island elicity | 2 |
n | Integer | Toroidal mode number for island elicity | 1 |
psitilde | Real | Island amplitude, \(\tilde{\psi}\) | 0.0 |
nl_helical_diag | Logical | Compute and save helical flux | false |
nsel_q_profile | Selector | Island safety factor if basicnsel_equil==adhoc
-
'quadratic': equilq0 + (equilqedge-equilq0)*radius**2
-
'interp': Interpolate from profile
| 'quadratic' |
filt1 | Integer | Filter definition in phi | 0 |
filt2 | Integer | Filter definition in phi | 8 |
Namelist /DIAGNOSTICS/
| Parameter | Type | Description | Default value |
counter_mom_freq | Integer | Stride for momentum diagnostic | 100 |
counter_phi_freq | Integer | Stride for field diagnostic | 100 |
nl_diagnoseOff | Logical | Turn off diagnostics | true |
nbLambdaSubgroup | Integer array | Number of lambda subgroups | [Unable to parse], 1 |
dlambda_inv | Real array | Inverse of lambda bin size | [Unable to parse], 1. |
nbNRGSubgroup | Integer array | Number of energy subgroups | [Unable to parse], 1 |
dNRG_inv | Real array | Inverse of energy bin size | [Unable to parse], 1. |
nl_split_vpar | Logical | Split v_// | false |
Namelist /ANTENNA/
| Parameter | Type | Description | Default value |
nsel_type | Selector | Perturbation type
-
'none': None
-
'rho': Charge density
-
'phi': Electrostatic potential
| 'none' |
frequency | Real | Oscillation angular frequency, in \(\Omega_i\) units | 0. |
steady_coef | Real | Time independent coefficient of antenna''s amplitude | 0. |
oscil_coef | Real | Oscillatory coefficient of antenna''s amplitude | 1. |
m | Integer array | Poloidal mode numbers | [Unable to parse], 0 |
n | Integer array | Toroidal mode numbers | [Unable to parse], 0 |
amplitudes | Real array | Mode amplitudes | [Unable to parse], 0. |
phases | Real array | Mode phases | [Unable to parse], 0. |
nsel_profile | Selector | Radial profile shape
-
'poly': Polynomial p(1)+p(2)*s+p(3)*s^2+p(4)*s^3+p(5)*s^4+p(6)*s^5+p(7)*s^6, where p=profile_poly_coef
-
'sin': Sinusoidal shape: sin(k*s+phase)
-
'gauss': Gaussian shape: exp(-((s-s0)/delta)^2)
-
'interp': Interpolated from file profile_file
| 'poly' |
profile_poly_coef | Real array | Radial profile polynomial coefficients if nsel_profile==poly | 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 |
profile_sin_ks | Real | Radial profile wave vector if nsel_profile==sin | TWOPI |
profile_sin_phase | Real | Radial profile phase if nsel_profile==sin | 0. |
profile_gauss_s0 | Real | Radial profile gaussian center if nsel_profile==gauss | .5 |
profile_gauss_delta | Real | Radial profile gaussian width if nsel_profile==gauss | .2 |
nl_filter_plasma_n | Logical | Filter out antennan(1) from plasma self-consistent potential | false |
profile_file | String | Name of the text file containing antenna''s radial profile if nsel_profile==interp, formatted as the number of points in the first line, then sorted s coordinate in the first column and profile values in the second column. | 'antenna_profile' |
Namelist /TYPE_SPECIES/
| Parameter | Type | Description | Default value |
species_name | String | Name of the species | 'unnamed' |
is_electrons | Logical | Boolean to choose if the species is of electron type or not | false |
is_kinetic | Logical | Boolean for kinetic treatment of a species (t=kinetic, f=adiabatic) | true |
Namelist /ATTRIBUTES/
| Parameter | Type | Description | Default value |
mass | Real | Mass(specie) / mass of the first species (which determines LX) | merge |
charge | Real | Charge(specie) / e | merge |
tau | Real | T(specie)/Te at s_0 | 1.0 |
n | Real | Volume averaged density (MKSA) | 1.0e19 |
vpar | Real | Value of the parallel velocity at s=speak | 0.0 |
pertw | Real | Initial df perturbation | 1.0e-3 |
kappan0 | Real | Density gradient | 0.0 |
speak | Real | s location of maximum gradient | 0.5 |
kappat0 | Real | Temperature gradient | 2.4 |
kappavp0 | Real | Parallel velocity gradient | 0.0 |
rhov_core | Real | Transition between exponential and parabolic profiles position of \(\rho_{vol}\) if nsel_profile == NSEL_TYPE_10 | 0.3 |
rhov_ped | Real | Top of pedestal position of \(\rho_{vol}\) if nsel_profile == NSEL_TYPE_9 or NSEL_TYPE_10 | 0.8 |
rhov_edge | Real | Foot of pedestal position of \(\rho_{vol}\) if nsel_profile == NSEL_TYPE_9 or NSEL_TYPE_10 | 1.0 |
T0 | Real | Maximum value of T in the core if nsel_profile == NSEL_TYPE_9 | 20.0 |
T1 | Real | Value of T at rhov_edge if nsel_profile == NSEL_TYPE_9 | 1.0 |
mu_T | Real | \(\frac{1}{T1}\frac{dT}{d\rho}\) in the pedestal if nsel_profile == NSEL_TYPE_9 or NSEL_TYPE_10 | 0.0 |
N0 | Real | Maximum value of N in the core if nsel_profile == NSEL_TYPE_9 | 20.0 |
N1 | Real | Value of N at rhov_edge if nsel_profile == NSEL_TYPE_9 | 1.0 |
mu_N | Real | \(\frac{1}{N1}\frac{dN}{d\rho}\) in the pedestal if nsel_profile == NSEL_TYPE_9 or NSEL_TYPE_10 | 0.0 |
VP0 | Real | Maximum value of VP in the core if nsel_profile == NSEL_TYPE_9 | 20.0 |
VP1 | Real | Value of VP at rhov_edge if nsel_profile == NSEL_TYPE_9 | 1.0 |
mu_VP | Real | \(\frac{1}{VP1}\frac{dVP}{d\rho}\) in the pedestal if nsel_profile == NSEL_TYPE_9 or NSEL_TYPE_10 | 0.0 |
widths | Real | Width of gradient T and n profile | 0.208 |
kapv | Real | Cut-off velocity used in v-loading | 5.0 |
nptot | Integer | Total number of particles | 2048 |
navg | Integer | Number of gyro-points if nsel_gyr==fixed, or scaling factor if nsel_gyr==adapt_navg | 4 |
nsel_gyr | Selector | Gyro-averaging method
-
'adapt': Adaptative number of gyro-points. It takes 4 gyropoints per ion sound Larmor radius. The minimum value is 4 and the maximum value is basicnavg_max
-
'fixed': Fixed number of gyro-points given in input (navg)
-
'dk': Drift-kinetic approximation (no gyro-averaging)
-
'adapt_navg': Adaptative number of gyro-points. It takes pi*navg gyropoints per ion sound Larmor radius. The maximum value is basicnavg_max
| 'adapt' |
nsel_tilt | Selector | Use a random tilt angle for the gyro-averaging
-
'no': No tilt on gyroangle
-
'random': Random tilt on gyroangle
| 'no' |
nsel_init_pert | Selector | Initial density perturbation
-
'noise': Uniform perturbation
-
'mode_uncorrected': Gaussian distribution in m and n
-
'mode': Gaussian distribution in m and n
-
'mode_TAE': Gaussian distribution
-
'mode_SAW': Gaussian distribution in m and n
-
'd_cos': cos(chi) perturbation
-
'd_sin': sin(chi) perturbation
-
'rh_cos': Distribution for RH test, cosinus
-
'rh_sin': Distribution for RH test, sinus
-
'rh_sin_b': Distribution for RH test, sinus
-
'tanh_sin': Distribution for GAMs, tanh(r)*sin(theta)
-
'gene': Use mode_gene parameters
-
'gene_vpll': Use mode_gene parameters, v_parallel dependent
-
'potential': Initialize electrostatic potential
-
'rh_vpll': v_parallel sinus distribution
-
'coll_ii_1': Test collisions ion-ion 1
-
'coll_ii_2': Test collisions ion-ion 2
-
'coll_ii_3': Test collisions ion-ion 3
-
'coll_ii_4': Test collisions ion-ion 4
-
'singlepart': Single particle weight
-
'ligka_l5': Ligka (mode 5) [under development]
-
'ligka_l5_auto': auto-Ligka (mode 5) [under development]
-
'gauss_list': List of gaussian perturbations
| 'noise' |
mmin_ini | Integer | Lower boundary in m for pertcase=2 | 0 |
mmax_ini | Integer | Upper boundary in m for pertcase=2 | 0 |
nmin_ini | Integer | Lower boundary in n for pertcase=2 | 0 |
nmax_ini | Integer | Upper boundary in n for pertcase=2 | 0 |
s0_l | Real | Center of gaussian for loading | 0.5 |
ds0_l | Real | Gaussian width for loading | 0.2 |
fgau | Real | Fraction between gaussian and constant part of the pdf | 0.0 |
nl_adiabatic_density | Logical | Compute adiabatic electron density using splines | false |
nsel_adiabatic_gyr | Selector | Gyro-averaging method for charge assignment in ne integration
-
'adapt': Adaptative number of gyro-points. It takes 4 gyropoints per ion sound Larmor radius. The minimum value is 4 and the maximum value is basicnavg_max
-
'fixed': Fixed number of gyro-points given in input (navg)
-
'dk': Drift-kinetic approximation (no gyro-averaging)
-
'adapt_navg': Adaptative number of gyro-points. It takes pi*navg gyropoints per ion sound Larmor radius. The maximum value is basicnavg_max
| 'adapt' |
wdecay_rate | Real | Rate of weight decay (coefficient of Krook op.) | 0.0 |
nsel_f0 | Selector | f0 distribution type
-
'maxwellian': Maxwellian distribution
-
'cdt': Claudio Di Troya (work in progress)
-
'cdtn': Claudio Di Troya (work in progress)
-
'bump_on_tail': Bump on tail
-
'bump_on_tail_o': Bump on tail orb5
-
'bump_on_tail_o_nochi': Bump on tail orb5 no chi dependence
-
'bump_on_tail_g_bref': Bump on tail Gysela B_ref
-
'slowing_down': Slowing down
-
'slowing_down_pitch': Slowing down pitch
-
'slowing_down_pitch_g_bref': Slowing down pitch Gysela B_ref
-
'slowing_down_pitch_o': Slowing down pitch Orb5
-
'slowing_down_pitch_o_nochi': Slowing down pitch Orb5
-
'num_f0': Numerical f0
-
'slowing_down_bump': Slowing down / bump on tail hybrid
| 'maxwellian' |
cdt_alpha | Real | CDT profile parameter | 1.0 |
cdt_Tw | Real | CDT profile parameter | 1.0 |
cdt_w0 | Real | CDT profile parameter | 1.0 |
cdt_pphi0 | Real | CDT profile parameter | 1.0 |
cdt_deltapphi | Real | CDT profile parameter | 1.0 |
cdt_lambda0 | Real | CDT profile parameter | 1.0 |
cdt_deltalambda | Real | CDT profile parameter | 1.0 |
cdt_w1 | Real | CDT profile parameter | 1.0 |
cdt_normalize | Real | CDT profile parameter | 0.0 |
nl_wdecay_conserve_density | Logical | Whether to correct source terms to conserve density | false |
f_part | Real | Dilution | 1.0 |
nl_wdecay_conserve_zonal | Logical | Whether to correct Krook op. to conserve zonal flows by projecting out zonal-flow like components | false |
nl_wdecay_conserve_energy | Logical | Whether to correct source terms to conserve kinetic energy | false |
nl_wdecay_conserve_vpll | Logical | Whether to correct source terms to conserve parallel velocity | false |
bumpontail_vpar_fast | Real | Bump on tail profile parameter | 4.0 |
bumpontail_tval_fast | Real | Bump on tail profile parameter | 1.0 |
nl_wdecay_gyro_switch | Logical | Mimic GYRO source term | false |
wdecay_heatrate | Real | Decay rate for radially smoothed \(\delta f(energy,s)\) | 0.0 |
wdecay_heat_s0 | Real | Right edge of core heating region | 0.5 |
wdecay_heat_s1 | Real | Left edge of edge cooling region | 0.5 |
kr_pert | Real | radial wavenumber of sin/cos perturbation in units of (1/a) | 1.0 |
wdecay_edgefac | Real | Rate of weight decay at radii greater than wdecay_sedge | 0.0 |
nsel_g_bref | Selector | gysela like bref value
-
'B0': B0
-
'BMIN': BMIN
-
'BMAX': BMAX
| 'B0' |
wdecay_sedge | Real | Left edge weight decay and right edge of heating interval | 1.0 |
nsel_loadphi | Selector | Flag for phi loading
-
'uniform': Uniform loading of phi \(\phi(i_p)=2\pi(i_p-1/2)/N_p \quad \forall i_p\in[1,N_p]\)
-
'Hammersley': Hammersley loading of phi
| 'uniform' |
cutoffvpa | Real | Cut-off parallel velocity for electrons pushing, normalized to kapve*v_the(s) | 100. |
pitch_fac | Real | Load electrons between pitch_fac*lambda and pi-pitch_fac*lambda | 1.0 |
nsel_load_space | Selector | Loading in space if is_electrons
-
'gaussian': Gaussian loading
-
'alphab': Loading proportional to alpha_b(s,chi)
| 'gaussian' |
nsel_load_v | Selector | Loading of particles in velocity
-
'v2': Loading uniform in v^2
-
'v3': Loading uniform in v^3
-
'v2_T0': Loading uniform in v^2, discarding the local temperature
| 'v2' |
nl_psi0corr | Logical | Flag for f0_can with correction | false |
nl_f0can | Logical | Canonical Maxwellian | true |
nl_no_vpar_nl | Logical | No vpar nonlinearity | false |
nl_mirror | Logical | Flag for mirror term in ion \(v_\parallel\) eq. of motion | true |
nl_addp | Logical | Add pressure terms | true |
| nl_addp2 | Logical | Add pressure term compensating missing B|| drive | false | | nl_addvpa | Logical | Add \(\epsilon_B^2\) term in \(dv_\parallel/dt\) | true | | nsel_push | Selector | Particle pushing method
-
'full': Push particles on perturbed trajectories (0 or 4 in old convention)
-
'no': Do not push particles and weights (1 in old convention)
-
'unpert': Push on unperturbed trajectories (2 in old convention)
-
'full_test': Push particles on perturbed trajectories, no weigth evolution, no deposition (5 in old convention)
-
'unpert_test': Push particles on unperturbed trajectories, no weigth evolution, no deposition (3 in old convention)
| 'full' | | nsel_profile | Selector | Equilibrium profile
-
'1': f(s), equispaced in psi/psi_e
-
'2': f(rho/a), like LORB5
-
'22': f(rho^2/a^2), global vs local
-
'3': f(rho/a), CYCLONE benchmark, Bruce
-
'4': f(rho/a), CYCLONE benchmark, Seb
-
'interp_ITM': interpolated experimental profile (ITM) -> 5 in old convention
-
'interp_TRANSP': interpolated experimental profile (TRANSP), read from prof_file -> 6 in old convention
-
'7': f(s), flat gradient profile for MHD
-
'8': f(psi), Solovev equilibrium
-
'9': f(rho/a), exp profiles in core, linear pedestal profiles, constant in the SOL
-
'10': f(rho/a), parabolic profiles in the deep core, exp profiles in core, linear pedestal profiles, constant in the SOL
| '1' | | nsel_hybrid_model | Selector | Hybrid model
-
'off': Do not use hybrid model
-
'upgrade': Upgraded hybrid model based on Idomura2016
-
'standard': Standard hybrid model (deposit only trapped particle charge)
| 'off' | | nl_wclean | Logical | Weight clean for Alfveen test | false | | nl_wclean_t0 | Logical | Weight clean at t=0 for Alfveen test | false | | nsel_testpart | Selector | Flag for fast test particles
-
'off': Do not use test particles
-
'read': Read test_part file for initial condition and overwrites particles on me_world=0
-
'firsts': Just print out trajectories for first ntest particles
| 'off' | | nl_vpaback | Logical | Flag for standard ExB term in \(v_\parallel\) eq. of motion | false | | nl_vpaback_mod | Logical | Flag for modified ExB term in \(v_\parallel\) eq/ of motion | false | | nl_bgpot | Logical | Flag for background potential in f0 | false | | wdecay_ediffrate | Real | Rate of energy diffusion | 0.0 | | heating_nbins_r | Integer | Number of radial bins for heating | 64 | | heating_nbins_en | Integer | Number of energy bins for heating | 64 | | nl_randomload | Logical | Use pseudorandom rather than hammersley in velocity space | false | | randomize_seed | Integer | Seed for random toroidal scatter and noise rescaling | 64 | | heatdep_sigma | Real | Position of fixed heat source region | 0.4 | | heatdep_width | Real | Width of fixed heat source region | 0.1 | | nl_pure_toroidal_rotation | Logical | Initialise ion distribution consistent with the neoclassical solution in the presence of a radial electric field: toroidal rotation consistent with zero poloidal flow. | false | | wdecay_coarsefac | Real | Per step coarsening, first weight | 0.0 | | pdecay_coarsefac | Real | Per step coarsening, second weight | 0.0 | | coarsen_nsteps | Integer | Frequency of coarsening operations (timesteps). | 10 | | nbins_en | Integer | Number of bins in energy for coarse-graining | 64 | | nbins_lambda | Integer | Number of bins in pitch angle for coarse-graining | 64 | | nl_coarsen_pvol | Logical | Perform coarsening on phase space volumes. | true | | nl_2weights | Logical | Use 2 weights scheme | false | | nl_fixed_heat_source | Logical | Time-invariant fixed heat source | false | | part_output_num | Integer | max. no of markers for which ''marker quantities'' are output | 0 | | nl_modified_can_mom | Logical | Use modified corrected canonical momentum | false | | deltarho | Real | Half-window range for nsel_profile=NSEL_TYPE_4 | 0.4 | | rho_plateau_mid | Real | Window centre for nsel_profile=NSEL_TYPE_4 | 0.5 | | nsel_sort_cache | Selector | Guiding center sorting for cache optimization
-
'off': Cache sort disabled
-
'on': Cache sort enabled
-
'light': **deprecated if favour of ''on'' option **
-
'heavy': **deprecated if favour of ''on'' option **
| 'off' | | sort_freq | Integer | Cache sorting every sort_freq time steps | 1 | | nl_directdf | Logical | Use direct df scheme | false | | nl_df0_dt | Logical | Include dPsi/dt_0 term in weight evolution | false | | quadtree_par_frequency | Integer | Apply quadtree every N timesteps | 0 | | quadtree_par_numpart | Integer | Maximum number of particle per quadtree box | 20 | | quadtree_par_sigma | Real | Quadtree smoothing parameter | 0.1 | | quadtree_par_seq_clones | Logical | Quadtree: should clones be run sequentially | false | | init_potential_mmin_ini | Integer | Initial potential lower boundary in m | 0 | | init_potential_mmax_ini | Integer | Initial potential upper boundary in m | 12 | | init_potential_nmin_ini | Integer | Initial potential lower boundary in n | 6 | | init_potential_nmax_ini | Integer | Initial potential upper boundary in n | 6 | | init_potential_pertw | Real | Initial potential amplitude | 1.e-5 | | mode_saw_dtana | Real | Mode SAW parameter if nsel_init_pert==mode_SAW | 0.02 | | mode_saw_s | Real array | Mode SAW parameters if nsel_init_pert==mode_SAW | 0.37, 0.40, 0.60, 0.63 | | mode_gene_tilt | Real | For gene initialisation, tilt perturbation in s-phi plane | 0. | | mode_gene_width | Real | For gene initialisation, radial width of gaussian | 0.225 | | mode_gene_kyfac | Real | For gene initialisation, prefactor to the ky falloff | 1.0 | | mode_gene_angle_offset | Real | For gene initialisation, offset for the poloidal angle | 0.0 | | mode_gene_radial_option | Integer | For gene init., radial option (1: r/a=0.5; 2: (sfmax+sfmin)/2) | 1 | | wdecay_psourcerate | Real | Decay rate for particle source | 0.0 | | flow_force_rate | Real | Flow forcing rate | 0.0 | | nl_strong | Logical | Use strong flow | false | | nl_bst_str | Logical | Include B* strong flow terms | false | | nl_dens_corr | Logical | Density correction term in distribution | false | | umin_input | Real | Minimum parallel velocity | merge | | umax_input | Real | Maximum parallel velocity | merge | | mumax_input | Real | Maximum magnetic moment | merge | | nl_chargecorr | Logical | Use fluxes to evolve zonal density | false | | nl_BCout_zero_weight | Logical | Put w-weight of markers leaving the domain at the outer boundary to zero | true | | nsel_heatsource_radial | Selector | Where to read the heat source radial profile from
-
'code': Use Bens implementation
-
'file': Read from file
| 'code' | | heatsource_file | String | Path for heat source radial profile | 'heatsource_profile' | | heat_edge_lim | Real | Radial position after which the heat source stops heating | 1.0 | | mode_ligka_l5_n | Integer | For ligka l5 initialisation, toroidal mode number | 15 | | mode_ligka_l5_m | Integer | For ligka l5 initialisation, poloidal mode number | 15 | | mode_ligka_l5_m2 | Integer | For ligka l5 initialisation, poloidal mode number (upper limit) | -1 | | mode_ligka_l5_s | Real | For ligka l5 initialisation, radial mode position | 0.5 | | mode_ligka_l5_w | Real | For ligka l5 initialisation, radial mode width | 0.2 | | mode_ligka_l5_type | Integer | For ligka l5 initialisation, mode type | 1 | | mode_ligka_l5_odd | Integer | For ligka l5 initialisation, odd parity | 0 | | nsel_buffer_type | Selector | Type of outer buffer
-
'none': No external buffer
-
'naive_krook': Naive Krook external buffer
-
'krook_cons': Krook external buffer with density conservation
-
'collision': Collisional external buffer
| 'none' | | buffer_rate | Real | Buffer rate | 0.0 | | buffer_edge | Real | Buffer edge | 0.9 | | buffer_Nbin | Integer | Number of spatial bins for conserving Krook buffer | 20 | | atomic_mass_number | Real | atomic_mass_number (for isp=1) | 1.0 | | nl_dump_f0 | Logical | Output f0 in initialization | false | | nl_dump_derivs | Logical | Output derivatives of f0 in initialization (if dump_f0) | false | | npsi_dump_f0 | Integer | Number of points in psi for ump_f0 | 100 | | nu_dump_f0 | Integer | Number of points in v_// for dump_f0 | 129 | | nze_dump_f0 | Integer | Number of points in KE for dump_f0 | 129 | | nsel_fixed_source_type | Selector | Type of fixed source
-
'basic': Basic fixed source term
-
'ECRH': ECRH fixed source term
| 'basic' | | nsel_beam_type | Selector | Beam type for electron resonance
-
'X': X-mode for the ECRH beam
-
'O': O-mode for the ECRH beam
| 'X' | | nl_num_f0_divide_n | Logical | Whether numerical_f0 needs f divided by n | true | | slowingdown_birth_energy | Real | Slowing down profile parameter | 1.0 | | slowingdown_amid | Real | Middle radius | 1.0 | | slowingdown_B_on_axis | Real | Magnetic field on axis | 1.0 | | slowingdown_norm_option | Integer | Slowing down normalization choice | 1 | | slowingdown_initbump | Real | Slowing down: addition anisotropy in velocity space, amplitude | 0.0 | | slowingdown_xi_0 | Real | Anisotropic slowing down pitch | 0.0 | | slowingdown_sigma_xi | Real | Anisotropic slowing down pitch width | 0.1 | | slowingdown_delta_ze | Real | Anisotropic slowing delta ze | 1.e-6 | | nsel_vpar_constant_in_f0 | Selector | Set d(mu*B )/dt=0 for du/dt in rhs
-
'off': dvpar0 kept
-
'H0': dvpar as dH0/vpar
-
'vpar1': dvpar as dvpar1
-
'H0_corr': dvpar as dH0/vparv corrected to get dvpar1
-
'vpar1_corr': dvpar as dvparv1 corrected to get dH0
| 'off' | | slowingdown_delta_psi | Real | Anisotropic slowing delta psi | 1.e-6 | | slowingdown_delta_chi | Real | Anisotropic slowing delta chi | 1.e-6 | | slowingdown_delta_u | Real | Anisotropic slowing delta u | 1.e-6 | | beam_freq | Real | Beam frequency [Hz] | 82700000000. | | beam_width | Real | Beam width [m] | 0.0188 | | beam_theta0 | Real | Mean beam angle theta_0 | 1.5708 | | beam_power_in | Real | Power of the ECRH beam at the entry of the plasma [W] | 0. | | beam_harmonic | Integer | Beam harmonic for electron resonance | 2 | | n_speak | Real | value of density in speak | 1.0 | | T_speak | Real | value of temperature in speak | 1.0 | | beta_speak | Real | value of beta in speak | 1.0 | | pszs_lb | Real array | Lower bounds of pszs dimensions (len=3), default=-9999. => take default) | -9999., -9999., -9999. | | pszs_ub | Real array | Upper bounds of pszs dimensions (len=3), default=-9999. => take default) | -9999., -9999., -9999. |
Namelist /COLLISIONS/
| Parameter | Type | Description | Default value |
nu_ref | Real | Thermal self collision of a species with N = T = q = m = 1 (= first species at reference radial location) in this case, nu_ref = ln lambda /(2*pi*epsilon^2) | 0.0 |
nsel_collisions | Selector | Choose the collision type
-
'none': no collisions
-
'self_linear': linear self collisions only
-
'multispecies_linear': linear multi-species collisions
-
'self_nonlinear': nonlinear self collisions only
-
'multispecies_nonlinear': nonlinear multi-species collisions
| 'none' |
ns_coll | Integer | s-grid for momentum and energy variation binning | 64 |
nchi_coll | Integer | chi-grid for momentum and energy variation binning | 64 |
N_slide_save | Integer | Number of time steps kept for time average of profiles | 10 |