This feature can be used as an attribute for the Time and
Stationary features. The approach taken is nonlinear Uzawa iterations in which user-defined groups of variables are solved for separately (a segregated step) while other variables are held fixed. The segregated steps for the segregated solver is handled by subattributes of the sort of
SegregatedStep,
LumpedStep,
LowerLimit, and
UpperLimit.
The Segregated attribute supports the following properties;
Termination of the segregated solver is controlled by the property segterm. The default setting is
tol, in which case the segregated iterations are terminated when, for each group, the estimated error is below the corresponding tolerance set by the main tolerance for the parent solver multiplied with the nonlinear tolerance factor
ntolfact. However, a maximum number of allowed segregated iterations is chosen through the property
maxsegiter; if the maximum is reached, the iterations are terminated and an error message is displayed. Termination after a fixed number of segregated iterations is achieved by instead choosing
iter. The number of segregated iterations is controlled by the property
segiter. The third available option for
segterm is
itertol, which is a combination of the other two options; the segregated iterations are terminated when one of the two convergence criteria of
tol and
iter is met. The property
maxsegiter is only supported when
tol is used for termination. For both the settings
iter and
itertol, the number of iterations is controlled by the property
segiter.
The nonlinear solver uses an adaptive tolerance for termination of iterative linear system solvers. This adaptive tolerance is based on the maximum of ntol and
itol. During the nonlinear iterations, it can, however, be larger or smaller than this number. The segregated solver uses the same tolerance as the linear solver when constant damping is used. However, when automatically adjusted damping is used, the adaptive tolerance of the nonlinear solver is used. The parametric solver uses the same tolerance as the corresponding stationary solver.
The property segstabacc enables or disables pseudo time stepping (for stationary problems) or Anderson acceleration. When enabled the pseudo time stepping is controlled by the scalar-valued controller parameters
subcfltol,
subinitcfl,
subkdpid,
subkipid, and
subkppid. For the Anderson acceleration, the parameter
segaaccdim specifies the dimension of the Anderson iteration space.
The property segtermonres controls the termination criterion for stationary problems when
segterm is not
iter. When
segtermonres=off the estimated error is solution-based, with
segtermonres=on it is based on a relative residual and for
segtermonres=auto the estimated error is the minimum of the solution and residual based errors. For
segtermonres=auto the property
segreserrfact is a scalar factor multiplying the relative residual error.
The property subusecflcmp from earlier versions of COMSOL Multiphysics is not used in version 5.0 and later versions. Use the property
segstabacc instead.