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.
When set to 1, disables the correction of the hydrogen atomic rate data with the Weisheit data using ratwei. *** Use with caution! ***
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
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.
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!
The number of intervals in the discretisation of the density (rtnn) and temperature (rtnt) ranges for the atomic physics tables.
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.
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.
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.
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
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
For 1-D cases, gives the width of the domain (in m) in the third (toroidal) dimension.
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.
Distance used as the matching criterion when reading the geometry file.
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.
The magnetic field will be multiplied by Bt_rescale. All components of the field are scaled together. To be used in b2ag.dat.
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
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.
Minimum allowed value for the pitch angle (in degrees) at the plates.
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.
Rescaling factors of the x- and y- coordinates of the basis mesh. To be used in b2ag.dat.
Number of topological cuts in geometry. Needed only to force a different value from the one computed automatically by b2ag.
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.
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.
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.
Maximum and minimum number of iterations in the potential equation. It must hold that potitmin < potit.
Target residual for the potential equation.
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.
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.
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).
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).
Allows for solving only for the species range [nsmin:nsmax-1].
Upper and lower bounds used when writing out data for Eirene.
Print min and max values of te, ti, na & ua
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.
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'.
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!
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.
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.
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.
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.
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.
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.
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.
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.
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).
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;
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.
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'.
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.
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'.
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)
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.
If upwind.ne.0, then the SOLPS4 upwind scheme in b2tfhe_ and b2tfhi_ to obtain the heat fluxes.
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.
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.
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.
Number of expected nonzero matrix elements per matrix row.
Multipliers to the number of nonzero elements in the solution matrix for workspace arrays in the matrix solver.
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.
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.
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.
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.
Paremeter needed for iluter matrix solver.
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.
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.
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.
Multiplier to the ExB velocity for sheath boundary conditions in b2stbc_spb and BCMOM=13 case of b2stbc_phys.
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).
Step length (in metres) for computing the first flight model chords.
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.
Underrelaxation parameter to compute the artificial source in the method of effective sources for code speed-up.
Number of chords started from each start point in the first flight model.
Workspace size given to the first flight table.
Small level sources introduced in all cells.
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.
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.
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.
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.
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.
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.
Sets the minimum electron temperature value (in eV).
Sets the minimum ion temperature value (in eV).
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.
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.
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!
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.
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'.
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.
If recalculate_contributions.eq.0, turns off recomputation of sources when wrong_flow flag is active.
If no_b2sral_call.eq.0, add an additional call to recompute the sources in b2news_ to reproduce the behaviour from SOLPS4.
If do_2nd_b2npco_call.eq.1, perform a second call to the density equation solve to improve particle balance, as done in SOLPS4.
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.
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.
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.
Feedback relaxation parameters. See Physics section for individual feedback quantities.
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'.
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.
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).
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.
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!
Switches off the stabilization of the source coefficients.
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.
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.
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).
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).
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).
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).
When set to '1', SPB form of the program b2sihs_ is called. It is recommended '1'.
Normalisation factor for the parallel momentum equation. Not used when running in time_dependent mode (b2mndt_style.eq.2).
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'.
When set to '1', the total friction force cancel is not calculated at the guard boundary cells. It is recommended '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'.
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'.
Specify the type of linearisation used in the thermal force term.
Switch to choose between various discretization schemes when computing the poloidal electric field. See code for details.
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.
When set to '1', a CFL-like restriction is applied to the pressure gradient term for minority ions and for neutrals species.
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
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.
style determines the form of the strange electron-atom energy transfer term.
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.
(rf0/1/2/3 for numerical stabilisation)
(rg0 for numerical stabilisation; needs experiments.)
Specifies the type of linearisation used in the charge exchange momentum source term.
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.
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.
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.
Damping coefficient applied to the atomic physics sources.
Specifies the type of linearisation used in the charge exchange momentum source term.
Multiplier to the pressure force term.
If '1', SPB new form of calculating electron heat flux is used. It is recommended '1' for runs with drifts.
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.
Multiplier to the parallel current.
If '1', SPB new form of calculating ion heat flux is used. It is recommended '1' for runs with drifts.
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'.
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'.
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).
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.
Multiplier to the poloidal electrical drift velocity.
Multiplier to the radial electrical drift velocity.
Multiplier to the poloidal diamagnetic drift velocity.
Multiplier to the radial diamagnetic drift velocity.
If '1', SPB new form of calculating particle flux is used. It is recommended '1' for runs with drifts.
Multiplier to the Rhie and Chow upwind correction.
(stylec is a numerical switch, needs experiments)
Linearisation constant.
Linearisation constant for the temperature equilibration term.
Linearisation constant for the temperature equilibration term.
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.
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.
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.
Specifies the number of timesteps between writes of tallies. If tally.gt.0, always writes out on the last timestep.
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.
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.
Specifies the maximum number of instances at which movie data will be output.
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.
Specifies the maximum number of instances at which extra writes of b2fplasmf.xxxx will occur.
Specifies the number of timesteps between b2fplasmf.xxxx writes.
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.
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.
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.
If b2mndt_av.gt.0, turns on computation of running averages.
If b2mndt_av_continue.gt.0, continuously perform running averages.
If ntim_batch.gt.0, number of iterations used to compute batch averages, written out in 'b2batch.nc'.
If ntim_run.gt.0, number of iterations used for writing running averages.
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.
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.
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.
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.
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.
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.
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.
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.
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.
If old_style.gt.0, old-fashioned (SOLPS4 style) output is added at the end of the b2mn.prt file.
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.
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))
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.
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.
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).
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.
Specifies the amount of data that is written out to b2ftrace. See the manual (Section on b2yq) for full details.
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:
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.
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.
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.
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.
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.
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.
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.
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.
If cpu.gt.0, prints out the time spent in the matrix solver.
Output flag for the matrix solvers. Larger numbers mean increasing output level.
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.
If nwrite.gt.0, prints the content of the sparse matrix in the b2_matrix file, for the first nwrite calls.
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.
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.
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.
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
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)
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.
Multiplier to heat flux contribution to divergence of viscosity tensor in the momentum equation.
When not equal to '0.0', adds contribution to divergence of viscosity tensor coming from x-variations in B.
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).
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.
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.
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.
Multiplier of the centrifugal force term. It is recommended '1.0'. The value '0.0' corresponds to the old SOLPS5.0 treatment.
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.
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.
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.
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.
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.
Real parameter which multiplies the ion inertial current.
Real parameter which multiplies the diamagnetic current.
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.
Real parameter which multiplies the contribution from the ExB drift velocity to the flows passed to Eirene.
Real parameter which multiplies the contribution from the diamagnetic drift velocity to the flows passed to Eirene.
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.
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.
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.
Real parameter which multiplies the Pfirsch-Schlueter electron heat flux and conductivity.
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.
Real parameter which multiplies the current driven by heat viscosity effects.
Real parameter which turns on stochastic current. If b2tfhe_stochastic is 0 then stochastic current is switched off otherwise stochastic current is switched on.
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.
Multiplier to the magnetic field line stochastic diffusion coefficient, describing the stochastic conductivity.
Multiplier to the stochastic conductivity.
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.
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).
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.
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.
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.
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.
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.
If b2tral_Zhdanov_cond.eq.0, the Braginskii expression for the ion conductivity is used. This switch is subservient to b2tral_Zhdanov_closure.
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.
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.
Flux-limiting coefficient multiplier.
Additional flux-limiting coefficient multiplier for the heat flux.
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.
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.
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.
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.
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.
If b2sifr_Zhdanov_test.eq.1, the Zhdanov-Grad calculation takes place, but is not used. To be used for testing purposes.
If b2tfhi_Zhdanov_vel_heat.eq.1, the Zhdanov velocity-dependent ion heat flux is used. This switch is subservient to b2tral_Zhdanov_closure.
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.
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.
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.
If b2tral_amfact_on.eq.1, the mass correction for the thermal and friction force calculation is applied.
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, ...).
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.
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.
Using this number the impurity mass can be artificialy increased. Used only if b2tral_Zhdanov_closure is equal to 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.
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.
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.
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.
If bcene_16_style.eq.1, the boundary condition is enforced using the modified fluxes fhe_mdf. Recommended when running cases with drifts.
If bceni_16_style.eq.1, the boundary condition is enforced using the modified fluxes fhi_mdf. Recommended when running cases with drifts.
Under-relaxation factor used for feedback scheme in boundary condition types BCCON = 16, 19, 22, 23, 26, and 27.
Under-relaxation factor used for feedback scheme in boundary condition type BCENE = 16 (with bcene_16_style.eq.1).
Under-relaxation factor used for feedback scheme in boundary condition types BCENI = 16 (with bceni_16_style.eq.1), 24, and 27.
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.
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.
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.
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.
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.
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.
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.
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.
Introduced for nulling recycling energy when it is zero.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Upper and lower limits of the diffusivity coefficients df0 computed in b2tqna for each neutral species.
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.
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.
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'.
Value of the "blob" convection velocity at the North boundary (in m/s).
Exponent applied to the radial coordinate when determining the the "blob" velocity.
First exponent in the poloidal profile of the "blob" velocity.
Second exponent in the poloidal profile of the "blob" velocity.
Radial index where the "blob" convection velocity starts increasing from 0.
Poloidal index where the "blob" convection velocity has its maximum.
Scaling factor for all ion and electron transport coefficients inside private flux regions.
Scaling factor for all ion and electron transport coefficients inside divertor SOL regions.
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.
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.
Multiplier of the friction term between charged species (only ions in case b2sigp_style.eq.2).
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.
Multiplier of the electron thermal gradient term in the thermal force term and parallel current
Multiplier of the ion thermal gradient term in the thermal force term.
Parameters for the computation of the thermal force term.
Parameters for the computation of the thermal force term.
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.
Multiplier to the Pfirsch-Schlueter flows.
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.
When conduction_only.eq.1, convective heat transfer terms are turned off. Only to be used when benchmarking against pure conduction cases.
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).
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.
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.
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).
If style = 0 then the original form of the viscosity flux limit is used, otherwise the SPb flux limit is used.
Multiplier of the contribution to electron heat sources from divergence(ue,ve). This term is superseded by the BoRiS switch if invoked.
Multiplier of the contribution to ion heat sources from divergence(ua,va). This term is superseded by the BoRiS switch if invoked.
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.
Multiplier of the contribution to electron heat sources from Joule heating (electron-ion friction).
Multiplier of the contribution to ion heat sources from atom-atom friction. This term is superseded by the BoRiS switch if invoked.
Multiplier of the contribution to electron heat sources from divergence of the electrical drift. That contribution is also multiplied by facExB.
Multiplier of the contribution to ion heat sources from divergence of the electrical drift. That contribution is also multiplied by facExB.
Multiplier of the contribution to heat sources from friction due to diamagnetic velocities. Normally already included in 'phm3' term above.
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.
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.
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'.
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.
Multiplier to the ionisation rate coefficient.
Multiplier to the recombination rate coefficient.
Multiplier to the heat loss rate coefficient.
Multiplier of the sources due to atomic physics.
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'.
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'.
Multiplier to the temperature equipartition term.
Multiplier for the classical parallel viscosity.
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.
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.
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)
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.
If '1', the anomalous contributions in the parallel direction to the electrical conductivity csig and the thermo-electric coefficient calf are zeroed out.
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).
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.
Deprecated. Use "DEFINE_LINES" in block 12 of Eirene input file instead.
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).
If > 0 use recyceir (non species dependent) to specify the recycling coefficients, else if 0 use recyc (species dependent).
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.
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.
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.
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.
..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 !
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.
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.
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.
Timestep (in seconds).
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.
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.
etim specifies the end time. Only active if etim > stim.
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.
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 | + | - | + | + | + | *----------------------------------------------------
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.
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.
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.
ismain identifies the index of the main plasma species. It must hold that ismain is not a neutral species.
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.
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.
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.
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.
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.
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.
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.
Turns on coupling with the ASTRA core transport code if nonzero. To be used, the code must be compiled with the -DASTRA option.
Multiplier to the neutral sources (either computed by Eirene or the corresponding rate coefficients).
Multiplier to the neutral density on the first timestep.
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.
Nuclear charge number of the species to be rescaled if density_rescale is set to a negative value.
Multiplier to the totally ionised species sources at the core boundary.
Feedback on the total heavy particle density. If density_control.ne.0, the sum of all densities is kept constant.
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.
Timestep index after which the feedback in b2stbc is activated.
If first_flight.ne.0, turns on the first flight model. See Physics section for additional details.
New number of species desired when creating a new initial state file using b2yt.exe. Must be specified within b2yt.dat.
Radial index of separatrix in the converted grid. Must be specified within b2yt.dat. Only applies when converting linear geometries.
New resolution of target depth desired when creating a new initial state file using b2yt.exe. Must be specified within b2yt.dat.
Rescaling of neutral densities by rescale_neutrals when creating a new initial state file using b2yt.exe. Must be specified within b2yt.dat.
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.