The LINALG line

Syntax

  LInalg  method stopping crit misc

Description

The LINALG line sets parameters associated with the numerical methods used for the solution of linear algebraic systems. There can be more than one LINALG line in a single simulation, so that parameters can be altered. Subsequent LINALG lines only alter those coefficients specified.

Parameters

method
  Dir.def         =  logical
  ITEr.def        =  logical
  MEthod          =  integer vector
  Precondition    =  integer vector
  ACceleration    =  integer vector
  S.Method        =  integer vector
  S.Precondition  =  integer vector
  S.Acceleration  =  integer vector

The METHOD, PRECONDITION and ACCELERATION vectors determine the basic method, the preconditioner and the iterative acceleration technique used to perform the linear algebraic solutions. Each of these consists of a set of single digits corresponding exactly to the PDE groupings on the SYSTEM line, defined as follows:

  Method        =  1     Direct sparse LU decomposition    
                   2     Point iterative                   
                   3     ABF                               

  Precondition  =  1     LDU                               
                   2     ILU                               
                   3     Block-ILU                         

  Acceleration  =  1     Conjugate gradients               
                   2     Orthomin                          
                   3     Biconjugate gradients             
                   4     CGS                               
                   5     Generalized conjugate residuals   
                   6     GMRES                             
                   7     CGNE                              
                   8     LSQR                              
                   9     USQR                              
                   10    BICR                              
                   11    BICG/CGS                          
                   12    BICG1                             
                   13    BICG2                             

Similarly, the S.METHOD, S.PRECONDITIONER and S.ACCELERATION vectors optionally specify the method, preconditioner and acceleration for any plug-in smoothing loops (see GLOOPS on the METHOD line).

With DIR.DEF set, these options are set (reset) to appropriate defaults for direct factorizations (method=1, precon=1, accel=2). With ITER.DEF set, these options are set (reset) to appropriate defaults for iterative solves (method=2, precon=3, accel=3). On the first occurence of a LINALG line, DIR.DEF is defaulted to true; if no LINALG line occurs before the first solve, the options are also defaulted as with DIR.DEF=true.

stopping crit

  ITMax     =  integer  (default is 1000)     [Expert]   
  NRmax     =  integer  (default is 5)        [Expert]   
  LIN.Tol   =  real     (default is 1.0e-6)   [Expert]   
  LIN.Atol  =  real     (default is 1.0e-6)   [Expert]   
  NLin.tol  =  real     (default is 1.0e-3)   [Expert]   
  ITRabf    =  integer  (default is 1)        [Expert]   
  ALPHA0    =  real     (default is 1.0e-2)   [Expert]   
  MIN.tol   =  real     (default is 1.0e-6)   [Expert]   
  AC.Tol    =  real     (default is 1.0e-10)  [Expert]   
  AC.Atol   =  real     (default is 1.0e-12)  [Expert]   

ITMAX is the maximum number of iterations to be performed on each linear system for pure iterative methods; NRMAX sets the maximum number of iterations associated with a Newton-Richardson approximate factorization procedure. LIN.TOL and NLIN.TOL set the relative tolerances to which the linear system must be solved for linear and nonlinear PDEs respectively; LIN.ATOL is an absolute tolerance. The tolerance for nonlinear PDEs is set dynamically based on the residuals of the outer, nonlinear (Newton) iteration using the relative parameter ALPHA0 (times the ratio of the current to the previous residual). MIN.TOL is the minimum tolerance that can be used during the nonlinear iteration, independent of the residual norms. ITRABF sets the maximum number of outer ABF iterations. AC.TOL and AC.ATOL are the relative and absolute linear tolerances respectively for AC linear solves.

misc

  MAxfill  =  integer  (default is -1)      [Expert]
  K        =  integer  (default is 1)       [Expert]
  Restart  =  real     (default is 1.0e10)  [Expert]
  SWitch   =  integer  (default is 5)       [Expert]
  LINScal  =  logical  (default is true)    [Expert]
  PTscl    =  logical  (default is true)    [Expert]
  SCale    =  logical  (default is false)   [Expert]
  Bzero    =  logical  (default is true)    [Expert]

MAXFILL specifies the maximum amount of fill-in allowed in the LDU (approximate) factorization; with MAXFILL set less than 0, complete fill-in is allowed. K is the number of back vectors for conjugate residual methods. RESTART is a restart tolerance for CGS; SWITCH is the iteration number where the mixed BICG/CGS method switches to CGS. LINSCL activates a scaling which attempts to balance the norms of multiple PDEs. PTSCL is a scaling by unknown, for iterative method only. SCALE specifies that the rows of the linear systems simply be scaled by their diagonals. BZERO zeros Dirichlet rows within the sparse matrix solver; with BZERO=false, the rows are zeroed manually outside.

Examples

For a 2 carrier system, set the linear algebra default to iterative methods, but redefine all the accelerators to use bicg2.

  SYSTEM   NEWTON CARR=2
  LINALG   ITER.DEF ACCEL=13 S.ACCEL=13,13,13