Atomic Physics
Data type
Default value

b2ardr_fix_cx
integer
1

It is used to 'correct' the CX data 0 => do not fix 1 => only fix H if CX data is < 1e-40 [default] 2 => fix if CX data is < 1e-40 3 => fix H 4 => fix all At the moment the only species with CX data in ADAS is C. Be careful with options that use the fit formula other than for H. See the comments in ratstr.F for the origin of the fit formula used to 'fix' the CX data.

b2ardr_no_weisheit
integer
0

When set to 1, disables the correction of the hydrogen atomic rate data with the Weisheit data using ratwei. *** Use with caution! ***

b2ardr_no_smoothing
integer
0

When set to 1, disables the tail smoothing for of rate coefficients to represent the effect of a power-law tail on the distribution function. It has been added for compatibility with SOLPS4.3

adas_extrap
integer
1

Switch for choosing extrapolation method of ADAS data: If adas_extrap.eq.0, a simple 2-D linear extrapolation in log-log space is used (may lead to spurious results). If adas_extrap.eq.1, use the extrapolated result, but growing no faster than the parameter variation to the 3/2 power (default). If adas_extrap.eq.2, use the nearest domain edge value.

Group

When fix_recomb is changed from 0, and if the ADAS option is in use, then uses the PRB file to add the contribution arising from is-->is-1 processes. This term includes the bremsstrahlung. The '0' option only contains the bremsstrahlung for the is-->is-1 process. The correction is only applied for isonuclear sequences with nuclear charge up to zmax_recomb, inclusive. Use of this option is still experimental!

b2ardr_fix_recomb
integer
0

b2ardr_zmax_recomb
integer
1

Group

The number of intervals in the discretisation of the density (rtnn) and temperature (rtnt) ranges for the atomic physics tables.

b2ardr_rtnt
integer
40

b2ardr_rtnn
integer
32

Group

Modify the atomic rates by including a hot electron population of temperature te_hot (in eV) and a population faction ne_hot_frac. Still experimental.

b2mndr_dpc_mod_rates_ne_hot_frac
real
0.0

b2mndr_dpc_mod_rates_te_hot
real
0.0

Geometry
Data type
Default value

b2agfs_geometry
string
upgrade.geometry

contains the file name of the geometry file to be read. The file will be looked for in the run directory, in the ../baserun directory, in $SOLPSTOP/data.local/meshes, and in $SOLPSTOP/modules/Carre/meshes/$DEVICE. To be used in b2ag.dat.

b2agfs_lineardevice
string
linear.geometry

contains the file name of the geometry file to be read. The file will be looked for in the run directory, in the ../baserun directory, in $SOLPSTOP/data.local/meshes, and in $SOLPSTOP/modules/Carre/meshes/$DEVICE. To be used in b2ag.dat.

b2mwti_jxa
integer
See description (integer)

Cell index, on the basis mesh, of the outer midplane. Default value depends on geometry: Lower Single-null : jxa=rightcut(1)-(rightcut(1)-leftcut(1))/4, i.e. three quarters of the way between the two cuts. Upper Single-null : jxa=leftcut(1)+(rightcut(1)-leftcut(1))/4, i.e. one quarter of the way between the two cuts. Stellarator island : jxa=leftcut(1)+(rightcut(1)-leftcut(1))/2, i.e. midway between the two cuts. Double-null : jxa=(rightcut(1)+rightcut(2))/2, i.e. halfway between the two outer cuts. Limiter geometry : jxa=nx/2 Straight geometry : jxa=nx/2

b2mwti_jxi
integer
See description (integer)

Cell index, on the basis mesh, of the inner midplane. Default value depends on geometry: Lower Single-null : jxi=leftcut(1)+(rightcut(1)-leftcut(1))/4, i.e. one quarter of the way between the two cuts. Upper Single-null : jxi=rightcut(1)-(rightcut(1)-leftcut(1))/4, i.e. three quarters of the way between the two cuts. Stellarator island : jxi=leftcut(1)+(rightcut(1)-leftcut(1))/4, i.e. one quarter of the way between the two cuts. Double-null : jxi=(leftcut(1)+leftcut(2))/2, i.e. halfway between the two inner cuts. Limiter geometry : jxi=nx/4 Straight geometry : jxi=nx/4

b2mwti_jsep
integer
See description (integer)

Cell index, on the basis mesh, of the last poloidal ring before the separatrix. Can only be provided for slab geometries, otherwise calculated from geometry: Single-null : jsep=topcut(1)-1 Stellarator : jsep=topcut(1)-1 Double-null : jsep=min(topcut(1),topcut(2))-1 Default for straight geometries : jsep=ny/2

b2agmx_pbs_from_basis_mesh
integer
1

If pbs_from_basis_mesh.eq.0, the pbs array is computed from values on the actual working mesh (old treatment). If pbs_from_basis_mesh.eq.1, the pbs array is computed from values on the (possibly) finer basis mesh from the geometry file and the contributions from each basis cell are added to obtain the value on the working mesh. In both cases, mind the value of 'b2news_area_fix', which should be also declared in b2ag.dat if the non-default behaviour is wanted.

b2agmt_qc_style
integer
2

When b2agmt_qc_style.eq.1, the cosine of the angle between the left face of cells and the magnetic field direction is computed using information from cells to both the left and right of the face, based on interpolations of the qz array (cosine at cell centers). This is the default treatment in versions 3.0.7 and 3.0.8. When b2agmt_qc_style.eq.2, the cosine of the angle between the left face of cells and the magnetic field direction is computed assuming that it is the angle between the left cell face and the bisector of the poloidal direction in the left and right cells sharing the common face. This is the default treatment in versions 3.1.0 and following. When b2agmt_qc_style.eq.0, we only use information from the cell at the right of the face. This is the treatment used up to version 3.0.6, inclusively.

b2agdr_redef_qc
integer
1

When b2agdr_redef_qc.eq.1, the cosine of the angle between the left face of a cell and the magnetic field direction is interpolated from the values at the cell centers. When b2agdr_redef_qc.eq.0, we only use information from the cell at the right of the face. This is the treatment used up to version 3.0.6, inclusively. This switch is only active if b2agmt_qc_style.eq.0.

b2agdr_redef_gmtry
integer
1

When b2agdr_redef_gmtry.eq.1, geometrical quantities are adjusted so as to ensure that the poloidal flux between two neighbouring flux surfaces remains constant and that toroidal magnetic field times major radius is the same constant for all cells independently of whether it is computed at cell centers, cell faces, or cell corners.

b2agfs_periodic_bc
integer
0

periodic_bc specifies if this is either an island or limiter geometry. If periodic_bc.eq.1 then island/limiter treatment is turned on. We differentiate between the two case through nncut: nncut.eq.0 = limiter case nncut.ge.1 = island divertor case (there should be nncut islands then) The case periodic_bc.eq.-1 is used to remove tranverse physics in 1-D cases. If periodic_bc.eq.0 then we have the usual treatment. No other values are currently allowed. To be used in b2ag.dat.

b2agsi_isymm
integer
1

isymm specifies the type of symmetry of the geometry: isymm.eq.0 implies a slab geometry, isymm.eq.1.or.isymm.eq.2 imply rotational symmetry about the crx=0 axis, and isymm.eq.3.or.isymm.eq.4 indicate rotational symmetry about the cry=0 axis. Other values are not allowed. isymm.eq.1.or.isymm.eq.3 mean a toroidal geometry case, i.e. with a toroidal (out-of-plane) magnetic field component. isymm.eq.2.or.isymm.eq.4 mean a cylindrical geometry case, i.e. no toroidal magnetic field component. To be used in b2ag.dat.

Group

coreregno is the boundary index of the core boundary in the input files b2ah.dat and b2mn.dat. For standard single-null and double-null cases, the default value of coreregno is 1. For a straight geometry or limiter case, the default value of coreregno is 0. coreregn2 is the boundary index of the second core boundary in case of a double-null geometry, and is not used otherwise.

b2stbc_coreregno
integer
See description

b2stbc_coreregn2
integer
4

Group

pfrregno1 is the boundary index of the first half of the private flux region boundary on which feedback is being applied (through b2stbc_ndes or b2stbc_private_flux_puff) in the input files b2ah.dat and b2mn.dat. pfrregno2 is the second half of the same private flux region. For a standard single null, the pair should be (0,2). For a standard double-null, the lower private flux region is labelled with the pair (0,5), and the upper private flux region with the pair (2,3). One can use only one private flux region by setting pfrregno1.eq.pfrregno2.

b2stbc_pfrregno1
integer
0

b2stbc_pfrregno2
integer
2

b2stbc_solregno
integer
3

solregno is the boundary index of the SOL North boundary in the input files b2ah.dat and b2mn.dat. For a standard single-null case, solregno is 3. For a standard double-null case, solregno for the outer SOL North boundary would be 7.

b2agmt_1d_width
real
1.0

For 1-D cases, gives the width of the domain (in m) in the third (toroidal) dimension.

b2stbr_first_flight_no_of_start_points
integer
2*(nx+2)+2*max(nncut,1)*(ny+2)

When the first flight model is turned on, this number must be greater than or equal to the num ber of boundary cells on the mesh. Only in cases with special geometries (i.e. limiters, islands, ...) need it be increased beyond the default value above. This variable is only used within the first flight module.

b2agfs_geom_match_dist
real
1.0e-6

Distance used as the matching criterion when reading the geometry file.

b2agfs_Bt_adjust
integer
0

If the mesh is offset (See b2agfs_xoffset, b2agfs_yoffset below) and Bt_adjust.eq.1, then the magnetic field is recomputed for toroidal geometries, keeping the pitch constant but changing the toroidal field magnitude according to Bt = Bt0/R. To be used in b2ag.dat.

b2agfs_Bt_rescale
real
1.0

The magnetic field will be multiplied by Bt_rescale. All components of the field are scaled together. To be used in b2ag.dat.

b2agfs_pit_rescale
real
1.0

The magnetic field line pitch will be multiplied by pit_rescale. This means that the poloidal field component is multiplied by pit_rescale, while the toroidal field component is left unchanged. To reverse the plasma current direction, set pit_rescale to -1.0. The sign convention used is that a positive poloidal field points in the direction of increasing . Be mindful however that, when inverting the sign of the poloidal magnetic field, you are also inverting the direction of the parallel velocity. You will then need to use the 'b2mndr_inverse_ua' switch to correct for that. To be used in b2ag.dat.

b2agfs_Bt_reversal
integer
0

If Bt_reversal.eq.1, then the sign of the toroidal field component only is reversed. The sign convention used is that a positive toroidal field leads to a Bx(grad(B)) direction pointing down, so B is out of the page when looking at the usual view of the poloidal plane with the center line on the left. To be used in b2ag.dat.

b2agfs_min_pitch
real
1.0

Minimum allowed value for the pitch angle (in degrees) at the plates.

Group

xoffset and yoffset are offsets of the basis mesh in the x- and y-direction respectively. The mesh will be translated by (xoffset,yoffset) if any of the two is non-zero from its position given in the local_sonnet (See 'b2agfs_geometry' above) file. To be used in b2ag.dat.

b2agfs_xoffset
real
0.0

b2agfs_yoffset
real
0.0

Group

Rescaling factors of the x- and y- coordinates of the basis mesh. To be used in b2ag.dat.

b2agfs_xrescale
real
1.0

b2agfs_yrescale
real
1.0

b2agfs_nncut
integer
See description (integer)

Number of topological cuts in geometry. Needed only to force a different value from the one computed automatically by b2ag.

Group

Parameters describing the position and extent of the first topological cut, i.e. corresponding to the first X-point. Needed only to force different values from the ones computed automatically by b2ag. leftcut is the poloidal index of cells directly to the RIGHT of the left branch of the cut. rightcut is the poloidal index of cells directly to the RIGHT of the right branch of the cut. bottomcut is the radial index of cells directly below the cut. topcut is the radial index of cells directly above the cut.

b2agfs_leftcut
integer
See description (integer)

b2agfs_rightcut
integer
See description (integer)

b2agfs_bottomcut
integer
See description (integer)

b2agfs_topcut
integer
See description (integer)

Group

Parameters describing the position and extent of the second topological cut, i.e. corresponding to the second X-point. Needed only to force different values from the ones computed automatically by b2ag. leftcut2 is the poloidal index of cells directly to the RIGHT of the left branch of the second cut. rightcut2 is the poloidal index of cells directly to the RIGHT of the right branch of the second cut. bottomcut is the radial index of cells directly below the second cut. topcut is the radial index of cells directly above the second cut.

b2agfs_leftcut2
integer
See description (integer)

b2agfs_rightcut2
integer
See description (integer)

b2agfs_bottomcut2
integer
See description (integer)

b2agfs_topcut2
integer
See description (integer)

Group

Range of an optional isolated region to be included in the geometry. The isolated region will extend over the cell range spanned by (nxiso1:nxiso2,nyiso1:nyiso2). If only some of the four coordinates are given, the region is made to extent from the given coordinates to the end of the grid. Neighbourhood arrays and region indices are automatically adjusted.

b2agdr_nxiso1
integer
-2

b2agdr_nxiso2
integer
-2

b2agdr_nyiso1
integer
-2

b2agdr_nyiso2
integer
-2

Numerics
Data type
Default value

Group

Maximum and minimum number of iterations in the potential equation. It must hold that potitmin < potit.

b2news_potit
integer
50

b2news_potitmin
integer
0

b2news_potok
real
1.0e-2

Target residual for the potential equation.

b2news_ramp_slow
integer
0

If ramp_slow.eq.0 (default), the ExB and diamagnetic drifts multipliers are ramped on each call of b2news, otherwise they are only changed on the first call of the nstg loop on the timestep.

b2mndr_use_9pt_stencil
integer
1

Master switch to turn on the 9-point stencil numerical treatment. If set to 0, reverts to the old 5-point stencil. Only usable with the SOLPS5.2 physics model. The perpendicular viscosity current terms are not yet available within this treatment.

Group

Minimum residuals for stopping a run. All criteria must be met simultaneously for the run to stop. The continuity equation residual applies to the "ismain" species (See "Run" section).

b2mndr_min_areshe
real
0.0

b2mndr_min_areshi
real
0.0

b2mndr_min_aresco
real
0.0

Group

Minimum residuals for an internal solution loop to stop. Used in conjunction with (not in replacement of) the nstg(0:2) numbers. All nonzero criteria must be met simultaneously. The continuity equation residual applies to the 'ismain' species (See 'Run' section).

b2mndt_nstg_areshe
real
0.0

b2mndt_nstg_areshi
real
0.0

b2mndt_nstg_aresco
real
0.0

Group

Allows for solving only for the species range [nsmin:nsmax-1].

b2news_nsmin
integer
0

b2news_nsmax
integer
ns

Group

Upper and lower bounds used when writing out data for Eirene.

eirene_na_max
real
1e30

eirene_na_min
real
0.0

eirene_te_max
real
1e30

eirene_te_min
real
0.0

eirene_ti_max
real
1e30

eirene_ti_min
real
0.0

eirene_ua_max
real
+c

eirene_ua_min
real
-c

eirene_print_minmax
integer
0

Print min and max values of te, ti, na & ua

eirene_extrap
integer
1

If eirene_extrap.eq.1, then guard cell plasma parameter values are calculated from the neighbouring real cell values. If eirene_extrap.eq.0, the guard cell values are used unchanged.

eirene_ank_mods
integer
0

If ank_mods.ne.0, then uses an additional scheme to ensure particle balance as the B2.5 solution evolves, due to the internal iteration scheme, away from the plasma background on which the Eirene sources were originally computed at the beginning of the time step. The user is referred to the text in $SOLPSTOP/doc/Source_Scaling_in_B2.pdf for a full description of the method used. Cannot be used in conjunction with 'eirene_ionising_core'.

eirene_dpc_fix
integer
1

If dpc_fix.eq.1, then uses the true particle source from the stratum. If dpc_fix.eq.2, sets this particle source to zero. The equivalent of the old behaviour is dpc_fix.eq.0 and is wrong!

b2stbr_sna_corr
real
0.0

Now obsolete. This speed-up scheme using artificial sources is now species-resolved, and its parameters are to be provided through the numerics namelist. Please refer to the corresponding part of the documentation. Multiplier to the neutral source differential between puffing and pumping strata for code speed-up. See E. Kaveeva et al., Nucl. Fusion 58 (2018) 126018 for details.

b2stbr_eir_src_nhist
integer
1

If b2stbr_eir_src_nhist.gt.1, then Eirene sources are accumulated and a moving average is computed. Note that only one of b2stbr_eir_src_nhist, eirene_neutr_avg, or eirene_underrelax may be nonzero.

eirene_neutr_avg
integer
0

If eirene_neutr_avg.gt.0, then Eirene sources are accumulated and averaged until eirene_neutr_avg+1 steps, at which point the averaging process is reset. Note that only one of b2stbr_eir_src_nhist, eirene_neutr_avg, or eirene_underrelax may be nonzero.

eirene_underrelax
integer
0

If eirene_underrelax.gt.0, then an underrelaxation scheme is used for the Eirene sources, with an underrelaxation ratio of 1/eirene_underrelax. Note that only one of b2stbr_eir_src_nhist, eirene_neutr_avg, or eirene_underrelax may be nonzero.

eirene_uub_style
integer
0

If eirene_uub_style.eq.0, compute poloidal velocities passed to Eirene from ua, vadia, wadia, vaecrb arrays. If eirene_uub_style.eq.1, compute poloidal velocities passed to Eirene from fna and fna_eir fluxes.

b2news_area_fix
integer
3

When area_fix.eq.0, recovers old SOLPS5.0 behaviour. If area_fix.ge.1, then certain computations of poloidal velocities are done by dividing flows by the area normal to the flux tube as opposed to the area of contact. If area_fix.ge.2, then additionally this treatment is used for the parallel contact area used in determining plasma flux limiters. If area_fix.ge.3, then additionally this treatment is used for all parallel contact areas.

b2npmo_ion_vlct_restrict
integer
0

If ion_vlct_restrict.ne.0, the parallel speed of ions is limited to be no more than 3 times the global plasma sound speed. In addition, if ion_vlct_restrict.eq.2, the ExB ion speeds are limited to be no more than twice the local ion sound speed.

b2tfhe_vis_per
real
0.0

vis_per is a multiplier to the perpendicular viscosity current. If vis_per.ne.0.0, the electric potential equation is solved by the subroutine b2npp7 using a 7-point stencil. The value '1.0' is recommended for runs with drifts when perpendicular viscosity and corresponding perpendicular viscosity current is taken into account. Cannot be used in conjunction with the 9-point stencil numerical treatment. If used with the 5-point stencil treatment and with fluid neutrals, must be equal to b2tfnb_vis_per for numerical stability reasons.

b2stbc_sheath_drift_fix
integer
1

If sheath_drift_fix.eq.0, then the drift velocity used in the sheath boundary conditions is the sum of diamagnetic and ExB contributions (old, but likely wrong, treatment). If sheath_drift_fix.eq.1, then the drift velocity used in the sheath boundary conditions is the ExB velocity only (recommended).

b2stbc_fix_fch_in_fhe_sheath
integer
2

If fix_fch_in_fhe_sheath.eq.0, then the wrong (old) implementation of the FCH contribution to FHE used; If fix_fch_in_fhe_sheath.eq.1, then the wrong (second) implementation of the FCH contribution to FHE used; If fix_fch_in_fhe_sheath.eq.2, then the correct implementation of the FCH contribution to FHE used;

b2stbr_potential_at_guard_cell
integer
1

If potential_at_guard_cell.eq.1, the electric potential used for the computation of the incident energy for sputtering yields is taken as the value in the guard cell. If potential_at_guard_cell.eq.0, the value from the neighbouring real cell is used instead.

b2trcl_conductive_limit
integer
1

When set to '1', flux limit of the parallel electron and ion heat fluxes is applied to transport coefficients. It is recommended '1'. If 'b2trcl_conductive_limit' '0' then the keys 'b2tfhe_lim_flux' and 'b2tfhi_lim_flux' must be '0'.

b2trcl_core_cond_limit
integer
0

If core_cond_limit.eq.0, then the heat flux limits due to chvemx and chvimx are not applied in the core. Switch only active if 'b2trcl_conductive_limit' .ne. 0.

b2tlh0_flux_limit_style
integer
2

If '0', use the SOLPS5.0 scheme for neutral heat conductivity flux limits. If '1', SPB form to calculate parallel and perpendicular neutral heat conductivity flux limit (does not preserve symmetry, kept for backward compatibility reasons). If '2', modifies the SPB treatment for the flux limits to be applied on the transport coefficients directly. It is recommended '2'.

b2tral_mode
integer
1

Switch to choose between various interpolation schemes for transport coefficients (Does not apply to pinch velocities vla or to the temperature-driven electric conductivity alf). mode.eq.-1: harmonic averaging mode.eq.0 : geometric averaging mode.eq.1 : arithmetic averaging (SOLPS5.0 formulation) mode.eq.2 : arithmetic averaging (SOLPS4.0 formulation)

Group

Switches to toggle between the standard 5.0 hybrid scheme (no_hybr.eq.0) and the old 4.0 upwind scheme (no_hybr.eq.1). These apply separately to the electron heat, ion heat and particle conservation equations. If hybr2.ne.0, then a mixed scheme is used where only the conductivity is computed according to the 4.0 scheme.

b2tfhe_no_hybr
integer
0

b2tfhi_no_hybr
integer
0

b2tfnb_no_hybr
integer
0

b2tfhe_hybr2
integer
0

b2tfhi_hybr2
integer
0

Group

If upwind.ne.0, then the SOLPS4 upwind scheme in b2tfhe_ and b2tfhi_ to obtain the heat fluxes.

b2tfhe_upwind
integer
0

b2tfhi_upwind
integer
0

b2tfnb_pflux_cor
integer
1

If pflux_cor.eq.1 and fna_mdf is used, enforces that the integral particle flux across the domain boundaries computed from fna is equal to the same integral computed from the fna_mdf fluxes.

b2trcl_cvsa_mltpl
real
1.0

Artificial coefficient providing faster convergence to the neoclassical electric field but giving a distortion of the flows in the SOL as a side-effect. Can be applied <>1 during the convergence and turned off for the final stage of calculations. Use with caution.

b2trcl_csig_mltpl
real
1.0

Multiplier to the electrical conductivity between guard cells along the core boundary. A large value helps to damp numerical instabilities in the potential when drifts are turned on and the electron density and temperature are kept constant along the core boundary.

Group

Number of expected nonzero matrix elements per matrix row.

b2ux5p_mult_nonzero
integer
10

b2ux7p_mult_nonzero
integer
10

b2ux9p_mult_nonzero
integer
15

b2ux11p_mult_nonzero
integer
15

Group

Multipliers to the number of nonzero elements in the solution matrix for workspace arrays in the matrix solver.

b2ux5p_mult_solvdim
integer
15

b2ux7p_mult_solvdim
integer
15

b2ux9p_mult_solvdim
integer
15

b2ux11p_mult_solvdim
integer
15

b2ux5p_mult_solvdim1
integer
10

b2ux7p_mult_solvdim1
integer
10

b2ux9p_mult_solvdim1
integer
10

b2ux11p_mult_solvdim1
integer
10

b2ux5p_style
integer
2

Choose the type of 5-point stencil matrix solver. Style.eq.0 = iluter, Style.eq.1 = slv5pt, Style.eq.2 = MA28. NOTE: Only style.eq.2 will give good results. Other values are NOT recommended! style.eq.0 and style.eq.1 are only applicable to linear geometries with no cuts and no isolated regions.

b2ux7p_style
integer
2

Choose the type of 7-point stencil matrix solver. Style.eq.0 = iluter, Style.eq.1 = slv5pt, Style.eq.2 = MA28copy3. Style.eq.3 = SDRV from YSMP. NOTE: Only style.eq.2 will give good results. Applying style.eq.3 should be corrected and is no longer recommended. It might give slow convergence or even divergence of the potential equation. Other values are NOT recommended! style.eq.0 .or. style.eq.1 will return an error.

b2ux9p_style
integer
2

Choose the type of 9-point stencil matrix solver. Style.eq.0 = iluter, Style.eq.1 = slv5pt, Style.eq.2 = MA28copy. NOTE: Only style.eq.2 will give good results. Other values are NOT recommended! style.eq.0 and style.eq.1 will return an error.

b2ux11p_style
integer
2

Choose the type of 11-point stencil matrix solver. Style.eq.0 = iluter, Style.eq.1 = slv5pt, Style.eq.2 = MA28copy4. NOTE: Only style.eq.2 will give good results. Other values are NOT recommended! style.eq.0 and style.eq.1 will return an error.

Group

Paremeter needed for iluter matrix solver.

b2ux5p_acpar
real
8.0

b2ux7p_acpar
real
8.0

b2ux9p_acpar
real
8.0

b2ux11p_acpar
real
8.0

b2stbc_fchy_dia
real
0.0

Multiplier to the neoclassical current and diamagnetic heat flux convective boundary conditions, also multiplied by facdrift. Adds a poloidal variation consistent with neoclassics and diamagnetic contributions to the heat flux boundary conditions. Should only be used with the 5.0 model and heat flux boundaries. Allows use b2stbc_integral_current if fchy_dia.eq.0, forbids it otherwise.

b2stbc_fchy_dia_coreonly
integer
1

If fchy_dia_coreonly.eq.1, the neoclassical current and diamagnetic heat flux convective boundary conditions are only applied on the core boundary. If fchy_dia_coreonly.eq.0, those are applied to all boundaries, including PFR, North SOL edge and diverted island center boundary.

b2stbc_neoclassical
real
0.0

Real parameter which establishes boundary conditions for radial component of the current for North and South boundaries when these lie on closed flux surfaces. If b2stbc_neoclassical is 0 then the radial component of the current is zero. If b2stbc_neoclassical is not 0 the radial component of the current is given by the neoclassical value. b2stbc_neoclassical is superseded if facdrift.ne.0. This cannot be used in conjunction with b2stbc_integral_current below.

b2stbc_cbc
real
1.0

Multiplier to the ExB velocity for sheath boundary conditions in b2stbc_spb and BCMOM=13 case of b2stbc_phys.

b2stbc_integral_current
real
0.0

If integral_current.gt.0, corrects current sources so that there be no surface current at the North and South edges of the edge plasma. The value of integral_current multiplies the correction term added to the current source. This setting is incompatible with the normal use of diamagnetic drift terms (facdrift.gt.0.0 .and. b2stbc_fchy_dia.ne.0.0) or neoclassical boundary conditions (b2stbc_neoclassical.gt.0.0).

b2stbr_first_flight_dl
real
0.001

Step length (in metres) for computing the first flight model chords.

b2stbr_taumax
real
0.05

Now obsolete. The speed-up scheme is now species-resolved, and its parameters are to be provided through the numerics namelist. Maximum allowed fraction of source to be added or substracted to the real source in the method of effective sources for code speed-up.

b2stbr_c_pumpavr
real
0.02

Underrelaxation parameter to compute the artificial source in the method of effective sources for code speed-up.

b2stbr_first_flight_no_of_flights
integer
9

Number of chords started from each start point in the first flight model.

b2stbr_first_flight_table_size
integer
200000

Workspace size given to the first flight table.

Group

Small level sources introduced in all cells.

b2stbc_she0ep
real
1.0e-36

b2stbc_shi0ep
real
1.0e-36

b2stbc_sna0ep
real
1.0e-36

b2stbc_bcpot_16_step
integer
50

Frequency (in number of calls to b2stbc_phys) at which the constant value of the potential at the boundaries where BCPOT=16 is applied will be recomputed.

b2stbc_stab_coeff_sheath_te
real
0.0

Stabilizing term to the source associated with boundary condition BCENE=15, when bcene_15_style.eq.1 (default). To help suppress electron temperature oscillations, this parameter can be set to a positive value. The range 1-100 is recommended.

b2stbc_stab_coeff_sheath_ti
real
0.0

Stabilizing term to the source associated with boundary condition BCENI=15. To help suppress ion temperature oscillations, this parameter can be set to a positive value. The range 1-100 is recommended.

b2stbc_stab_coeff_sheath_ni
real
0.0

Stabilizing term to the source associated with boundary condition BCCON=14. To help suppress ion density oscillations, this parameter can be set to a positive value. The range 1-100 is recommended.

b2mndr_na_min
real
1.0e4

Minimal density maintained in all cells for all species (in m^{-3}). It must be true that na_min is smaller than na_new, as well as any of the initial densities provided in b2ai.dat. This switch replaces 'b2mndr_na0eps' from SOLPS5.x.

b2mndr_na_new
real
1.0e14

Initial density (in m^{-3}) put in all cells for all new species if not overwritten by initial state file. This switch replaces 'b2mndr_na0eps' from SOLPS5.x.

b2upht_te_min
real
0.1

Sets the minimum electron temperature value (in eV).

b2upht_ti_min
real
0.1

Sets the minimum ion temperature value (in eV).

b2news_guard_flows
integer
2

If guard_flows.eq.0, flows between neighbouring guard cells are blocked. The blocking fully applies only if b2mndt_style.eq.0. Otherwise, use of b2news_l_fbound should be favoured. If guard_flows.eq.1, flows between neighbouring guard cells are kept. If guard_flows.eq.2, particle flows between neighbouring guard cells are blocked for the density equations and the incorrect corner values are replaced by interpolated values. Time derivative sources in guard cells are turned off. It is recommended 2.

Group

Flags to internally identify and isolate boundary cells to limit flows between neighbouring guard cells. If l_fbound.ne.0, flows between boundary conditions cells are turned off. If l_enebound.ne.0, remove non-boundary energy sources in guard cells. If l_timbound.ne.0, time derivative sources are not added to guard cells.

b2news_l_fbound
integer
0

b2news_l_enebound
integer
0

b2news_l_timbound
integer
0

Group

Parameters for spatial variation of the diamagnetic, ExB and viscosity drift term multipliers. These are allowed to have tanh profiles centered at tanh_a and of width tanh_b, where both quantities are in metres and measured along the radial coordinate for the cell column ix.eq.fac_ref (default value is jxa, see Geometry section for its computation). The maximum value of facdrift and fac_ExB is controlled by their respective _start and _target switches, see Run section for details. For consistency with the naming convention of related variables: b2news_facExB_tanh_a is an alias for b2news_fac_ExB_tanh_a, b2news_facExB_tanh_b is an alias for b2news_fac_ExB_tanh_b, b2news_facvis_tanh_a is an alias for b2news_fac_vis_tanh_a, and b2news_facvis_tanh_b is an alias for b2news_fac_vis_tanh_b. Additionally, for all core cell rows where iy.le.iy_nocoreExB, fac_ExB(ix,iy) is set to zero. This means that ExB contributions and flows will be zeroed out in those cells. For consistency with the boundary condition treatment, the value iy_nocoreExB.eq.-1 is NOT recommended!

b2news_fac_ref
-
See description (integer)

b2news_facdrift_tanh_a
real
0.0

b2news_facdrift_tanh_b
real
0.0

b2news_fac_ExB_tanh_a
real
0.0

b2news_fac_ExB_tanh_b
real
0.0

b2news_fac_vis_tanh_a
real
0.0

b2news_fac_vis_tanh_b
real
0.0

b2news_iy_nocoreExB
integer
-2

nrings_for_no_speedup_averaging
integer
0

Number of poloidal rings in the confined region (counted from the separatrix towards the core boundary) where the speed-up method of the partial flux surface averaging (CORR_CORE_DN and CORR_CORE_DT) should not be used.

b2stbc_istyle_cur_contr_on_S_and_N
integer
2

When set to '2', SPB form of adding currents on the South core boundary is included by using BCPOT=12, and on the South PFR and North boundaries by using BCPOT=13. It is recommended '2', in conjunction with the BCPOT=12 and BCPOT=13 settings, respectively. When set to '1', SPB form of adding currents on South and North boundaries is done explicitly in addition to other existing boundary conditions for the potential equation. The old 5.0 calculation is recovered by using the value '0'.

b2stbc_istyle_fchi
integer
0

If '1', explicitly use the expression (bx*cs*na) of particle flux (fna) from boundary condition instead of fna, for boundary condition type BCPOT=11.

b2news_recalculate_contributions
integer
1

If recalculate_contributions.eq.0, turns off recomputation of sources when wrong_flow flag is active.

b2news_no_b2sral_call
integer
1

If no_b2sral_call.eq.0, add an additional call to recompute the sources in b2news_ to reproduce the behaviour from SOLPS4.

b2news_do_2nd_b2npco_call
integer
0

If do_2nd_b2npco_call.eq.1, perform a second call to the density equation solve to improve particle balance, as done in SOLPS4.

b2news_re_eval_prtls_fluxes
integer
0

If re_eval_prtls_fluxes.eq.1, the particle fluxes are recomputed at the end of b2news_. This is necessary for rescaling of the Eirene sources during coupled runs, so this switch is superceded by use_eirene, and also needed to reproduce SOLPS4 runs.

b2mndt_style
integer
1

If 0, the SOLPS5.0 physics model is used, by calling the b2news routine. If 1, the SOLPS5.2 physics model is used, and b2news_ is called instead. If 2, the SOLPS5.2 physics model is used, and b2news_m is called instead to run the code in fully self-consistent time-dependent mode. B2news_m uses new order of solving equations: first the density equations, then the parallel velocity, electrical potential and Te and Ti equations. If -1, corresponds to a special conversion run for SOLPS4.x data where new fluxes are not computed and equations are not solved.

b2mndt_ntim_step_out
integer
1

When set to a value of 'K', residuals at each K-th step will be written in b2ftrace. It helps to avoid a huge b2ftrace files during long time run.

Group

Feedback relaxation parameters. See Physics section for individual feedback quantities.

b2stbc_cbsnafac
real
0.01

b2stbc_fchycore_alpha
real
0.1

b2stbc_fheycore_alpha
real
0.1

b2stbc_fhiycore_alpha
real
0.1

b2stbc_fnaycore_alpha
real
0.1

b2stbc_nesepm_alpha
real
1.0e-3

b2stbc_nesepm_beta
real
0.0

b2stbc_nesepm_gamma
real
0.99

b2stbc_volrec_alpha
real
1.0e-3

b2stbc_volrec_beta
real
1.0

b2stbr_sput_chem_alpha
real
1.0e-2

b2stbr_sput_phys_alpha
real
1.0e-2

Group

Additional feedback strength adjustment parameters for BCCON=13 boundary condition, density adjusted to match a specific flux. The density is adjusted by a factor of: (1.0_R8+CONPAR(IS,IB,2)*(DFS-FS)/ (abs(DFS)+abs(FS)+abs(type13_norm)+abs(NAS*type13_fac))) where FS is the current particle flux, DFS is the desired particle flux, and NAS the current volume-averaged density. The desired flux DFS is computed as CONPAR(IS,IB,1)+CONPAR(IS,IB,3) where the first number is provided directly by the user in b2.boundary.parameters and the second is internally set to correspond to the re-entry of ionised neutrals that have crossed into the core for cases run with Eirene where eirene_ionising_core is activated. See also the description of 'eirene_ionising_core'.

b2stbc_type13_fac
real
1.0

b2stbc_type13_norm
real
1.0e15

Group

Parameters related to solving the temperature equation for the target plate elements in depth. If linlog.eq.1, a linear subdividing of the plate element is used. If linlog.eq.2, a logarithmic subdividing is used, with the surface layer being ratio times thinner than the last layer in the bulk. ratio must be larger than 1.

heatdiff1D_linlog
integer
1

heatdiff1D_ratio
real
100.0

b2tlh0_hcimx_flag
integer
1

When set to -1, only the gradient to the left/bottom is used to compute the conductive neutral flux limits. When set to 0, only the gradient to the left/bottom is used to compute the conductive neutral flux limits, except when these do not exist (the other face value is used).

b2trno_flux_limit_to_dpa
integer
1

If '1', flux limit to neutrals contribution to dpa0 - the diffusion coefficient is applied in b2tlc0.F. It is recommended '1'. b2tlc0.F has the flux limit parameters α and γ which are given by 'b2tlc0_alpha' and 'b2tlc0_gamma'. 'b2tfnb_alpha' and 'b2tlc0_alpha' cannot be different from zero simultaneously. 'b2tfnb_alpha' gives another form of flux limit which is applied to the whole particle flux.

Group

Experimental: allows for density feedback of the number of electrons accompanying species 'isfb' at location (ixfb,iyfb). For USN topologies, the default value for ixfb is 3*nx/8. For all others, it is 5*nx/8. Note that ixfb and iyfb are real numbers!

b2mndr_isfb
real
ismain

b2mndr_ixfb
real
See description

b2mndr_iyfb
real
ny/2

b2mndr_ne_wanted
real
0.0

b2mndr_ne_wanted_time
real
0.0

b2mndt_use_b2srst
integer
1

Switches off the stabilization of the source coefficients.

b2mndt_rxf
real
See description

Main under-relaxation parameter. Should be set to 1.0 (default) if running in time-dependent mode (b2mndt_style.eq.2). Otherwise, default value is 0.5. Setting this switch to zero prevents updating of the principal code quantities.

Group

Under-relaxation parameters for the parallel momentum, continuity, potential and energy equations respectively. Setting these switches to zero prevents updating of the associated code quantities.

b2news_xfm0
real
1.0

b2news_xfm1
real
1.0

b2news_xfm2
real
1.0

b2news_xfm3
real
1.0

Group

pcm0 specifies an additional under-relaxation factor that is applied to the velocity correction. It is required that 0.le.pcm0.and.0.le.pcm1. Not used if running in time-dependent mode (b2mndt_style.eq.2).

b2npco_pcm0
real
1.0

b2npco_pcm1
real
1.0

b2npco_rxg
real
1.0

rxg specifies a special under-relaxation parameter. A term of the form "abs(residual)/rxg" is added to the diagonal of the matrix of the correction equation, with the effect of limiting the computed correction. rxg is dimensionless and of order unity; smaller values of rxg imply stronger damping. Not used if running in time-dependent mode (b2mndt_style.eq.2).

Group

pcm0 specifies an additional under-relaxation factor that is applied to the temperature correction. It is required that 0.le.pcm0.and.0.le.pcm1. Not used if running in time-dependent mode (b2mndt_style.eq.2).

b2npht_pcm0
real
1.0

b2npht_pcm1
real
1.0

b2npht_rxg
real
1.0

rxg specifies a special under-relaxation parameter. A term of the form "abs(residual)/rxg" is added to the diagonal of the matrix of the correction equation, with the effect of limiting the computed correction. rxg is dimensionless and of order unity; smaller values of rxg imply stronger damping. Not used if running in time-dependent mode (b2mndt_style.eq.2).

Group

When set to '1', SPB form of the program b2sihs_ is called. It is recommended '1'.

b2npht_style
integer
1

b2nph9_style
integer
1

b2npmo_rxg
real
1.0e6

Normalisation factor for the parallel momentum equation. Not used when running in time_dependent mode (b2mndt_style.eq.2).

b2news_poteq
integer
1

If poteq.eq.0, the potential equation is jumped over and not solved. If poteq.eq.2, the potential is set to 3.1*Te/qe as per SOLPS4.0. If poteq.eq.1, the potential equation is solved according to the no_solve switch settings. If poteq.ne.1, then 'b2tfhe_no_current' must be set to '1'.

b2nxdv_style
integer
1

When set to '1', the total friction force cancel is not calculated at the guard boundary cells. It is recommended '1'.

b2nxfc_style
integer
1

style specifies the precise form of interpolation used in the computation of flcb and cvcb. When set to '1', SPB form of the transport terms in the momentum correction equation is used. It is recommended '1'.

b2nxfx_style
integer
1

When set to '1', SPB form of an expression that occurs in the electron-atom thermal force is used. Only used if b2sigp_style.ne.2. It is recommended '1'.

Group

Specify the type of linearisation used in the thermal force term.

b2sifr_styl0
integer
0

b2sifr_styl1
integer
0

b2tfhe_mode_ehx
integer
0

Switch to choose between various discretization schemes when computing the poloidal electric field. See code for details.

b2sigp_style
integer
2

When set to '1', SPB form of the pressure gradient term on the right hand of the momentum balance equation is used. When set to '2', the parallel current term contains a correction due to impurities, when Z_eff is not equal to the average plasma ion charge. Only usable if the potential equation is solved simultaneously (b2news_poteq.eq.1). The default value of '2' is recommended for cases with one main hydrogenic species (or at least where the main species is the lightest one) and any amount of impurities. It is not guaranteed to yield correct results for hydrogen isotopic mixtures or non-hydrogenic plasmas.

b2sigp_pressure_restriction
integer
1

When set to '1', a CFL-like restriction is applied to the pressure gradient term for minority ions and for neutrals species.

b2xzdd_zero_dead_and_core
integer
1

If 1 then zero passed sources in dead regions, If 2 zero passed sources in dead regions and core boundary cells If 0 then SKIP

Group

rf0-4 are numerical parameters, see the code. All must be non-negative and of order unity; larger values are meant to provide more stabilisation. Some or all may be set to zero and removed eventually. I have had some experience to indicate that rf0, rf2, rf4 may have a useful function; however, later changes in the code may have made all these parameters superfluous.

b2sihs_rf0
real
1.0

b2sihs_rf1
real
1.0

b2sihs_rf2
real
1.0

b2sihs_rf3
real
1.0

b2sihs_rf4
real
1.0

b2sihs_style
integer
0

style determines the form of the strange electron-atom energy transfer term.

Group

Multipliers to the density, parallel momentum, heat, potential, and electron particle time-derivative source terms, respectively. 'phm4' is normally zero since the potential equation contains no source terms.

b2srdt_phm0
real
1.0

b2srdt_phm1
real
1.0

b2srdt_phm3
real
1.0

b2srdt_phm4
real
0.0

b2srdt_phm5
real
1.0

Group

(rf0/1/2/3 for numerical stabilisation)

b2srst_rf0
real
1.0

b2srst_rf1
real
1.0

b2srst_rf2
real
1.0

b2srst_rf3
real
1.0

b2stcx_rg0
real
1.0

(rg0 for numerical stabilisation; needs experiments.)

b2stcx_styl0
integer
0

Specifies the type of linearisation used in the charge exchange momentum source term.

eirene_mc_linearisation
integer
1

Specifies the type of linearisation used in the sources derived from the Monte Carlo neutrals. If linearisation.eq.0, all sources are fed to the constant term, if linearisation.eq.1, positive terms go in the constant term, and negative terms in the proportional term. 'eirene_mc_linearization' is an alias for this switch.

b2stbm_linearisation
real
1.0

Same as above, but applied to the sources coming for an externally coupled code providing plasma sources, for instance a kinetic treatment of trace impurity ions. 'b2stbm_linearization' is an alias for this switch.

b2stbm_impgyro_mod
integer
0

Specifies the frequency (in units of full B2.5 timesteps) at which an externally coupled code providing additional source (for instance a kinetic treatment of trace impurity ions such as IMPGYRO) should be called.

Group

Damping coefficient applied to the atomic physics sources.

b2stel_rg0
real
1.0

b2stel_rg1
real
1.0

b2stel_rxm0
real
0.0

b2stel_rxm1
real
0.0

b2stel_rxm2
real
0.0

b2stel_rxm3
real
0.0

b2stel_rxm4
real
0.0

b2stel_styl0
integer
0

Specifies the type of linearisation used in the charge exchange momentum source term.

b2tfcc_xfac
real
1.0

Multiplier to the pressure force term.

b2tfhe_mdf
integer
0

If '1', SPB new form of calculating electron heat flux is used. It is recommended '1' for runs with drifts.

b2tfhe_no_current
integer
0

If no_current.eq.1, all currents are set to zero. The setting no_current.eq.1 must be used if the potential equation is not explicitly solved for, i.e. for b2news_poteq.ne.1.

b2tfhe_prl_cur
real
1.0

Multiplier to the parallel current.

b2tfhi_mdf
integer
0

If '1', SPB new form of calculating ion heat flux is used. It is recommended '1' for runs with drifts.

b2tfnb_drift_style
integer
See description

When set to '0', drift velocities are calculated at cell centers (old SOLPS5.0 style). When set to '1', drift velocities are calculated at cell faces (SOLPS5.2 style). When set to '2', drift velocities are calculated at cell faces too, but a better approximation of the drift velocities and corresponding fluxes is used. This approximation guarantees that the divergences of the ExB drift velocity and diamagnetic drift fluxes are numerically zero in a constant B-field, which simplifies the physical analysis. Setting 'b2tfnb_drift_style' to '2' requires that (and may be activated only if) the b2fgmtry file was generated with 'b2agdr_redef_gmtry' set to '1' (default). If 'b2agdr_redef_gmtry' was set to '0', the default value for 'b2tfnb_drift_style' is '1'. It is recommended '2'.

b2tfnb_PSch_style
integer
See description

Controls the numerical approximation for the so-called Pfirsch-Schlueter fluxes of particles and internal energy (divergent part of diamagnetic drift in the SOLPS5.2 physics model). Default value is '2', unless the b2fgmtry file was generated with 'b2agdr_redef_gmtry' set to '0' (old style), in which case, the value is '1'.

b2tiner_fch_inert_style
integer
See description

Controls the numerical approximation for the inertia current. Default value is '2' unless the b2fgmtry file was generated with 'b2agdr_redef_gmtry' set to '0' (old style), in which case, the value is '1'. A value of '0' recovers the older behaviour (versions 3.0.6 or less).

b2tiner_inert_all_ions
integer
1

When set to 1 the subdivision between all ions of the inertia current is applied. The SOLPS5.2 physics model is used. Otherwise the total inertia current (summed over all ions) is assigned to main ions.

b2tfnb_poleldr
real
1.0

Multiplier to the poloidal electrical drift velocity.

b2tfnb_radeldr
real
1.0

Multiplier to the radial electrical drift velocity.

b2tfnb_poldidr
real
1.0

Multiplier to the poloidal diamagnetic drift velocity.

b2tfnb_raddidr
real
1.0

Multiplier to the radial diamagnetic drift velocity.

b2tfnb_mdf
integer
0

If '1', SPB new form of calculating particle flux is used. It is recommended '1' for runs with drifts.

b2tfnb_xfrhie
real
1.0

Multiplier to the Rhie and Chow upwind correction.

b2upht_stylec
integer
0

(stylec is a numerical switch, needs experiments)

b2usmo_cfc0
real
1.0

Linearisation constant.

b2usht_cor_diag
real
1.0

Linearisation constant for the temperature equilibration term.

b2ush9_cor_diag
real
1.0

Linearisation constant for the temperature equilibration term.

b2srsm_enable
integer
0

If enable.ne.0, then the sources for particle, parallel momentum, electron and ion heat are rescaled, for non-boundary cells, if the local timestep exceeds the physics timescale implied by those sources.

b2tinnt_style
integer
1

Integer switch to choose the numerical treatment of the ion pressure gradient calculation for the ion-neutral current. If b2tinnt_style.eq.0, then the chain rule is first applied to the product of density and temperature, and (grad n)/n is rewritten as grad(log(n)). If b2tinnt_style.eq.1 (default), then the gradient of the product of density and temperature is calculated directly.

Output
Data type
Default value

b2mndr_b2time
integer
1

Specifies the number of timesteps between writes of the b2time.nc time-dependent file. If b2time.gt.0, always writes out on the last timestep. If b2mndr_stim.lt.0, data from the current run is appended to the existing b2time.nc file, otherwise the file is overwritten.

b2mndr_tally
integer
1

Specifies the number of timesteps between writes of tallies. If tally.gt.0, always writes out on the last timestep.

b2mndt_moitlv
integer
-1

Controls detailed monitoring output. moitlv.eq.-1 means no output, moitlv.eq.0 means output once per timestep, moitlv.eq.1 means output once per nstg0 iteration, moitlv.eq.2 means output once per nstg1 iteration and moitlv.eq.3 means output once per nstg2 iteration. See 'b2mndr_nstg?' description in Run section for more details.

b2mndt_moqtlv
integer
3

Controls quick trace output. moqtlv.eq.-1 means no output, moqtlv.eq.0 means output once per timestep, moqtlv.eq.1 means output once per nstg0 iteration, moqtlv.eq.2 means output once per nstg1 iteration and moqtlv.eq.3 means output once per nstg2 iteration. See 'b2mndr_nstg?' description in Run section for more details.

b2mndr_mvnum
integer
0

Specifies the maximum number of instances at which movie data will be output.

b2mndr_mvinc
integer
1

Specifies the number of timesteps between movie output. If greater than 1 and the last timestep does not correspond to a planned frame, an extra endstate frame is added.

b2mndr_plasnum
integer
0

Specifies the maximum number of instances at which extra writes of b2fplasmf.xxxx will occur.

b2mndr_plasinc
integer
1

Specifies the number of timesteps between b2fplasmf.xxxx writes.

b2mndr_cdfmovietim
real
0.0

If non-zero, the movie file b2movies.nc is generated, containing several 2d quantities. Gives the real-time interval between writes of movie frames in b2movies.nc. If non-zero, must be at least as large as the simulation timestep.

cdfmovie_fields
integer
1

Controls the quantities outputted to b2movies.nc. If cdfmovie_fields.ge.1 then only the main state variables (na, ne, Te, Ti, etc.) are written with each write to b2movies.nc. If cdfmovie_fields.ge.2 then additional quantities (e.g. fluxes, particle and energy sources) are also included.

b2mndr_ntim_save
integer
0

Another option for plasma state file output. If greater than 0, gives the number of B2.5 full interations between successive write-ups of plasmastate files, in addition to the ones written at regular CPU intervals (see b2mndr_savecpu and b2mndr_plasmatim). Should be used, at the exclusion of other plasmastate write-up frequency settings, in conjunction with the Leuven Monte Carlo averaging scheme.

b2mndt_av
integer
0

If b2mndt_av.gt.0, turns on computation of running averages.

b2mndt_av_continue
integer
1

If b2mndt_av_continue.gt.0, continuously perform running averages.

b2mndt_av_ntim_batch
integer
500

If ntim_batch.gt.0, number of iterations used to compute batch averages, written out in 'b2batch.nc'.

b2mndt_av_ntim_run
integer
1000

If ntim_run.gt.0, number of iterations used for writing running averages.

b2mndt_av_batch_all
integer
0

If b2mndt_av_batch_all.ge.0, produces standard output for batch averages. If b2mndt_av_batch_all.eq.1, entire 2D fields of batch averages and variances for ne, te, ... are written. Expert use only, check $SOLPSTOP/doc/SOLPS-ITER_Eirene_averaging.pdf.

b2mndr_plasmatim
real
0.0

Another option for plasma state file output. If greater than 0, gives the real-time interval between successive write-ups of plasmastate files, in addition to the ones written at regular CPU intervals (see b2mndr_savecpu and b2mndr_ntim_save). Must then be at least as large as the simulation timestep.

b2mndr_ids_save
integer
0

Frequency, in timesteps, at which an IDS is saved containing the plasma state. Can be used in conjunction with b2mndr_ids_time and b2mndr_ids_av. If used, an IDS time slice will be written at the end of run. If negative, a single IDS will be written at the end of the run. Will not work if running a "0 timesteps" simulation, in which case the use of b2_ual_write is recommended.

b2mndr_ids_time
real
0.0

Frequency, in simulation seconds, at which an IDS is saved containing the plasma state. Can be used in conjunction with b2mndr_ids_save and b2mndr_ids_av. If non-zero, must be at least as large as the simulation timestep. If used, an IDS time slice will be written at the end of run. Will not work if running a "0 timesteps" simulation, in which case the use of b2_ual_write is recommended.

b2mndr_ids_av
integer
0

Frequency, in number of batch averages, at which an IDS is saved containing the averaged plasma state. Can be used in conjunction with b2mndr_ids_save and b2mndr_ids_time. The averaged plasma state is saved as a separate occurrence of the edge_profiles and edge_sources IDSs.

b2wdat_iout
integer
0

If iout.eq.1, a large set of *.dat output files will be produced containing the values of a variety of code quantities, evaluated at the end of the B2.5 iteration. If iout.eq.2, one gets a set of profiles at the midplane and the targets. If iout.eq.3, one gets a set of files providing the principal code variables. If iout.eq.4, an even larger set of output files will be produced, for the purposes of a full run analysis, evaluated in the individual routines where the quantities are used. For even more detailed debugging analysis, one should instead use "procedure_name"_iout.eq.1. The files and their content are fully described in the Output_description.pdf file in the $SOLPSTOP/doc directory and Appendix G of the SOLPS-ITER manual.

get_residuals
integer
0

If get_residuals.eq.1, then the residuals of unsolved equations will be outputted into b2ftrace. Equations are unsolved if 'b2news_no_solve' is nonzero or any elements of the solveco, solvemo, solveee, solveei, or solvepo are set to .false. . By default, get_residuals.eq.0 and the residuals for unsolved equations are set to zero. The residual of the total momentum equation is nonzero when all momentum equations for parallel velocities are solved together. The residual of the total energy equation is nonzero when Te and Ti equations are solved together.

b2wdat_append
integer
0

If append.ne.0, the output files produced by the b2wdat_iout.eq.4 switch are appended upon every write, instead of being rewritten every time. For b2wdat_iout values 1 to 3, the value of append indicates the frequency, in number of main B2.5 timesteps, at which the files are appended. Data from the last timestep is always included.

my_out_digits
integer
6 or 15

Specifies the number of significant digits with which the *.dat files are written out. Defaults to 6 in normal mode and 15 in debug mode. Must be positive.

b2mndr_old_style
integer
0

If old_style.gt.0, old-fashioned (SOLPS4 style) output is added at the end of the b2mn.prt file.

b2mndr_av_read
integer
0

If b2mndr_av_read.gt.0, the initial plasma is the averaged solution read from the b2faveri file. Check $SOLPSTOP/doc/SOLPS-ITER_Eirene_averaging.pdf for details.

Group

The five switches above are safeguards numbers for when printing changes after a time step. The change is computed as: deltaX = abs((X(t)-X(t-1))/(X(t)+X_eps))

b2mndr_na_eps
real
1.0e19

b2mndr_po_eps
real
1.0e+1

b2mndr_te_eps
real
1.0e+1

b2mndr_ti_eps
real
1.0e+1

b2mndr_ua_eps
real
1.0e+4

b2mndr_trantim
real
0.0

Produces a numbered 'tran' file every trantim real-time seconds. An endstate file is written if it falls between scheduled write-up times. Only available within the -DJET environment. If non-zero, must be at least as large as the simulation timestep.

b2mwti_target_offset
integer
1

The diagnostic values from b2time.nc use guard cell values if target_offset.eq.0, and values from the neighbouring real cell if target_offset.eq.1. Fluxes are not affected.

b2mwti_2dwrite
integer
0

Controls additional output to b2time.nc. If 2dwrite.ge.1 then a few 2d arrays (ne, Te, Ti) are written with each write to b2time.nc. If 2dwrite.ge.2 then fluxes, electric potential, kinetic energy, and fluid particle and energy source terms are also included (e.g., rsana, rsahi, rqrad).

b2mwti_ismain0
integer
0

Index of the species used to create the 'dp3d?.last10' diagnostic files. Defaults to the neutral species associated with ismain. If no such species is declared, the default will be set to ismain. Is expected to either correspond to a neutral species or to ismain. Can also be used in b2ar.dat to specify the index of the main neutral CX species when resorting to the AMNS database (starting from version 1.3.2). If ismain is also defaulted, then will be 0.

b2mwqt_style
integer
1

Specifies the amount of data that is written out to b2ftrace. See the manual (Section on b2yq) for full details.

Group

If tallies_netcdf.ne.0, the file 'b2tallies.nc' is created, which contains the regional tallies in CDF format. If b2mndr_stim.lt.0, data from the current run is appended to the existing b2tallies.nc file, otherwise the file is overwritten. If b2mndt_av_ntim_batch.gt.0, the file 'b2batch.nc' is created, which contains the batch averages of the tallies. If b2wall_netcdf.ne.0, the file 'b2wall.nc' is created, which contains the wall tallies in CDF format [written every b2wall_netcdf main calls]. If b2mndr_stim.lt.0, data from the current run is appended to the existing b2wall.nc file, otherwise the file is overwritten. If balance_netcdf.ne.0, the file 'balance.nc' is created, which contains all of the arrays required by the balance post-processing routines, in CDF format. If balance_average.ne.0, the balance arrays are averaged over the number of completed timesteps (itim). The NetCDF files are written using the format selected by means of the b2mndr_cdf_default switch. The possible formats are:

  • 0: local NetCDF library default
  • 1: NetCDF classic format
  • 2: 64 bit format
  • 3: NetCDF4 format
  • 4: NetCDF4 classic format
  • 5: 64 bit data format. Format availability depends on local NetCDF library implementation.

tallies_netcdf
integer
0

b2stbr_b2wall_netcdf
integer
0

balance_netcdf
integer
0

balance_average
integer
0

b2mndr_cdf_default
integer
0

ank_tracing
integer
0

If ank_tracing.ge.1, additional tracing output from Andrei Kukushkin is produced, in files to be found in the tracing/ directory inside the run directory. The traces will be written every ank_tracing iteration. If b2mndr_stim.lt.0, data from the current run is appended to the existing files, otherwise the files are overwritten.

b2stbc_diagno
integer
0

Controls level of output in b2stbc and subservient routines. Level 1 (diagno.ge.1) output includes wrong_flow warnings, transport coefficients at the (nx/2,ny) basis mesh position, the solution found for the given heat flux at constant temperature bc, and all feedback diagnostics. Level 2 output (diagno.ge.2) includes the integral current correction, the boundary sources on the first call, excessive sound speeds, and the iterative progress to the given heat flux at constant temperature bc. Level 3 output (diagno.ge.3) includes the boundary sources on each call, and the boundary.prt file listing all boundary cells.

b2stbr_output
integer
0

Output flag for the first_flight model. If output.ge.1, the files start, end, and fort.88 are created, which contain information about the chords used in the model.

b2npmo_vlct_diagno
integer
1

Output flag to control diagnostics related to use of ion_vlct_restrict switch. If vlct_diagno.eq.0, the velocity restrictions are applied silently. If vlct_diagno.eq.1 (default), the user only gets a count of how many times the velocity restriction has been applied for each species, if any. If vlct_diagno.eq.2, the user gets the full details of where and how large the applied velocity restriction was, if any.

Group

For coupled runs, the code will create two files named fort.30 and fort.31, containing the plasma geometry and plasma state, respectively, for use by Eirene. This happens irrespective of the setting of the two switches above. If however, the user wishes to obtain these files for a non-coupled run, then these two switches can be set to 1 and the files will then be produced at the end of the run. If savef31.lt.0, then a fort.31.###### file is produced after every B2.5 time step. Additionally, if savef31.ne.0, the fort.31 file will be updated before every Eirene call for coupled runs.

eirene_savef30
integer
0

eirene_savef31
integer
0

b2mndr_inverse_ua
integer
0

If inverse_ua.eq.1, the code will produce a 'b2fstati_with-ua' file that contains the same plasma information, but with the opposite sign convention for the parallel velocity. The run will then proceed with the new velocities with their sign inverted.

b2yrdr_ns
integer
ns

New number of species desired when reading a new atomic rates file using b2yr.exe. Must be specified within b2yr.dat. To be used for checking atomic rates after bundling and before any plasma state files have been created or converted, i.e. when the number of species in the atomic rates file b2frates does not match the number of species declared in the run parameters file b2fpardf.

b2srsm_diagno
integer
0

Controls level of output in b2srsm. If diagno.ge.2, output will be given on every call. If diagno.eq.1, output will be given on main calls only.

Group

If cpu.gt.0, prints out the time spent in the matrix solver.

b2ux5p_cpu
integer
0

b2ux7p_cpu
integer
0

b2ux9p_cpu
integer
0

b2ux11p_cpu
integer
0

Group

Output flag for the matrix solvers. Larger numbers mean increasing output level.

b2ux5p_nltrsol
integer
2

b2ux7p_nltrsol
integer
2

b2ux9p_nltrsol
integer
2

b2ux11p_nltrsol
integer
2

eirene_mc_output_style
integer
1

If nonzero, prints sources computed by Eirene. If greater than 1, prints them on every use of the recycling sources, not just when they are computed.

ma28_nwrite
integer
0

If nwrite.gt.0, prints the content of the sparse matrix in the b2_matrix file, for the first nwrite calls.

b2news_ncallout
integer
-1

If the iteration number is equal to ncallout, then several output files 'b2ne_npmo', 'b2ne_xppb', 'b2ne_npco', 'b2ne+nppo' which detail the convergence behaviour and residuals.

b2tqna_diagno
integer
0

If diagno.gt.0, outputs details of the calculations of neutral transport coefficients when using the new_df0 model. See switch b2tqna_new_df0 for more details.

Group

idout0 and idout1 specify the desired selection of output segments; idout0 for output before the calculation and idout1 for output at the conclusion of the calculation. The generic description of either of these 'idout' variables follows. idout specifies the desired selection of output segments for printed and graphical output. Associated with each segment is a four-character word, which is identified on the printed output. (The same word may be associated with several segments.) A particular segment will be produced only if its associated word has a match, as defined by the routine strmas, in idout.

b2mndr_idout0
-
pgnl;pgmm;pzmm

b2mndr_idout1
-
pzmm

eirene_format
string
iter

This switch is to be provided within b2yt.dat to indicate to the b2yt converter the format of the original Eirene input.dat file to be modified. The accepted values are (case-insensitive): 'old' for input files from SOLPS4.0 and SOLPS5.0 runs using 'old' Eirene_96 'new' for input files from SOLPS4.0 and SOLPS5.0 runs using 'new' Eirene_99 'facelift' for input files from SOLPS5.1 runs 'juelich' for input files from Juelich Eirene versions (from 2008 to 2022) 'iter' for input files from SOLPS4.2/4.3 and SOLPS-ITER runs 'msv' for input files from the Eirene Milestone Version

solps_version
string
iter

This switch is to be provided within b2yt.dat to indicate to the b2yt converter the format of the original fort.44 file to be modified. The accepted values are (case-insensitive): '4.3' for a fort.44 file produced from SOLPS4.3 runs '5.0' for a fort.44 file produced from SOLPS5.0 runs '5.1' for a fort.44 file produced from SOLPS5.1 runs '5.2' for a fort.44 file produced from SOLPS5.2 runs 'iter' for input files from SOLPS-ITER runs (no conversion necessary)

ids_from_43
integer
0

This switch is to be used when running the b2_ual_write utility program to obtain an IDS from the SOLPS run results. If set to 1, the IDS will indicate that the results come from a converted SOLPS4.3 run with no additional calculation. By default, the IDS will indicate a SOLPS-ITER run.

Physics
Data type
Default value

b2siav_addvis
real
1.0

Multiplier to heat flux contribution to divergence of viscosity tensor in the momentum equation.

b2siav_addvis1
real
1.0

When not equal to '0.0', adds contribution to divergence of viscosity tensor coming from x-variations in B.

b2siav_style_qip
integer
0

If style_qip.eq.1, adds a classical ion heat conductivity term to the heat flux used to compute the heat viscosity current (see manual for full details).

b2npmo_b2sifr_
integer
1

If b2sigp_style is set to '2', this switch has no effect. When set to '1', the new correct form of the friction force is used, applicable for non-hydrogenic plasmas or hydrogenic mixtures. The value '0' corresponds to the old SOLPS5.0 treatment. Not recommended unless wanting to recover older 5.0 results.

b2sihs_istyle_Joule_heating
integer
1

If b2sigp_style is set to '2', this switch has no effect. When set to '1', there is no radial contribution in Joule heating because there are no physical reasons to take it into account. The value '0' corresponds to the old SOLPS5.0 treatment. If set to '2' or '3', will have the same physics meaning as the '0' or '1' settings, respectively, but use area interpolation instead of volume interpolation to compute cell face quantities.

b2sian_phm0
real
1.0

Multiplier to the parallel momentum source term associated with the anomalous current. It is recommended '1.0'. Only active if both the ExB and diamagnetic drifts are turned on. The value '0.0' corresponds to the old SOLPS5.0 treatment.

b2sicf_phm0
real
1.0

Multiplier of the centrifugal force term. It is recommended '1.0'. The value '0.0' corresponds to the old SOLPS5.0 treatment.

b2sicf_phm1
real
1.0

Multiplier of the centrifugal force correction term due to linearization. It is recommended '1.0'. The value '0.0' corresponds to the old SOLPS5.0 treatment.

Group

Real parameter which determines anomalous current. Both b2tfhe_anomalous and b2tanml_anomalous point to the same switch (backward compatibility with SOLPS5.2): b2tfhe_anomalous is checked first and only if it is not found is b2tanml_anomalous looked for. If b2tfhe_anomalous is 0 then anomalous current is switched off otherwise anomalous current is switched on, and the numerical value of b2tfhe_anomalous acts as a multiplier to the anomalous electrical conductivity and thermo-electric coefficients provided.

b2tfhe_anomalous
real
1.0

b2tanml_anomalous
real
1.0

b2tanml_anml_all_ions
integer
1

When set to 1 the subdivision between all ions of the anamalous current is applied. The SOLPS5.2 physics model is used. Otherwise the total anamalous current (summed over all ions) is assigned to main ions.

b2news_ExB
real
0.0

Real parameter which multiplies ExB flows. If b2news_ExB.eq.0 and b2news_facExB_start.eq.0 then ExB flows are switched off. If b2news_ExB is nonzero, then ExB flows are multiplied by that constant throughout the run. See also Run section on switches b2news_facExB_... for more details. A spatial fac_ExB profile is also possible, see Numerics section for details.

b2news_vis
real
0.0

Real parameter which multiplies the viscous drift flows. If b2news_vis.eq.0 and b2news_facvis_start.eq.0 then the viscous drift flows are switched off. If b2news_vis is nonzero, then the viscous drift flows are multiplied by that constant throughout the run. See also Run section on switches b2news_facvis_... for more details. A spatial fac_vis profile is also possible, see Numerics section for details.

b2tiner_inert
real
1.0

Real parameter which multiplies the ion inertial current.

b2tfhe_dia_cur
real
1.0

Real parameter which multiplies the diamagnetic current.

b2tfhe_vdia_par
real
1.0

Real parameter which multiplies the convective heat flux due to grad B-drift of guiding centers in non-modified heat fluxes of electrons and ions.

b2tfrn_xvecrb
real
1.0

Real parameter which multiplies the contribution from the ExB drift velocity to the flows passed to Eirene.

b2tfrn_xwdia
real
1.0

Real parameter which multiplies the contribution from the diamagnetic drift velocity to the flows passed to Eirene.

b2tfhe_neutral
real
0.0

Real parameter which multiplies the ion-neutral current. If b2tfhe_neutral is 0 then the ion-neutral current is switched off otherwise the ion-neutral current is switched on. The ion-neutral current also requires either the diamagnetic or ExB drifts to be turned on as well.

b2tinnt_kinetic
integer
0

Integer switch to activate the usage of kinetic vectorial momentum sources due to ion-neutral friction computed based on Eirene tallies. If b2tinnt_kinetic.eq.0 (default), then the friction force is computed from explicit expressions for CX cross-section and ion drift velocities. However, the CX cross-section is available for hydrogen isotopes only, the expression might not be fully valid for arbitrary plasma composition, and the current is assumed to be carried by electrons, i.e. no contribution to ion flux is computed. If b2tinnt_kinetic.eq.1, then the friction force is computed from vectorial momentum sources coming from Eirene. These are species-resolved, so the contribution from this current to the ion flux is computed and transferred to the particle balance equations for each species separately. The switch is meaningful for coupled mode only and requires 'use_eirene' to be set to '1', otherwise the default approach is applied.

b2tinnt_fchin_in_core
integer
0

Integer switch to turn off or on the ion-neutral current in the core region (applies to coupled runs only). This is recommended in cases where the neutral densities are very low in the core region and the ion-neutral current is likely to vary widely from one iteration to the next as a result of Monte Carlo noise. If fchin_in_core.eq.0 (default), then fchin is set to zero in the core. If fchin_in_core.eq.1, then fchin is unchanged.

b2tfhe_PSch
real
1.0

Real parameter which multiplies the Pfirsch-Schlueter electron heat flux and conductivity.

b2tfhe_vis_par
real
1.0

Real parameter which multiplies the current driven by parallel viscosity. If b2tfhe_vis_par is 0 then the viscosity-driven current is switched off otherwise the viscosity-driven current is switched on.

b2tfhe_vis_q
real
1.0

Real parameter which multiplies the current driven by heat viscosity effects.

b2tfhe_stochastic
real
0.0

Real parameter which turns on stochastic current. If b2tfhe_stochastic is 0 then stochastic current is switched off otherwise stochastic current is switched on.

b2tstch_delta
real
0.0

Width of the stochastic current layer (in metres), measured from the separatrix inward, along the poloidal index ixref (given by b2tqna_ixref). If b2tfhe_stochastic.ne.0, then b2tstch_delta must be greater than zero.

b2tstch_sig
real
1.0

Multiplier to the magnetic field line stochastic diffusion coefficient, describing the stochastic conductivity.

b2trno_con_e_stochastic
real
1.0

Multiplier to the stochastic conductivity.

b2trcl_lluciani
integer
3

If lluciani.ne.0, then transport coefficients on cells belonging to closed field lines are modified according to the Luciani model. If lluciani.eq.1, the standard connection length formulation is used. If lluciani.eq.2, the old SOLPS4.0 formulation is used for backward compatibility. If lluciani.eq.3, Spb's new form Luciani's coefficient.

b2trcl_luc_et_form
integer
1

Only active if b2trcl_lluciani.eq.3 (default). If luc_et_form.eq.0, the SPb form of the Luciani coefficient is applied. This is correct only for hydrogenic majority plasmas. If luc_et_form.eq.1 (default), the generalized form of the SPb Luciani coefficient is used. If b2tral_Zhdanov_closure.eq.0 (default), then the result is the same as if the SPb form of the Luciani coefficient is used (and correct only for hydrogenic majority plasmas). If b2tral_Zhdanov_closure.eq.1, then the multi-ion generalized form of the SPb Luciani coefficient is used (correct for arbitrary plasma mixtures).

b2trcl_lthf21
integer
0

If lthf21.ne.0, then the heat transfer model is modified according to the 21-moment approach. This should only be used for multi-fluid runs.

b2trcl_lvis21
integer
0

If lvis21.ne.0, then the viscosities are modified according to the 21-moment approach. This should only be used for multi-fluid runs. This switch should not be used along with 'b2tfhe_vis_par' to avoid double-counting of classical viscosity effects.

b2tral_Zhdanov_closure
integer
0

If b2tral_Zhdanov_closure.eq.1, the Zhdanov-Grad module is enabled, and fully multi-ion collisional closure for the components along the magnetic field of the vector and tensor moments of the distribution function is applied for all the ions (without specifying main ions and impurities) based on the works of Zhdanov [V. M. Zhdanov, 2002] and Makarov et al. [S. O. Makarov et al., PoP 2021]. Otherwise the standard SOLPS-ITER model is applied.

b2tral_zh_imp_analyt
integer
0

If b2tral_zh_imp_analyt.eq.0, the Zhdanov-Grad closure method is applied by means of the explicit matrix inversion methed (EMIM). If b2tral_zh_imp_analyt.eq.1, the improved analytical method (IAM) is applied. See [S. O. Makarov et al., PoP 2021] for details. This switch is subservient to b2tral_Zhdanov_closure.

b2tral_zh_analyt_mdf
integer
0

If b2tral_zh_analyt_mdf.eq.1, the MDF friction force calculation is applied. See [S. O. Makarov et al., PoP 2021] for details. This switch is subservient to b2tral_Zhdanov_closure.

b2tral_Zhdanov_cond
integer
1

If b2tral_Zhdanov_cond.eq.0, the Braginskii expression for the ion conductivity is used. This switch is subservient to b2tral_Zhdanov_closure.

b2tral_Zhdanov_vish
integer
1

If b2tral_Zhdanov_vish.eq.0, the Braginskii expression for the heat flux dependent viscous stress is used. This switch is subservient to b2tral_Zhdanov_closure.

b2tral_Zhdanov_visu
integer
1

If b2tral_Zhdanov_visu.eq.0, the Braginskii expression for the velocity-dependent viscous stress is used. This switch is subservient to b2tral_Zhdanov_closure.

b2tral_zhflcorr
real
3.0

Flux-limiting coefficient multiplier.

b2tral_zhflcorrh
real
0.4

Additional flux-limiting coefficient multiplier for the heat flux.

b2tral_zhd_corr
integer
1

Multiplier to the corrections due to the difference in definition for temperature and Joule heating between Zhdanov and Braginskii. This switch is subservient to b2tral_Zhdanov_closure.

b2tral_zhd_corrT
integer
1

Multiplier to the corrections due to the difference in definition for temperature between Zhdanov and Braginskii in the thermal force calculation. This switch is subservient to b2tral_Zhdanov_closure.

b2tral_zhcscorr
integer
1

If b2tral_zhcscorr.eq.0, the corrections for each individual ion charge state from the isonuclear sequence value are disabled. This switch is subservient to b2tral_Zhdanov_closure.

b2tral_zhcscorr_vq
integer
1

If b2tral_zhcscorr_vq.eq.0, the corrections for each individual ion charge state from the isonuclear sequence value are disabled for the heat stress-viscosity. This switch is subservient to b2tral_Zhdanov_closure.

b2sifr_Zhdanov_tf_fr
integer
1

If b2sifr_Zhdanov_tf_fr.eq.1, the Zhdanov expressions for the thermal and friction forces are used. This switch is subservient to b2tral_Zhdanov_closure.

b2sifr_Zhdanov_test
integer
0

If b2sifr_Zhdanov_test.eq.1, the Zhdanov-Grad calculation takes place, but is not used. To be used for testing purposes.

b2tfhi_Zhdanov_vel_heat
integer
1

If b2tfhi_Zhdanov_vel_heat.eq.1, the Zhdanov velocity-dependent ion heat flux is used. This switch is subservient to b2tral_Zhdanov_closure.

b2tral_zh_tf_toff
string
0

String of integers with (nspecies*(nspecies+1))/2-nspecies digits. If a digit is {\tt 1}, turn off the thermal force between corresponding species starting from 1 and 2; 1 and 3;....; up to nspecies-1 and nspecies. This switch is subservient to b2tral_Zhdanov_closure.

b2tral_zh_vis_type
integer
0

If b2tral_zh_vis_type.eq.0, the Braginskii-like velocity-dependent stress-viscosity is used. If b2tral_zh_vis_type.eq.1, the Zhdanov-like velocity-dependent stress-viscosity is used. If b2tral_zh_vis_type.eq.2, the Makarov-like velocity-dependent stress-viscosity is used.

b2npmo_smbvi_factor
real
1.0

This switch defines the fraction of the cross-ion part of the stress-viscosity term which is applied. The cross-ion part of the stress-viscosity term can lead to numerical problems. If so, it is recommended to start from '0.0' and increase it step by step. This switch is subservient to b2tral_Zhdanov_closure.

b2tral_amfact_on
integer
0

If b2tral_amfact_on.eq.1, the mass correction for the thermal and friction force calculation is applied.

b2tral_amfact_***
real
1.0

If b2tral_amfact_on.eq.1, this multiplier is applied for the mass of the species corresponding to isonuclear sequence number '***'. Recall the sequence numbering starts at zero (e.g. b2tral_amfact_000, b2tral_amfact_001, ...).

b2npmo_impr_form_fr
integer
0

If b2npmo_impr_form_fr.eq.1, an improved analytical form for the friction force is computed instead of the form corrresponding to b2sigp_style.eq.2. Used only if b2tral_Zhdanov_closure is equal to 0.

b2npmo_impr_form_tf
integer
0

If b2npmo_impr_form_tf.eq.1, an improved analytical form for the thermal force is computed instead of the form corresponding to b2sigp_style.eq.2. Used only if b2tral_Zhdanov_closure is equal to 0.

b2npmo mass multiplicator
real
1.0

Using this number the impurity mass can be artificialy increased. Used only if b2tral_Zhdanov_closure is equal to 0.

b2sqel_artificial_radiation
real
0.0

If art_rad.ne.0, then an artificial radiation loss term is added to the electron cooling rate. Art_rad represents the percent fraction of impurities in the plasma.

Group

The 20 switches above are all feedback switches and require that b2stbc_feedback.ne.0 (See Run section for details) or that lfeedback=.true. in b2.boundary.parameters. The feedback is done as a boundary condition and is under-relaxed using the b2stbc_...._alpha switches (See Numerics section for details). fheycore is the radial electron heat flow entering the core boundary. fhiycore is the radial ion heat flow entering the core boundary. fchycore is the radial current entering the core boundary. fnaycore is the radial flux of species "isfeedback" entering the core boundary. If fhiycore_kinetic_energy.eq.1, the parallel kinetic energy flux is counted as part of the ion energy flux. For double-null cases, the f..ycore variables contain the total flow through both core boundaries taken together. The core boundaries are identified by the coreregno and coreregn2 switches (see Geometry section). The other seven switches are density feedback switches: nesepm is the outer midplane separatrix electron density. (See b2mwti_jxa switch in Geometry section for setting of midplane position). This is controlled through particle input of main plasma species isfeedback through the core boundary (See Geometry section for the core boundary indices coreregno and coreregn2). nesepm_sol is the outer midplane separatrix electron density, but this time controlled through a gas puff outside the SOL region. (See b2mwti_jxa switch in Geometry section for setting of midplane position). This is done through particle input of neutrals species isfeedback through the SOL North boundary (See Geometry section for the SOL North boundary index solregno). If nesepm_overshoot.gt.1.0, the gas puff is turned off when the midplane separatrix density reaches nesepm*nesepm_overshoot. Minimum and maximum values of the feedback gas puff can be set using b2stbc_nesepm_minpuff and b2stbc_nesepm_maxpuff nepedm_sol is similar to nesepm_sol but the feedback is exerted on the electron density at the top of the pedestal, along the outer midplane, at radial position b2stbc_iyped. ndes_sol is the total particle content from the isonuclear sequence of species 'isfeedback' over the entire simulation domain. It is governed, like nesepm_sol, by nesepm_overshoot and nesepm_alpha and corresponds to a SOL boundary feedback. volrec_sol is the total particle source due to volume recombination coming from Eirene. Its feedback is governed by volrec_overshoot and volrec_alpha and volrec_beta parameters (See Numerics section for the latter two). nesepm_pfr is the outer midplane separatrix electron density, but this time controlled through a gas puff outside the PFR region. (See b2mwti_jxa switch in Geometry section for setting of midplane position). This is done through particle input of neutrals species isfeedback through the private flux boundaries (See Geometry section for the PFR South boundary indices pfrregno1 and pfrregno2). ndes is the total particle (neutrals + ions) content of the species whose neutral species has index isfeedback. This is controlled through particle input of neutrals species isfeedback through the private flux boundaries (See Geometry section for the private flux region boundary indices pfrregno1 and pfrregno2). private_flux_puff is the particle flow of species isfeedback through the private flux region boundary. This is controlled through particle input of neutrals species isfeedback through the private flux boundaris (See Geometry section for the private flux region boundary indices pfrregno1 and pfrregno2). All but the first of these feedback schemes ("nesepm") can also be run though an Eirene neutral gas puff. In that case, one should set an appropriate gas puffing stratum in the Eirene input file input.dat, as well as in the b2.neutrals.parameters file. The code will assume, unless told otherwise through the use of "eirene_nesepm_istra", that the first stratum of type 'C' found in b2.neutrals.parameters is the stratum used for the feedback. If "eirene_nesepm_istra" is set to a positive number, the code will consider the feedback stratum to be the stratum in the "eirene_nesepm_istra"-th position in b2.neutrals.parameters.

b2stbc_fheycore
real
0.0

b2stbc_fhiycore
real
0.0

b2stbc_fhiycore_kinetic_energy
integer
0

b2stbc_fchycore
real
-1.0e30

b2stbc_fnaycore
real
-1.0e30

b2stbc_isfeedback
integer
0

b2stbc_iyped
real
jsep/2

b2stbc_ndes
real
0.0

b2stbc_ndes_sol
real
0.0

b2stbc_nepedm_sol
real
0.0

b2stbc_nesepm
real
0.0

b2stbc_nesepm_overshoot
real
0.0

b2stbc_nesepm_pfr
real
0.0

b2stbc_nesepm_sol
real
0.0

b2stbc_private_flux_puff
real
0.0

b2stbc_volrec
real
0.0

b2stbc_volrec_overshoot
real
0.0

b2stbc_nesepm_minpuff
real
0.0

b2stbc_nesepm_maxpuff
real
0.0

eirene_nesepm_istra
integer
-1

Group

These switches are associated with the boundary condition of type 13, 16, 17, 20 or 21 for particle flux, or electron and ion energy fluxes, i.e. constant density or temperature giving a prescribed flux through a radial surface, located type13_ref or type16_ref radial steps away from the boundary of the computational domain, respectively, and applied type20_ref steps away. See code and description in b2cdcn for details. Type 21 also applies to the electric potential boundary condition. It scales the feedback strength according to the value of the variable on the ring type21_ref steps inside. When type16_ref.gt.1, then the position where the core flux tallies are computed moves along with the boundary condition. If type16_kinetic_energy.eq.1, then the energy flux due to kinetic energy transport and viscous terms is included in the ion heat flux component of type 16 and 17 boundary conditions.

b2stbc_type13_ref
integer
1

b2stbc_type16_ref
integer
1

b2stbc_type20_ref
integer
1

b2stbc_type21_ref
integer
1

b2stbc_type16_kinetic_energy
integer
0

b2stbc_bcene_15_style
integer
1

If bcene_15_style.eq.0, the electron sheath boundary condition computes the electron current as the difference between the ion flow and the poloidal current. If bcene_15_style.eq.1 (recommended, default), the electron current at the sheath is computed directly from the sheath potential drop. This method has proven numerically more stable, especially in cases with drifts.

b2stbc_bcene_16_style
integer
0

If bcene_16_style.eq.1, the boundary condition is enforced using the modified fluxes fhe_mdf. Recommended when running cases with drifts.

b2stbc_bceni_16_style
integer
0

If bceni_16_style.eq.1, the boundary condition is enforced using the modified fluxes fhi_mdf. Recommended when running cases with drifts.

b2stbc_bc_ref
real
0.01

Under-relaxation factor used for feedback scheme in boundary condition types BCCON = 16, 19, 22, 23, 26, and 27.

b2stbc_bc_ref_te
real
0.01

Under-relaxation factor used for feedback scheme in boundary condition type BCENE = 16 (with bcene_16_style.eq.1).

b2stbc_bc_ref_ti
real
0.01

Under-relaxation factor used for feedback scheme in boundary condition types BCENI = 16 (with bceni_16_style.eq.1), 24, and 27.

b2stbc_secmodel
integer
0

If secmodel.eq.1, then the secondary electron emission coefficient at the plates is computed locally according to a kinetic model, otherwise the default values of cbsch(7,ireg) and/or gammae are used.

b2mndr_boundary_sources
integer
0

If boundary_sources.ne.0, allow for the specification of boundary values for all equations, using BC type 7, provided in the bv_na.dat, bv_ua.dat, bv_te.dat, bv_ti.dat, and bv_po.dat files. All files must be present.

b2mndr_equation_sources
integer
0

If equation_sources.ne.0, allow for the specification of source term values for all equations, per unit volume, provided in the art_sna.dat, art_smo.dat, art_she.dat, art_shi.dat, and art_sch.dat files. All files must be present.

Group

If use_mms.ne.0, specifies a run using the Method of Manufactured Solutions. The exact solutions to match are provided by the b2mndr_set_XX_numerical switches. An exact solution is available for comparison if the corresponding set_XX_numerical switch is nonzero. The exact solutions are provided, respectively, in the exact_na.dat and exact_ne.dat, exact_ua.dat, exact_te.dat, exact_ti.dat, and exact_po.dat files. The exact_na.dat and exact_ne.dat files must be provided simultaneously.

b2mndr_use_mms
integer
0

b2mndr_set_na_numerical
integer
0

b2mndr_set_ua_numerical
integer
0

b2mndr_set_te_numerical
integer
0

b2mndr_set_ti_numerical
integer
0

b2mndr_set_po_numerical
integer
0

Group

Sputtering model switches. See the code in b2stbr and the b2mod_sputter module for specific implementation details and references. The default values represent the case of Graphite plates. Sput_src is the atomic number of the plasma species which causes chemical sputtering. Sput_dst (when .ge.0) is the species index of the destination species produced by physical sputtering, chemical sputtering and/or RES. If either of the latter two processes are included, the chemical sputtering and RES production rate calculations provided in the code assume that sput_dst points to a Carbon species. Sput_dst2 and sput_dst3 (when .ge.0) represent other species produced by wall interactions for mixed materials scenarios. Sput_frac_flag is the switch to turn on mixed materials scenarios (when sput_frac_flag.eq.1). Plate_model.eq.0 means the 0-D time-independent plate heating model while plate_model.eq.1 indicates the 1-D time-dependent plate heating treatment. Plate_model.eq.2 gives acces to a 2-D time-dependent model. Plate_option chooses the initialisation of the plate temperature profile. If plate_option.eq.1, the profile is set to the constant given in plate_temp. If plate_option.eq.2, the profile is computed to be the 0-D equilibrium profile. If plate_option.eq.3, the profile is read from results of the previous run. Sput_phys_model is a switch for choosing between the TRIM tables (model 1, default) or an empirical formula (model 0). When TRIM data is not available, the empirical formula is automatically used. Extrapolations of low and high energy ranges beyond the TRIM table data is done using the same physical dependencies as the empirical formula. Sput_chem_model is a switch for the chemical sputtering model used. If sput_chem_model.eq.0 (default), the empirical formula is used. If sput_chem_model.eq.1, a constant with a low energy cut-off is used. The cutoff occurs at approximately sput_chem_cutoff_alpha and the width is determined by sput_chem_cutoff_beta (the larger the value, the narrower the width over which the transition from 0 to 1 occurs). For model 0, sput_frc is a multiplier to the empirical formula, while for model 1, sput_frc is the constant chemical sputtering yield. Sput_frc is superseded by the chem_sput array from b2.neutrals.namelist if the latter is used. For neutrals species, we add a factor of α*na*vbar to the particle flux to the plate (used to compute chemical and RES sputtering), where vbar is the average neutral particle speed. Sput_phys turns on physical sputtering when sput_phys.gt.0.0 and contains a (real) multiplier for the physical sputtering rate looked up in the TRIM tables. It is superseded by the phys_sput array in b2.neutrals.parameters if the latter is used. sput_phys_col indicates which column to use in the TRIM table; the default (3) corresponds to 30 degrees incidence. The columns are for 0 15 30 45 55 65 75 80 85 degrees. This angle is also used in the empirical formula. Plate_temp is the temperature (in Kelvin) of the COOLED end of the divertor plates. The surface temperature is computed self-consistently (using a 1-D description) according to the incident heat fluxes from the plasma. The plate is assumed to have a thickness of plate_thick, measured in metres. When plate_thick.eq.0 (default), the plate surface temperature is assumed to be the same as plate_temp. Sput_res turns on radiation enhanced sublimation (RES) when .gt.0.0 and is a multiplier to the RES rate. The switch sputter_energy_on turns on the energy contribution from the sputtered particles (physical and chemical). If sputter_energy_on.eq.0, the particles are sputtered cold, with no energy contribution to the ion heat equation. If sputter_energy_on.ne.0 (default), the chemically sputtered particles are re-introduced into the plasma with the thermal energy corresponding to the surface temperature of the material, while physically sputtered particles are re-introduced with the TRIM-calculated energy sputtering yield (if the TRIM model is used). Therm_evap turns on thermal evaporation when .gt.0.0 and is a multiplier to the thermal evaporation rate. Redep_alpha is the multiplier to the reduction of the sputtering yield due to prompt redeposition. The promptly redeposited species is counted as eroded-then-deposited species. If redep_alpha is positive, the formula used for the prompt redeposition fraction is from R. Dux et al., Nucl. Fusion 51 (2011) 053002: f_{prompt} = 1/(1 + α*(l_{ion}/ρ_W)^2). If redep_alpha is negative, the formula used is from D. Tskhakaya et al., JNM 463 (2015) 624: f_{prompt} = 1/(1 + abs(α)*(l_{ion}/ρ_i)*(T_i/T_e) ). In this case, the recommended value is abs(redep_alpha)=0.01. This formula is meant for tungsten when l_{ion} is less than 5 * ρ_i.

b2stbr_plate_model
integer
0

b2stbr_plate_option
integer
3

b2stbr_sput_chem_model
integer
0

b2stbr_sput_chem_cutoff_alpha
real
1.0

b2stbr_sput_chem_cutoff_beta
real
3.0

b2stbr_sput_mixed_alpha
real
1.0

b2stbr_sput_mixed_beta
real
1.0

b2stbr_sput_phys_model
integer
1

b2stbr_sputter_energy_on
integer
1

b2stbr_sput_res
real
0.0

b2stbr_therm_evap
real
0.0

b2stbr_sput_dst
integer
-1

b2stbr_sput_dst2
integer
-1

b2stbr_sput_dst3
integer
-1

b2stbr_sput_frac_flag
integer
0

b2stbr_sput_frc
real
0.0

b2stbr_sput_phys
real
0.0

b2stbr_sput_src
integer
1

b2stbr_sput_phys_col
integer
3

b2stbr_alpha
real
0.25

b2stbr_plate_temp
real
300.0

b2stbr_plate_thick
real
0.00

b2stbr_redep_alpha
real
0.00

Group

Reflection model switches. If the recycling coefficients (particle and energy) are set to zero, then the code attempts to use, for surfaces in contact with walls, the TRIM reflection data for particle and energy reflection coefficients, when refl_model.eq.1. If refl_model.eq.0, an empirical formula is used instead. The model switch is subservient to reflection_on.ne.0. If reflection_on.eq.0, then no reflection is used. If reflection_on.eq.1 (default), then the incident species is reflected unchanged. Otherwise, the reflected flux is of the associated neutral species to the incident particles.

b2stbr_refl_model
integer
1

b2stbr_reflection_on
integer
1

b2mndr_coronal_model
integer
0

Turns on the coronal model if coronal.ne.0. I.e., the reaction rates of all reactions are made density-independent, and the value computed at the lowest density (given in b2ar.dat) is used.

b2mndr_hz
real
1.0

hz has been introduced into the new form of the parallel momentum balance equation. If fac_hz = 0.0 then hz = 1 and old form of equations is used. If fac_hz = 1.0 then new form of equations is used.

b2stbr_bas_recycled_neutrals_contr
real
1.0

Introduced for nulling recycling energy when it is zero.

b2tfhe_alfTeEh
real
0.0

When set to '1.0', the old form of the electron heat flux calculation is used and b2tfhe_fch_pTe should be set to '0.0'. It is recommended to use 0.0. Cannot be set to 1.0 when using the SOLPS5.2 physics model.

b2tfhe_fch_pTe
real
1.0

When set to '1.0', the new form of the electron heat flux calculation is used and b2tfhe_alfTeEh should be set to '0.0'. It is recommended to use 1.0. Cannot be set to 0.0 when using the SOLPS5.2 physics model.

b2tfnb_xcur
real
0.0

Xcur is a multiplier to the parallel viscosity, perpendicular viscosity, heat viscosity, ion inertial and anomalous current contributions to the ion poloidal flows (particle and energy). If set to 0 (default), these currents are carried by electrons. If set to 1, these poloidal currents are carried by the main hydrogenic ions. The latter option can only be used if the plasma has a single majority hydrogenic species. Otherwise, an error will be returned.

b2tfnb_ycur
real
1.0

Ycur is a multiplier to the parallel viscosity, perpendicular viscosity, heat viscosity, ion inertial and anomalous current contributions to the ion radial flows (particle and energy). If set to 0, these currents are carried by electrons. If set to 1 (default), these radial currents are carried by the main hydrogenic ions. The latter option can only be used if the plasma has a single majority hydrogenic species. Otherwise, an error will be returned.

b2tfnb_vis_per
real
0.0

vis_per is a multiplier to the perpendicular viscosity current contributions to the ion poloidal flows (particle and energy). Subservient to b2tfnb_xcur and b2tfnb_ycur. Cannot be used in conjunction with the 9-point stencil numerical treatment. If used with the 5-point stencil treatment and with fluid neutrals, must be equal to b2tfhe_vis_per for numerical stability reasons.

b2tfnb_vis_q
real
1.0

vis_q is a multiplier to the heat viscosity current contributions to the ion poloidal flows (particle and energy). Subservient to b2tfnb_xcur and b2tfnb_ycur.

b2tqce_fke_Zhdanov
integer
1

When set to '1', the Zhdanov expression is used in the electron thermal conductivity. It is recommended to use 'b2tqce_fke_Zhdanov' '1'. This switch is only active if, simultaneously, one has b2tqce_model.eq.1 and b2tfhe_fch_pTe.eq.1.0.

b2tqna_ixref
integer
See description (integer)

Poloidal index (on the basis mesh) of the reference surface for the flux-scaled transport model. The default value is the outer midplane, computed as such (see b2mwti_jxa in Geometry section or set_transport_ixref below): Lower Single-null : ixref=rightcut(1)-(rightcut(1)-leftcut(1))/4 Upper Single-null : ixref=leftcut(1)+(rightcut(1)-leftcut(1))/4 Stellarator island : ixref=leftcut(1)+(rightcut(1)-leftcut(1))/2 Double-null : ixref=(rightcut(1)+rightcut(2))/2 Limiter geometry : ixref=nx/2 Straight geometry : ixref=nx/2 The flux-scaled transport model is used in conjunction with scaling factors listed in column (7) of the transport coefficients description in input files b2ah.dat and b2mn.dat.

Group

The last switch is subservient to b2tqna_user_transport, and only used if user_transport.ne.0. When this is the case, the electron perpendicular heat diffusivity and anomalous perpendicular particle transport coefficient are scaled so as to maintain the required_te_gradient (in units of eV/m), at the location (ixref,iyref) on the basis mesh. The default position of the reference cell is on the outer midplane, sligthly inside the separatrix, as follows: |Configuration| ixref | iyref --------------+------------------------------+---------------------- |Single-null | rightcut(1)- | 2*topcut(1)/3 | (lower) | (rightcut(1)-leftcut(1))/4 | | | | |Single-null | leftcut(1)+ | 2*topcut(1)/3 | (upper) | (rightcut(1)-leftcut(1))/4 | | | | |Stellarator | leftcut(1)+ | 2*topcut(1)/3 | island | (rightcut(1)-leftcut(1))/2 | | | | |Double-null | (rightcut(1)+rightcut(2))/2 | 2*min(topcut(1), | | | topcut(2))/3 | | | |Limiter | nx/2 | 2*topcut(1)/3 | | | |Straight | nx/2 | ny/2 The transport_eta switches are activated when user_transport.eq.3 and allow modifications of the electron heat conductivity according to a constant eta (Grad Te / Grad Ne) model. See routine set_transport_eta code for details. A model for disruption transport coefficients is available with user_transport.eq.7. See routine set_transport_disruption code for details. The value user_transport.eq.8 activates the neoclassical model for computation of the transport coefficients in the core. See routine set_transport_neo and subroutines called for details. Implemented from the NEOART package. The location given by ixref and iyref can also serve as the anchor point for the transport and/or sources profiles provided by the user in the b2.transport.inputfile and b2.sources.profile files.

b2tqna_user_transport
integer
0

set_transport_eta
real
2.0

set_transport_eta_alpha
real
0.5

set_transport_eta_floor
real
0.1

set_transport_eta_ceiling
real
10.0

set_transport_ixref
integer
See description (integer)

set_transport_iyref
integer
See description (integer)

set_transport_required_te_gradient
real
5.0e4

Group

Upper and lower limits of the diffusivity coefficients df0 computed in b2tqna for each neutral species.

b2tqna_max_df0
real
1e30

b2tqna_min_df0
real
0.0

b2tqna_new_df0
integer
0

When new_df0.eq.1, the neutral diffusivity is computed according to the local charge exchange, ionisation and elastic collision rates, instead of the standard form with constant cross-sections.

Group

Ballooning model switches. If ballooning.ne.0, then all transport coefficients in cell (i) are rescaled by a factor of ballooning_rescale*abs(bb_ref/bb(i))**ballooning . The default value for bb_ref is the arithmetic average of the total magnetic field strength over the entire computational domain.

b2tqna_ballooning
real
0.0

b2tqna_ballooning_rescale
real
1.0

b2tqna_bb_ref
real
See description (real)

Group

Model parameters for the anomalous radial convection velocity mimicking "blob" transport. The radial convection velocity for all species in the SOL is calculated with the formula: vla0=vout_cnv*y^pw0_cnv*(1-x^pw1_cnv)^pw2_cnv where x is the normalized poloidal coordinate such that at the X-point it is equal to 1, and at jxa_cnv is 0, and y is the normalized radial coordinate, such that at jsep_cnv it is equal to 0, and at the North boundary 1. The six *_CNV parameters are only activated if 'b2tqna_user_transport' is set to '6'.

b2tqna_vout_cnv
real
0.0

Value of the "blob" convection velocity at the North boundary (in m/s).

b2tqna_pw0_cnv
real
1.0

Exponent applied to the radial coordinate when determining the the "blob" velocity.

b2tqna_pw1_cnv
real
5.0

First exponent in the poloidal profile of the "blob" velocity.

b2tqna_pw2_cnv
real
2.0

Second exponent in the poloidal profile of the "blob" velocity.

b2tqna_jsep_cnv
integer
jsep

Radial index where the "blob" convection velocity starts increasing from 0.

b2tqna_jxa_cnv
integer
jxa

Poloidal index where the "blob" convection velocity has its maximum.

b2tqna_pfr_rescale
real
1.0

Scaling factor for all ion and electron transport coefficients inside private flux regions.

b2tqna_divsol_rescale
real
1.0

Scaling factor for all ion and electron transport coefficients inside divertor SOL regions.

b2tvspr_visper_all_ions
integer
1

When set to 1 the subdivision of the viscosity ion perpendicular current is applied for all ions. The SOLPS5.2 physics model is used. Otherwise the viscosity ion perpendicular current will be non zero only for main ions.

b2tvspr_dia_lim_all_ions
integer
1

When set to 1 the limitation of the diamagnetic and ExB velocities is applied in perpendicular viscosity current calculation. The SOLPS5.2 physics model is used. Otherwise the limitation is not applied.

b2sifr_phm0
real
1.0

Multiplier of the friction term between charged species (only ions in case b2sigp_style.eq.2).

b2sifr_phm1
real
1.0

If b2sigp_style.eq.2, multiplier to the friction force term between electrons and ions. Otherwise, multiplier of the ehxp term in the older expression for the thermal force.

b2sifr_phm2
real
1.0

Multiplier of the electron thermal gradient term in the thermal force term and parallel current

b2sifr_phm3
real
1.0

Multiplier of the ion thermal gradient term in the thermal force term.

Group

Parameters for the computation of the thermal force term.

b2sifr_limthee
real
0.3

b2sifr_limthii
real
0.3

Group

Parameters for the computation of the thermal force term.

b2trcl_cthe
real
0.0

b2trcl_cthi
real
2.65

Group

If lambda is positive, the Coulomb logarithm is set to lambda. If lambda is negative, then abs(lambda) is the lower bound to be used when computing the Coulomb logarithm according to the NRL formulae. The computation of the Coulomb logarithm takes place in b2tlnl. The default formula is to use the Braginskii formulation, which will give the same answer for electron-electron (ee), electron-ion (ei), and ion-ion (ii) collisions. Respectively, non-default values of '1', '2' and '3' for b2tlnl_ii, _ee, and _ei, respectively, make use of the calculation according to Wesson.

b2trcl_lambda
real
-5.0

b2tlnl_ee
integer
0

b2tlnl_ei
integer
0

b2tlnl_ii
integer
0

b2tfnb_PSch
real
1.0

Multiplier to the Pfirsch-Schlueter flows.

b2news_BoRiS
real
0.0

The poloidal convective heat flux contains a prefactor of (3/2+BoRiS). The default gives us the internal energy equation. The value BoRiS = 1.0 gives us the total energy equation. Only for use to benchmark with codes using the total energy equation. When used, the meaning of fhe and fhi changes from internal energy fluxes to total energy fluxes.

b2tfhe_conduction_only
integer
0

When conduction_only.eq.1, convective heat transfer terms are turned off. Only to be used when benchmarking against pure conduction cases.

Group

Parameters for the flux limit to the convective neutral flow. Alpha is a multiplier to the classical flux limit value. The larger α is, the weaker the flux limit is. γ is the exponent used in the flux-limiting formula. The smaller γ is, the stronger the flux limit is. If alpha.eq.0, no flux limit is applied. flux_limit_min_ti specifies the minimum ti to be used (in eV).

b2tfnb_alpha
real
0.0

b2tfnb_gamma
real
2.0

b2tfnb_flux_limit_min_ti
real
0.0

b2tfnb_dia_lim_all_ions
integer
1

When set to 1 the limitation of the diamagnetic velocity is applied for all ions. The SOLPS5.2 physics model is used. Otherwise the restriction is applied for all ions except of main ions and the limit velocity is by the factor bx smaller.

Group

Parameters for the flux limit to dpa0 - pressure driven neutral diffusion. Alpha is a multiplier to the classical flux limit value. γ is the exponent used in the flux-limiting formula. If alpha.eq.0, no flux limit is applied.

b2tlc0_alpha
real
1.0

b2tlc0_gamma
real
1.0

Group

Parameters for the flux limit to the heat conductivity of the neutrals. Alpha is a multiplier to the classical flux limit value. The larger α is, the weaker the flux limit is. γ is the exponent used in the flux-limiting formula. The smaller γ is, the stronger the flux limit is. If alpha.eq.0, no flux limit is applied. flux_limit_min_ti specifies the minimum ti to be used (in eV).

b2tlh0_alpha
real
1.0

b2tlh0_gamma
real
1.0

b2tlh0_flux_limit_min_ti
real
0.0

b2tlmv_style
integer
1

If style = 0 then the original form of the viscosity flux limit is used, otherwise the SPb flux limit is used.

b2sihs_phm0
real
1.0

Multiplier of the contribution to electron heat sources from divergence(ue,ve). This term is superseded by the BoRiS switch if invoked.

b2sihs_phm1
real
1.0

Multiplier of the contribution to ion heat sources from divergence(ua,va). This term is superseded by the BoRiS switch if invoked.

b2sihs_phm2
real
1.0

Multiplier of the contribution to ion heat sources from viscous heating due to poloidal velocity differences. This term is superseded by the BoRiS switch if invoked.

b2sihs_phm3
real
1.0

Multiplier of the contribution to electron heat sources from Joule heating (electron-ion friction).

b2sihs_phm4
real
1.0

Multiplier of the contribution to ion heat sources from atom-atom friction. This term is superseded by the BoRiS switch if invoked.

b2sihs_phm5
real
1.0

Multiplier of the contribution to electron heat sources from divergence of the electrical drift. That contribution is also multiplied by facExB.

b2sihs_phm6
real
1.0

Multiplier of the contribution to ion heat sources from divergence of the electrical drift. That contribution is also multiplied by facExB.

b2sihs_phm7
real
0.0

Multiplier of the contribution to heat sources from friction due to diamagnetic velocities. Normally already included in 'phm3' term above.

b2sihs_phm8
real
1.0

Multiplier of the contribution to heat sources from viscous heating due to radial velocity differences. This term is only included when using b2nph9_style.eq.1 or b2npht_style.eq.1 (defaults). This term is superseded by the BoRiS switch if invoked.

b2sdia_facgt
real
0.0

Multiplier of the contribution to electron and ion heat sources from divergence of the gradTxB heat flux. That contribution is also multiplied by facdrift. This term is no longer needed as it has been transferred from being a source to being included in the flows.

b2sral_style
integer
2

When set to '0' or '2', the code calls the standard b2stbc routine, which uses the particle flux with drift terms included in the expression of the electron particle flux (fne). When set to '1', the code calls the b2stbc_spb routine instead, which uses the particle flux without drift terms in fne. It is recommended '2'.

Group

phm0 : Multiplier to the charge exchange rate coefficient. Subservient to styl0: only used if styl0.eq.0 or is.lt.2. If styl0.ne.0, the charge exchange rate coefficients for species of index 2 and above are set to zero.

b2sqcx_styl0
integer
0

b2sqcx_phm0
real
1.0

b2sqel_phm0
real
1.0

Multiplier to the ionisation rate coefficient.

b2sqel_phm1
real
1.0

Multiplier to the recombination rate coefficient.

b2sqel_phm2
real
1.0

Multiplier to the heat loss rate coefficient.

b2stel_phm0
real
1.0

Multiplier of the sources due to atomic physics.

b2tfhe_lim_flux
integer
0

If '0', flux limit is not applied directly to the electron heat flux but is applied through transport coefficients if 'b2trcl_conductive_limit' is '1'. It is recommended '0'.

b2tfhi_lim_flux
integer
0

If '0', flux limit is not applied directly to the ion heat flux but is applied through transport coefficients if 'b2trcl_conductive_limit' is '1'. It is recommended '0'.

b2treq_phm0
real
1.0

Multiplier to the temperature equipartition term.

b2tqca_phm0
real
1.0

Multiplier for the classical parallel viscosity.

b2tqca_model
integer
1

If model.eq.1, use the Balescu formulation from SOLPS5.2 classical parallel ion heat diffusivity. If model.eq.2, use the older Braginskii SOLPS4.0 model. Note: old option model.eq.3 removed, replaced with model.eq.1., but numerical treatment w.r.t. factor 4/3 according to old model.eq.3.

b2tqce_model
integer
1

If model.eq.1, use the fitted Balescu formulation from SOLPS5.0 classical parallel electron heat diffusivity. If model.eq.2, use the older Braginskii SOLPS4.0 model. If model.eq.3, use the 21-moment Balescu results.

b2tqna_model_sig
integer
0

If '1', use constant density in core region to calculate anomalous conductivity sig0=dfsig*qe*ne(nmdpl,-1), nmdpl - number of midplane cell. If '0', use sig0=dfsig*qe*ne(x,y)

b2tral_cvsa_style
integer
1

If '1', only the parallel ion classical contribution to the viscosity is multiplied by 4/3. If '0', all components (ions and neutrals, parallel and perpendicular) are multiplied by 4/3.

b2trno_csig_an_style
integer
1

If '1', the anomalous contributions in the parallel direction to the electrical conductivity csig and the thermo-electric coefficient calf are zeroed out.

b2tqin_csigin_style
integer
1

Integer switch to choose the expression for the ion-neutral conductivity. If '1' (default), the ion-neutral conductivity is computed from hydrogen gas diffusivity (SOLPS5.2 treatment). If '0', it is computed from the local CX rate (SOLPS5.0/5.1 treatments).

b2trno_pol_anom_scale
real
1.0

If pol_anom_scale.ne.1, the poloidal anomalous transport coefficients are scaled by the number. To get the same treatment as setting the old switch (radial_only) to 1, set the new switch to 0.0. This multiplication is to only take place for charged species.

Group

Deprecated. Use "DEFINE_LINES" in block 12 of Eirene input file instead.

eirene_lhalpha
integer
1

eirene_lvib
integer
1

eirene_repeat_first_call
integer
1

If > 0 then repeats the first call to Eirene in eirene_mc so many times. Useful if a density feedback gas puff is being used because the flux passed to Eirene on its first call is ignored (instead the value in the Eirene input file is used).

eirene_use_recyceir
integer
1

If > 0 use recyceir (non species dependent) to specify the recycling coefficients, else if 0 use recyc (species dependent).

eirene_ionising_core
integer
0

If <> 0 then recycles the neutral flux having crossed the core boundary within Eirene as ions. The recycling is modulated as per the poloidal density distribution of the ions, and neutrals come back as fully-stripped ions. 'eirene_ionizing_core' is an alias for this switch. If the value = 1, then the flux is added by direct modification of the sources in the guard cells --- this will only work if a standard flux boundary condition is applied at that boundary. If the value is < 0, then the absolute value specifies which boundary in b2.boundary.parameters is to be used. This will only work for the BCCON = 13 type boundary condition, for which a negative value for ionizing_core is required. Cannot be used in conjunction with 'eirene_ank_mods'. Use of this switch is not allowed if the core boundary condition is not of a flux type. Moreover, certain boundary conditions expressly include the flux of neutrals already (BCCON = 6, 19, 21, 23, 26, or 27), in which case use of this switch is redundant and should be avoided.

eirene_background
integer
1

If eirene_background.eq.0, the ion velocities passed to Eirene to be used for the collisions are based on grad-B and ExB drifts (vadia + vaecrb). If eirene_background.eq.1, these velocities contain the full diamagnetic and ExB drifts (wadia + vaecrb). Note: recycling fluxes are always computed based on grad-B and ExB drifts only (and are not affected by this switch), because diamagnetic drift flows largely close within the sheath.

eirene_sheath_pot
integer
1

If eirene_sheath_pot.eq.1, the sheath potential drop as computed by B2.5 (i.e. including effects of parallel currents, secondary electron emission, etc.) is passed to EIRENE to compute ion acceleration in the sheath. If eirene_sheath_pot.eq.0, the sheath potential drop is recomputed by EIRENE, usually assuming zero current and secondary electron emission.

b2mndr_atomic_physics_rescale
integer
0

If atomic_physics_rescale is not 0, then the code will rescale the rates stored in b2frates according to the multipliers given in the b2.atomic_physics_rescale.parameters inputfile before making use of them.

neoclassical_ic
integer
3

..set the contribution ic in NEOART 0 --- classical particle flux 1 --- banana plateau contribution 2 --- Pfirsch-Schlueter contribution 3 --- both banana and PS 4 --- all contributions mind that B2.5 already calculates the classical transport ! avoid double transport, 0+4 for cross-checks only !

Run
Data type
Default value

Group

These switches serve as identification for the simulation. They can be inherited from the SOLPS-GUI: IDS path : Only available if using IMAS Access Layer 5. The directory path where the IMAS data entry will be saved. Supersedes the pulse (previously shot) and run numbers. May begin with "$HOME", "$IMASDIR", or "$SOLPSTOP", that will be parsed by the code. If it begins with a '/', is understood as an absolute path, otherwise will be prefixed with the $IMASDIR environment variable. Defaults to the last line in the 'shotnumber.history' file if present, and to $IMASDIR/${pulse_number}/${run_number} otherwise or if $IMASDIR is modified from its default value by the switches below. Pulse number : Pulse number identifying the run (supersedes b2mndr_shot_number). Defaults to the last number found in shotnumber.history, or 0 if the file is not found. Must be positive and non-zero if an IMAS data entry is requested. If using IMAS Access Layer 4, cannot exceed 214748. Run number : The number of the run. Must be positive or zero. If using IMAS Access Layer 4, limited to 5 digits (i.e. span from 0 to 99999). Database : IMAS IDS database name (supersedes b2mndr_device). Defaults to 'solps-iter' if $DEVICE if undefined. If $DEVICE is 'iter', the code internally changes it to 'ITER' to follow the IMAS convention. Can be used to rebuild the IMASDIR path. User : The user who ran the simulation. Can be used to rebuild the IMASDIR path.

b2mndr_ids_path
character*256
See description

b2mndr_pulse_number
integer
0

b2mndr_shot_number
integer
0

b2mndr_run_number
integer
0

b2mndr_database
string
$(DEVICE)

b2mndr_device
string
$(DEVICE)

b2mndr_user
string
$(USER)

b2aidr_read_b2fstate
integer
0

If read_b2fstate.ne.0, b2aidr will read an existing b2fstate file and append to it a flat state description for additional new species being introduced in the run.

b2mndr_ntim
integer
1

Number of timesteps desired in this run. If ntim.eq.0, the code simply reads the input file and creates the b2fplasma and b2fstate files corresponding to the present plasma state.

b2mndr_dtim
real
1.0

Timestep (in seconds).

Group

One of the dynamic timestep control parameters. Only active if both delta_max and delta_min are nonzero. The timestep is increased by a factor dt_change_inc or decreased by a factor dt_change_dec, within the bounds [dt_min, dt_max], according to whether the largest instantaneous change in all equations is smaller than delta_min or larger than delta_max, respectively.

b2mndr_delta_max
real
0.0

b2mndr_delta_min
real
0.0

b2mndr_dt_change_dec
real
1.0

b2mndr_dt_change_inc
real
1.0

b2mndr_dt_max
real
1.0e+01

b2mndr_dt_min
real
1.0e-30

b2mndr_stim
real
0.0

stim specifies the initial time --- default 0. If set to a positive or zero value, this overwrites the time value read from b2fstati. If set to a negative value, the run continues from the time read in b2fstati. In that case, the tracing data is appended to the existing files, otherwise the tracing files are overwritten.

b2mndr_etim
real
0.0

etim specifies the end time. Only active if etim > stim.

Group

Time-dependent mode and iterative mode switches. The basic code timestep proceeds as follows: ..test input arguments ..compute auxiliary quantities ..prepare source computation ..do i0=1,nstg0 ..compute log-log linearised rate coefficients ..do i1=1,nstg1 ..compute source linearisation ..do i2=1,nstg2 ..perform one inner iteration ..re-compute auxiliary quantities ..produce monitoring output ..enddo ..enddo ..enddo This can be completed by the the 'b2mndt_nstg_ares??' switches. See 'Numerics' section for details.

b2mndt_nstg0
integer
1

b2mndt_nstg1
integer
1

b2mndt_nstg2
integer
1

b2news_no_solve
integer
0

If no_solve.eq.1, then the code is run without actually solving any equations. All secondary and dependent data is computed. The nstg(0:2) array is overwritten to '1's. The simulation time will not be updated. The code will compute fluxes, sources, transport coefficients, etc... 'ntim' times but not update the basic plasma quantities. Additionally, if no_solve is set to a negative value, then only some equations are solved (simulation time and nstg arrays will behave normally). no_solve.eq.-1 will activate the parallel momentum equations only. no_solve.eq.-2 will activate the density equations only. no_solve.eq.-4 will activate the potential equation only. (Active only if poteq.eq.1, otherwise, the behaviour dictated by the poteq setting applies). no_solve.eq.-8 will activate the heat equations only. These can be combined. For example, no_solve.eq.-3 will activate the parallel momentum and particle conservation equations. If the no_solve switch requires an equation not to be solved, the settings in the corresponding solvexx arrays from b2.numerics.parameters are moot. The latter are reserved for fine-tuning numerical diagnostics. If wishing to toggle whether to solve or not to solve each equation separately, one should set, in the b2.numerics.parameters input file, the SOLVEMO, SOLVEMT, SOLVECO, SOLVEE, SOLVEEI, SOLVEET and SOLVEPO arrays, respectively, for each of the parallel momentum equations, the total momentum equation, each density equation, the electron and ion heat equations, and the total energy equation. When running in time-dependent mode, the total energy and total momentum equations are not solved. The table below shows which combination of equations will be solved depending on the value of switch 'b2news_no_solve' *---------------------------------------------------- * | value | co | mo | he | hi | po | *---------------------------------------------------- * | 0 | + | + | + | + | + | *---------------------------------------------------- * | 1 | - | - | - | - | - | *---------------------------------------------------- * | -1 | - | + | - | - | - | *---------------------------------------------------- * | -2 | + | - | - | - | - | *---------------------------------------------------- * | -3 | + | + | - | - | - | *---------------------------------------------------- * | -4 | - | - | - | - | + | *---------------------------------------------------- * | -5 | - | + | - | - | + | *---------------------------------------------------- * | -6 | + | - | - | - | + | *---------------------------------------------------- * | -7 | + | + | - | - | + | *---------------------------------------------------- * | -8 | - | - | + | + | - | *---------------------------------------------------- * | -9 | - | + | + | + | - | *---------------------------------------------------- * | -10 | + | - | + | + | - | *---------------------------------------------------- * | -11 | + | + | + | + | - | *---------------------------------------------------- * | -12 | - | - | + | + | + | *---------------------------------------------------- * | -13 | - | + | + | + | + | *---------------------------------------------------- * | -14 | + | - | + | + | + | *----------------------------------------------------

b2mndr_cpu
real
0.0

CPU limit. If cpu.eq.0.0, no CPU limit is enforced. Otherwise, the code stops smoothly after it has been running for at least 'cpu' CPU seconds.

b2mndr_elapsed
real
0.0

Elapsed time limit. Is elapsed.eq.0.0, no time limit is enforced. Otherwise, the code stops smoothly after is has been running for at least 'elapsed' wall clock seconds.

b2mndr_savecpu
real
3600.0

If savecpu.gt.0.0, CPU time interval after which save files plasmastate.xxxx are written. Other additional options for writing of the checkpointing files are available by means of the b2mndt_ntim_save and/or b2mndr_plasmatim switches. These can be used, in conjunction with the b2co.exe instruction, to recover a crashed run.

b2mndr_ismain
real
1

ismain identifies the index of the main plasma species. It must hold that ismain is not a neutral species.

Group

Ramping parameters for facdrift, which multiplies the diamagnetic terms as well as the ion inertia current. The code is started on the first time step with facdrift=facdrift_start. If facdrift_target.ne.facdrift_start, then, on each time step, facdrift is multiplied by facdrift_inc. If the code does not converge on the timestep, facdrift is decreased by facdrift_dec. A facdrift profile is also possible, see Numerics section for details. The ion-neutral friction current requires either facdrift or fac_ExB to be turned on as well.

b2news_facdrift_dec
real
0.0

b2news_facdrift_inc
real
1.0

b2news_facdrift_start
real
0.0

b2news_facdrift_target
real
0.0

Group

Ramping parameters for facExB, which multiplies the ExB terms. Same treatment as above for facdrift. Can be superseded by b2news_ExB to set a constant value throughout the run.

b2news_facExB_dec
real
0.0

b2news_facExB_inc
real
1.0

b2news_facExB_start
real
0.0

b2news_facExB_target
real
0.0

Group

Ramping parameters for facvis, which multiplies the drift viscosity terms. Same treatment as above for facdrift. Can be superseded by b2news_vis to set a constant value throughout the run.

b2news_facvis_dec
real
0.0

b2news_facvis_inc
real
1.0

b2news_facvis_start
real
0.0

b2news_facvis_target
real
0.0

Group

Namelist file indicators. If xxx_namelist.eq.1, then the code looks for the file b2.xxx.parameters, in which it expects to find the xxx namelist. In the case of boundary_namelist, defaults to 1 for double-null and snowflake geometries, 0 otherwise.

b2stbc_boundary_namelist
integer
See description

b2stbr_neutrals_namelist
integer
0

b2srdt_numerics_namelist
integer
0

b2tqna_transport_namelist
integer
0

b2sral_inputfile
-
0

Profiles file indicator. If b2sral_inputfile.eq.1, then the code looks for the file b2.sources.profile in which it expects to find the 'profile' namelist. This namelist will contain profiles of sources measured from the location (ixref,iyref) (default is outer midplane separatrix), which is set with the 'set_transport_i[xy]ref' switches.

b2tqna_inputfile
integer
0

Profiles file indicator. If b2tqna_inputfile.eq.1, then the code looks for the file b2.transport.inputfile, in which it expects to find the transport namelist. This namelist will contain profiles of transport parameters measured from the location (ixref,iyref) (default is outer midplane separatrix), which is set with the 'set_transport_i[xy]ref' switches.

b2mndr_eirene
integer
0

Turns on coupling with the Eirene Monte Carlo neutral code if nonzero. To be used, the code must be compiled with the -DB25_EIRENE option.

b2mndr_astra
integer
0

Turns on coupling with the ASTRA core transport code if nonzero. To be used, the code must be compiled with the -DASTRA option.

b2mndr_rescale_neutrals_sources
real
1.0

Multiplier to the neutral sources (either computed by Eirene or the corresponding rate coefficients).

b2mndr_rescale_neutrals
real
1.0

Multiplier to the neutral density on the first timestep.

b2mndr_density_rescale
real
1.0

Multiplier of all densities on the first timestep. If set to a negative value, the rescaling (by |density_rescale|) will only be applied to species with zn.eq.zn_rescale.

b2mndr_zn_rescale
integer
0

Nuclear charge number of the species to be rescaled if density_rescale is set to a negative value.

b2stbr_core_sources_rescale
real
1.0

Multiplier to the totally ionised species sources at the core boundary.

b2mndt_density_control
integer
0

Feedback on the total heavy particle density. If density_control.ne.0, the sum of all densities is kept constant.

b2stbc_feedback
integer
0

If feedback.eq.1, turns on feedback mode for the boundary conditions. See Physics section for more details. Equivalent to LFEEDBACK=.true. in the b2.boundary.parameters namelist.

b2stbc_ncallfeedback
integer
0

Timestep index after which the feedback in b2stbc is activated.

b2stbr_first_flight
integer
0

If first_flight.ne.0, turns on the first flight model. See Physics section for additional details.

b2ytdr_ns
integer
ns

New number of species desired when creating a new initial state file using b2yt.exe. Must be specified within b2yt.dat.

b2ytdr_jsep1
integer
nx1/2

Radial index of separatrix in the converted grid. Must be specified within b2yt.dat. Only applies when converting linear geometries.

b2ytdr_ndepth1
integer
ndepth_nml

New resolution of target depth desired when creating a new initial state file using b2yt.exe. Must be specified within b2yt.dat.

b2ytdr_rescale_neutrals
real
1.0

Rescaling of neutral densities by rescale_neutrals when creating a new initial state file using b2yt.exe. Must be specified within b2yt.dat.

b2ytdr_non_commensurate
integer
0

When set to 1, b2yt will attempt to interpolate a plasma solution and create new input files for a new grid which is not commensurate to the original grid, but still has the same topology. Must be specified within b2yt.dat.