Fully Coupled
The Fully Coupled attribute node () uses a damped version of Newton’s method, or for stationary problems, a double dogleg method, to handle parameters for a fully coupled solution approach. It can be used with the Stationary Solver and the Time-Dependent Solver.
An alternative to the fully coupled approach is given by the segregated solver, which you control with the Segregated node. Although several Fully Coupled and Segregated attribute subnodes can be attached to an operation node, only one can be active at any given time.
For more information about the settings below, see:
General
Select a Linear solver for linear systems that appear in the corresponding solver configuration. The available solvers are attribute nodes of the types Direct and Iterative.
Method and Termination
Select a Nonlinear method to control which damping factor to use in the damped Newton iterations. Select:
Automatic (Newton) to let the solver automatically determine a damping factor in each iteration of Newton’s method. Go to Automatic (Newton) and Automatic Highly Nonlinear (Newton) for settings.
Constant (Newton) to manually specify a constant damping factor that is used in all iterations of Newton’s method. Go to Constant (Newton) for settings.
Automatic highly nonlinear (Newton) if the solver does not converge with Automatic (Newton) first. It is similar to Automatic (Newton) but this method can make the solver more careful when solving highly nonlinear problems. Go to Automatic (Newton) and Automatic Highly Nonlinear (Newton) for settings.
For stationary problems, choose Double dogleg to use the double dogleg nonlinear solver. Go to Double Dogleg for settings.
Automatic (Newton) and Automatic Highly Nonlinear (Newton)
For Automatic (Newton) or Automatic highly nonlinear (Newton) enter values or expressions for:
Initial damping factor, to specify a damping factor for the first Newton iteration. The default value is 1 for Automatic (Newton) and 1.0·104 for Automatic highly nonlinear (Newton).
Minimum damping factor, to specify the smallest allowed damping factor. The default value is 1.0·104 for Automatic (Newton) and 1.0·108 for Automatic highly nonlinear (Newton).
Restriction for step-size update, to specify a factor that limits how much the damping factor is allowed to change in a Newton iteration. The damping factor can change up or down by at most this factor. The default is 10.
Restriction for step-size increase, to specify the maximum for the allowed absolute increase in the damping factor for a Newton iteration, as opposed to the Restriction for step-size update value, which limits how much the damping factor can change relative to the current damping factor. The default value of 1 means that this setting is not active. A smaller value imposes a restriction (0–1 is the valid range for this value).
The automatic Newton solver can get stuck at the minimum damping factor resulting in no convergence. If you enable the Use recovery factor, the Newton solver can try additional steps starting with a damping factor equal to the value of the Recovery damping factor. This might help to recover from a state where the solver is stuck at the minimum damping factor.
Select an option from the Use recovery damping factor list: Automatic (the default), On, or Off.
The default, Automatic, is equivalent to On for stationary problems and Off for time-dependent problems. For stationary parametric continuation problems, Automatic corresponds to On when solving for the first parameter value and Off when solving for subsequent parameter values.
Choose Off if a damping factor smaller than the Minimum damping factor is required. The nonlinear solver then terminates. For On, the nonlinear solver takes a Newton step using the constant damping factor, which is defined in the Recovery damping factor field. The default Recovery damping factor is 0.75 when Automatic or On is selected.
From the Update weights for automatic scales list, available for stationary and parametric studies, choose On (the default), Off, or Use threshold for weights:
For On, the algorithm updates the weights used for measuring the errors in the automatically damped Newton methods if they change by two orders of magnitude, and then the Newton solver is restarted from the current solution. This approach makes the automatic Newton solver more robust and can lead to fewer overall iterations. For Off, there is no update of weights and the behavior is similar to that in earlier versions of COMSOL Multiphysics.
If you choose Use threshold for weights, thats option has a selection for Damping factor at update. The default is Fraction of current with a value of 1 for the Fraction of current damping factor. The other option in the Damping factor at update list is Constant, where you can provide a constant damping factor as the Update damping factor. You can also specify the Weights threshold factor for update (default: 100), which determines when the weights are deemed to have changed significantly and an update of the weights is needed.
Then continue with the Termination Technique and Termination Criterion settings that follow.
Constant (Newton)
For Constant (Newton):
Enter a value for the Damping factor to specify a constant damping factor for Newton’s method. The default is 1.
With a Time-Dependent Solver, select the Limit on nonlinear convergence rate check box to force the nonlinear solver to terminate as soon as the convergence is estimated to be too slow. The default is 0.9. Enter a limit on the convergence rate in the field as required.
With a Time-Dependent Solver, choose a Jacobian update: Minimal (the default), On every iteration, or Once per time step:
-
Minimal reuses the Jacobian for several nonlinear systems whenever deemed possible.
-
On every iteration computes a new Jacobian for all iterations of Newton’s method.
-
Once per time step computes a new Jacobian on the first iteration of each time step.
With a Stationary Solver or a parametric solver, choose a Jacobian update: Minimal, On every iteration (the default), or On first iteration:
-
Minimal reuses the Jacobian for several nonlinear systems whenever deemed possible.
-
On every iteration computes a new Jacobian for all iterations of Newton’s method.
-
On first iteration computes a new Jacobian on the first iteration of each parameter step.
The Update weights for automatic scales check box, available for stationary and parametric studies, is selected by default. When selected, the solver updates the weights if they change by two orders of magnitude, and then the Newton solver is restarted from the current solution. Clear this check box to turn off the update of weights for automatic scales.
Continue with the Termination Technique — Constant (Newton), Termination Criterion, and Termination Criterion settings that follow.
Double Dogleg
If Double dogleg is selected for stationary problems:
Enter a value for the Initial damping factor, to specify a damping factor for the first Newton iteration. The default value is 1.0·104.
Choose a Residual scaling: Field-wise or Uniform. Field-wise scales the equations based on the field-wise sizes of the initial residual. If Uniform is selected, the algorithm terminates on the relative residual based on the initial residual.
Continue with the Termination Technique settings that follow.
Termination Technique
For any Nonlinear method, select a Termination technique to control how the Newton iterations are terminated. Select:
Tolerance to terminate the Newton iterations when the estimated relative error is smaller than a specified tolerance. Then enter the Maximum number of iterations to limit the number of Newton iterations. When the maximum number of iterations have been performed, Newton’s method is terminated even if the tolerance is not fulfilled.
Iterations or tolerance to terminate the Newton iterations when the estimated tolerance is smaller than a specified tolerance or after a specified number of iterations, whichever comes first. Then enter the Number of iterations to specify a fixed number of iterations to perform.
If Tolerance or Iterations or tolerance are set as the Termination technique, then enter a Tolerance factor to modify the tolerance used for termination of the Newton iterations. The actual tolerance used is this factor times the value specified in the Relative tolerance field in the General sections of the Stationary Solver and Time-Dependent Solver.
Termination Technique — Constant (Newton)
When Constant (Newton) is the nonlinear method, you can also choose Iterations to terminate the Newton iterations after a fixed number of iterations. Enter the Number of iterations to specify a fixed number of iterations to perform.
Termination Criterion
This section is available for a Stationary Solver only, but not if the termination technique is set to Iterations. Select a Termination criterion to control how the Newton iterations are terminated. Select:
Solution to terminate the Newton iterations on a solution-based estimated relative error.
Residual to terminate the Newton iterations on a residual-based estimated relative error.
Solution or residual to terminate the Newton iterations on the minimum of the solution-based and residual-based estimated relative errors. Enter a scalar Residual factor multiplying the residual error estimate. The default is 1000.
Solution and residual to terminate the Newton iterations on a solution-based estimated relative error and a residual-based estimated relative error (that is, a more stringent termination criterion). Enter a scalar Residual factor multiplying the residual error estimate. The default is 1000.
Stabilization and Acceleration — Constant (Newton)
When Constant (Newton) is the nonlinear method, you can select one of the following methods for stabilization and acceleration of the nonlinear convergence from the Stabilization and acceleration list:
None (the default) to not use any stabilization or acceleration method.
Pseudo time-stepping to use a pseudo time-stepping method to stabilize convergence toward steady state for a stationary solver. Pseudo time stepping is not available for time-dependent solvers. See Pseudo Time Stepping for more information. For the pseudo time-stepping method, specify the following parameters:
-
Initial CFL number. The default is 5.
-
PID controller - proportional. The default is 0.65.
-
PID controller - integral. The default is 0.05.
-
PID controller - derivative. The default is 0.05.
-
Target error estimate. The default is 0.1.
-
Select the Anderson acceleration check box to activate Anderson acceleration for the pseudo time-stepping method. See below.
-
Select the Override Jacobian update check box to override updates of the Jacobian. The CFL threshold value (default: 100), which is the value of the CFL number where overriding of the Jacobian update becomes active. From the Jacobian update list, choose On first iteration (the default) or Minimal, which updates the Jacobian at least once and then only when the nonlinear solver fails during parameter stepping. It reuses the Jacobian for several nonlinear systems whenever deemed possible.
Anderson acceleration, which is a nonlinear convergence acceleration method that uses information from previous Newton iterations to accelerate convergence. The Anderson acceleration method is primarily intended for acceleration of nonlinear iterations in transport problems involving, for example, crosswind diffusion stabilization. It is useful is for solving linear or almost linear problems using the segregated solver, where convergence can be improved and the performance increased. You can control the number of iteration increments to store using the Dimension of iteration space field (default: 10) and the mixing factor as a value between 0 and 1 using the Mixing factor field (default: 1.0). The Iteration delay field (default 0) contains the number of iterations between pseudo time stepping becomes inactive and Anderson acceleration becomes active. When used for pseudo time stepping, you can also enter a CFL threshold value (default: 100), which is the value of the CFL number where Anderson acceleration becomes active and pseudo time stepping becomes inactive.
Results while Solving
See Results While Solving in the Common Study Step Settings section. Also see Getting Results While Solving.
For an example using a Stationary Solver, see Tubular Reactor with Nonisothermal Cooling Jacket: Application Library path COMSOL_Multiphysics/Chemical_Engineering/tubular_reactor.
For an example using a Time-Dependent Solver, see Effective Diffusivity in Porous Materials: Application Library path COMSOL_Multiphysics/Diffusion/effective_diffusivity.