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)
model.sol(sname).feature(fname).feature(sname).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.
Mixing parameter when segstabacc = segaacc.
CFL threshold when segstabacc = cflcmp.
Mixing parameter when segstabacc = cflcmp.
true | false
onfirst | minimal
Jacobian update on first iteration or minimal when stabacc = cflcmp and cfljtech = true.
Initial damping factor for dtech set to ddog.
const | auto | 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)
CFL threshold for Jacobian update when segstabacc = cflcmp and cfljtech = true.
25 | 4 (Time)
Minimum damping factor for dtech set to auto.
Minimum damping factor for dtech set to hnlin.
tol | itertol
Termination techniques for dtech set to auto/hnlin.
iter | tol | itertol
Termination techniques for dtech set to const.
0.9 (dtech set to const)
on | off
all | none | manual
Probes to use when probesel=manual.
Residual factor for termonres=auto.
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 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.
on | off
off | on (Time)
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=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.
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 (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.
Compatibility
The property usecflcmp from earlier versions of COMSOL Multiphysics is not used in version 5.0. Use the property stabacc instead.