Taylor–Galerkin stabilization

Taylor–Galerkin stabilization is available in model600. It adds stabilization to selected advective terms, with a separate coefficient for each supported equation. All coefficients default to zero, which disables the corresponding stabilization.

The current implementation does not include the diamagnetic velocity in the Taylor–Galerkin terms.

Input parameters for model600

Unlike older models, model600 does not use the equation-indexed tgnum array. Because model600 is a model family whose evolved variables depend on compile-time extensions, it uses named parameters instead:

Parameter Equation When it is relevant
tgnum_u Perpendicular momentum Always available
tgnum_rho Main-plasma density Always available
tgnum_T Total temperature Single-temperature model: with_TiTe=.false.
tgnum_Ti Ion temperature Two-temperature model: with_TiTe=.true.
tgnum_Te Electron temperature Two-temperature model: with_TiTe=.true.
tgnum_vpar Parallel momentum with_vpar=.true.
tgnum_rhoimp Impurity density with_impurities=.true.

The general namelist also exposes tgnum_psi, tgnum_zj, tgnum_w, tgnum_rhon, tgnum_nre, tgnum_AR, tgnum_AZ, and tgnum_A3. The current model600 element-matrix implementation does not contain Taylor–Galerkin terms controlled by these parameters, so setting them has no effect in model600.

Basic example

For the base, single-temperature model600 configuration, a possible starting point is:

tgnum_u   = 0.5d0
tgnum_rho = 0.5d0
tgnum_T   = 0.5d0

For a two-temperature configuration with parallel velocity, use the coefficients associated with the compiled equations:

tgnum_u    = 0.5d0
tgnum_rho  = 0.5d0
tgnum_vpar = 0.5d0
tgnum_Ti   = 0.5d0
tgnum_Te   = 0.5d0

If the impurity-density extension is compiled, its stabilization can be enabled separately:

tgnum_rhoimp = 0.5d0

Do not set both tgnum_T and tgnum_Ti/tgnum_Te for the same executable: only the coefficient or coefficients corresponding to the compiled temperature model are used.

Choosing the coefficients

A value of 0.5 is a reasonable initial value for testing, but it is not universal. The appropriate value depends on the case, time step, and spatial resolution.

Perform a parameter scan that includes the unstabilized case and verify that the selected coefficients do not significantly change resolved physical results, particularly linear growth rates. Set only the coefficients needed for equations showing numerical instability; the coefficients do not need to have identical values.

The active values are printed in the JOREK logfile at startup as tgnum_u, tgnum_rho, and the other named parameters. A printed nonzero value for a compile-time-disabled or unsupported equation does not make that stabilization term active.