LInalg method stopping crit misc
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.
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.
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