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 automatic scale factors in weights list, available for stationary and parametric studies, choose On (the default), Off, or Use threshold for weights. On is the behavior in versions of the COMSOL Multiphysics software earlier than version 6.2. If you choose Off, the automatic scale factors are not taken into account when updating the weights. When the option Use threshold for weights is selected as the strategy for Update automatic scale factors in weights the following algorithm is used:
1
For the calculation of the weights U, the current, possibly damped, approximation to the solution is used. The weights are computed as , where Sj is the average of for all DOFs i for a fixed j, times a factor equal to 105 for highly nonlinear problems or 0.1 otherwise.
2
The newly computed weights, , are compared to the weights currently used, Wi,j, using a threshold value Wthr. This value is given by the user as the Weights threshold factor for update (default value: 100). If any of the weights satisfies or , the weights are updated to.
3
When the weights are updated the Newton algorithm is restarted, old step-size norms are cleared, and a new damping factor will be used. The new damping factor is controlled by Damping factor at update, where the strategies are Fraction of current (the default) or Constant. For Fraction of current there is an option to select a Fraction of current damping factor (default value: 1). For Constant the damping factor will be the Update damping factor.
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. The nonlinear convergence rate is estimated as γ = (en/e1)(1/(n1)), where en is the error estimate for iteration n. This can be seen as the average convergence rate after n steps (n>1). If γ  \ γlimit (γlimit is the limit on nonlinear convergence rate), then the nonlinear solver will terminate (as if it fails). This means that the current time step will be disqualified, and a new nonlinear solve attempt will be performed with a reduced time step. For problems where the convergence rate can be slow, this option can be used to avoid unnecessary nonlinear iterations (because the solver will in those cases not converge anyways within the allotted iterations specified in the Maximum number of iterations field).
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 Time-Dependent Solver, by default, a stricter tolerance is used at each Newton iteration step when Jacobian is not updated. This approach typically leads to more robust time stepping. Therefore, more nonlinear iterations might be required in each time step, and more Jacobian updates might be needed. To use the minimal Jacobian update used in earlier versions of the COMSOL Multiphysics software, select the Use linear heuristics for adaptive tolerance check box.
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 automatic scale factors in weights check box, available for stationary and parametric studies, is selected by default. When selected it is the behavior in earlier versions of COMSOL Multiphysics; see Termination Criterion for the Fully Coupled and Segregated Attribute Nodes. If the automatic scale factors have changed by two orders of magnitude this will be indicated in the Log window. If you clear this check box, the automatic scale factors are not taken into account when updating the weights.
Continue with the Termination Technique — Constant (Newton) 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.
Adaptive Tolerance in the Linear Solver — Constant (Newton)
When Constant (Newton) is the nonlinear method, select the Use adaptive tolerance in linear solver check box to activate such an adaptive tolerance. Based on an estimate of the global convergence, the algorithm then tries to find an optimal tolerance for the linear solver. Doing so can avoid expensive oversolving of the linear system when still far away from global convergence. When selected, also specify these additional settings:
An initial tolerance in the Initial tolerance field (default: 0.5).
A maximal tolerance in the Maximal tolerance field (default: 0.9).
-
Full error estimate (the default): It uses full vectorial information of the linear and nonlinear residuals (needs to compute the linear residual).
-
Partial error estimate: It uses only the norms of the linear and nonlinear residuals (needs to compute the linear residual).
-
Nonlinear residual: It uses norms of only the nonlinear residuals (no need of the linear residual). If you chose Nonlinear residual, also specify a damping exponent between 1 and 2 and a damping factor between 0 and 1 in the Damping exponent (default: 2) field and Damping factor (default: 1) field, respectively, to define a nonlinear residual.
The full and partial error estimates usually have a similar behavior whereas the tolerance determined by the nonlinear residual tends to be larger, especially when the damping is different from 1.
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 controller parameters:
-
PID Controller. Choose Simple (the default) or Interpolated. The simple controller corresponds to the PID controller in versions of the COMSOL Multiphysics software earlier than version 6.2. The interpolated controller blends different types of controllers when the error reaches the Target error estimate.
-
Initial CFL number. The default is 5.
-
Target CFL number. The default is 10,000. The solver does not converge unless the target CFL number is reached.
-
The Limit to target CFL number check box is selected by default. This setting controls how the CFL number is changed once the Target CFL number is reached. If you clear this check box, the CFL number can continue to increase until the error tolerance is fulfilled
-
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.
-
Select the Override Jacobian update for steps check box to override updates of the Jacobian for the segregated steps. The CFL threshold value (default: 100), which is the value of the CFL number where overriding of the Jacobian update becomes active. That is, the overriding becomes active for larger CFL numbers than the threshold. 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 parameter as a value between 0 and 1 using the Mixing parameter 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. Enter a threshold value in the Threshold for Anderson step field (default: 10). This threshold value controls if the Anderson step or the Newton step is used in the nonlinear step. If the norm of the new step is less than the threshold times the norm of the previous step, the Anderson step is used. Otherwise, the Newton step is used. Lowering the value for the Threshold for Anderson step can improve robustness at the price of performance.
When used for pseudo time stepping, you can 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. You can also choose Use PID controller (the default) or Lock target CFL number from the Above CFL threshold list. Select Lock target CFL number if the solver should set the target CFL number once the threshold is reached, or select Use PID controller if the PID controller should still control the CFL number based on the error estimate.
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.