FullyCoupled
Handle the fully coupled nonlinear solution approach.
Syntax
model.sol(sname).feature(solv).create(fname,"FullyCoupled")
model.sol(sname).feature(solv).feature(fname).set(pname,value)
Description
This feature can be used as an attribute to the Time and Stationary features. The nonlinear solver is an affine invariant form of the damped Newton method.
The following properties are available:
Mixing parameter when segstabacc = segaacc.
Use adaptive tolerance in the linear solver if set to true. Available if dtech is set to bcktrack or const.
fullerrorest | partialerrorest | nonlinresidual | onlycfl | onlyerr
The error estimation method to use if adapttol is set to true. fullerrorest uses the full information about the linear and nonlinear error estimates to determine the tolerance. partialerrorest uses partial information about the linear and nonlinear error estimates to determine the tolerance. nonlinresidual uses the nonlinear residual only to determine the tolerance. onlycfl applies CFL suppression to the initial tolerance for models using pseudo time stepping. onlyerr applies a suppression mechanism based on the nonlinear error estimate for models with a stationary solver and not using pseudo time stepping.
Damping in one step, when dtech is set to bcktrack and backmethod is set to conststep.
fullest | conststep
Backtracking method when dtech is set to bcktrack: full estimation or constant step.
When set to true, it forces the solver to apply at least one backtracking step even if the algorithm does not strictly require it. Available only when dtech is set to bcktrack.
Use Anderson acceleration when the CFL number is under a CFL threshold set by cflaacfl. Only available when pseudo time stepping is used (stabacc=cflcmp).
CFL threshold when stabacc = cflcmp.
pid | lock
Decides if the PID controller should be disabled and the CFL number set to the target CFL number when Anderson acceleration is enabled (lock) or if the PID controller should be used also when Anderson acceleration is enabled (pid). Available when pseudo time stepping is used (stabacc = cflcmp and cflaa = on).
onfirst | minimal
Jacobian update on first iteration or minimal when stabacc = cflcmp and cfljtech = true.
simple | interp
When simple is used, the PID controller is using the classical PID control theory. The interp option combines the classical PID controller with a linear interpolation method. Available when stabacc is set to cflcmp.
Initial damping factor for dtech set to ddog.
const | auto | bcktrack | hnlin|ddog
auto | const (Time)
Initial damping factor for dtech set to auto.
Initial damping factor for dtech set of hnlin.
minimal | once | onevery
onevery | minimal (Time)
Jacobian update technique for dtech set to const or bcktrack.
CFL threshold for Jacobian update when segstabacc = cflcmp and cfljtech = true.
The maximum damping factor. If backtracking returns a damping larger than this value, maxdamp is used. Available only if dtech is set to bcktrack.
25 | 4 (Time)
The minimum damping factor. If backtracking returns a damping smaller than this value, mindamp is used. Values above 1 just mean that no damping is allowed. Available only if dtech is set to bcktrack.
Minimum damping factor for dtech set to auto.
Minimum damping factor for dtech set to hnlin.
Recovery damping factor. Available when useminsteprecovery is set to auto or on.
tol | itertol
Termination techniques for dtech set to auto/hnlin.
iter | tol | itertol
Termination techniques for dtech set to const or bcktrack.
0.9 (dtech set to const)
on | off
all | none | manual
Probes to use when probesel=manual.
on | off
off | on (Time)
Residual factor for termonres if set to auto or both.
scalefieldwise | scaleuniform
none | cflcmp | aacc
off | on | auto | both
true | false | wthresh
Updates the weights for automatic scales if they change two orders of magnitude and then restart the Newton solver from the current solution if true. If set to wthresh, you can use thresholds for the weights. All updweights properties are available for stationary and parametric studies and for Newton solvers only (that is, dtech is not ddog, bcktrack, or const).
current | manual
Available if updweightsauto is wthresh. Use fraction of the current damping factor at update (current) or a constant update damping factor (manual).
Fraction of current damping factor. If updweightsauto is wthresh and updweightsdamp is current.
Update damping factor. If updweightsauto is wthresh and updweightsdamp is manual.
false (Time)
auto | on | off
The property dtech controls which damping factor to use in the damped Newton iterations.
For dtech set to auto, the solver determines an appropriate damping factor automatically. For this method the initial and minimally allowed damping factors are controlled by the properties initstep and minstep, respectively. The termination technique is controlled by the property ntermauto.
For dtech set to hnlin, the solver determines an appropriate damping factor automatically but treat the problem as being highly nonlinear. This option can be tried if there is no convergence with dtech set to auto. For this method the initial and minimally allowed damping factors are controlled by the properties initsteph and minsteph respectively. Moreover, certain internal control structures are adapted. Especially, the error control is biased from a more absolute norm toward a relative norm. So this parameter is also useful if a solution with components of highly varying orders of magnitudes are present. In the context of parameter stepping, you can also try this option if the step sizes in the parameter seem to be too small.
When dtech is set to const, the constant damping factor specified in the property damp is used. For this method the termination technique is controlled by the property ntermconst. Furthermore, the property jtech can be used to control how often the Jacobian is updated. With jtech=minimal, the Jacobian is updated as seldom as possible (only once for a stationary problem and at most once per time step for a time-dependent problem). For time-dependent problems, the choice jtech=once makes the solver update the Jacobian once per time step. With jtech=onevery, the Jacobian is updated on every Newton iteration. The default is onevery for stationary problems and minimal for time-dependent problems.
When dtech is set to ddog (stationary problems), the double dogleg solver is used. The initial damping factor is controlled by the property ddoginitdamp and the property resscale controls the residual scaling. The option resscale=scalefieldwise scales the equations based on the field-wise sizes of the initial residual. When the option resscale=scaleuniform is selected the algorithm terminates on the relative residual based on the initial residual.
When dtech is set to bcktrack, backtracking is used as an automated way of finding the “optimal” damping factor used in the nonlinear solvers.
The tolerance ntol gives the criterion for convergence for a stationary problem; see Stationary Solver in the COMSOL Multiphysics Reference Manual.
The property ntolfact controls how accurately the nonlinear system of equations is solved. The value given in ntolfact is multiplied with the main solver tolerance and used in the convergence criteria. Also, the solution process is interrupted (and the Jacobian updated or the time step reduced) if the convergence is too slow. This can be disabled by setting useratelimit=off. When useratelimit=on, what is to be considered as too slow convergence can be controlled through the property ratelimit. The solution process is interrupted if the estimated linear convergence rate (of all steps, when the segregated solver is used) becomes larger than the value given in ratelimit.
The property stabacc 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 cfltol, initcfl, kdpid, kipid, and kppid. For the Anderson acceleration, the parameter aaccdim specifies the dimension of the Anderson iteration space.
The property termonres controls the termination criterion for stationary problems when dtech=const or bcktrack (and ntermconst is not iter), auto, or hnlin. When termonres=off the estimated error is solution based, with termonres=on it is based on a relative residual and for termonres=auto the estimated error is the minimum of the solution and residual based errors. For termonres=auto the property reserrfact is a scalar factor multiplying the relative residual error. For termonres=both, both methods are used.
Compatibility
The property usecflcmp from earlier versions of COMSOL Multiphysics is not used in version 5.0. Use the property stabacc instead.