The Log window (

) contains information from previous solver runs, including convergence information, solution time, and memory use. When a solver starts, the log window displays logs from all solver calls. This window is always available. For progress information during a solver or mesher process, see
The Progress Window.
A horizontal divider (===============) indicates the start of a new solver progress log. To differentiate logs from different models, the log contains a horizontal divider displaying the name of the Model MPH-file each time a model is opened. For example,
Also, see Pseudo Time Stepping for information about the CFL ratio in the log.
You can scroll the contents of the Log window to display information from earlier runs.
•
|
Click the Scroll Lock button (  ) to stop the window from scrolling the log during a solver call, for example.
|
•
|
Click the Scroll Lock button again to resume scrolling.
|
•
|
Click the Clear button (  ) to clear the Log window from all information.
|
By default, the buffer size of the Log window is limited to 300,000 characters.
The Adaptive Mesh Refinement Solver prints a section in the log for each adaptive generation containing the current number of elements and a global error indicator value. The
Parametric solver similarly outputs one section to the log for each parameter value.
-
|
The solution error (SolEst), if Solution is selected from the Termination criterion list for the solver.
|
-
|
The residual error (ResEst), if Resolution is selected from the Termination criterion list for the solver.
|
-
|
Both the solution error and the residual error (SolEst and ResEst), if Solution or residual is selected from the Termination criterion list for the solver. The convergence is then based on the minimum of the solution error or the residual error multiplied by the residual factor.
|
The direct linear system solvers produce a log that additionally contains a relative error estimate (LinErr) and the relative residual (
LinRes). The relative error is estimated by deferred correction (also called iterative improvement) — that is, by solving
A·
dx = r(x) for
dx and setting
LinErr = rhoB ·
norm(
dx)/
norm(
x), where
rhoB is the
factor in error estimate value from the direct solver, and
r(x) = Ax − b. The relative residual is the Euclidean norm of the residual divided by the norm of the linear system’s right-hand side; that is,
LinRes = norm(
r(x))/
norm(
b).
The iterative linear system solvers produce a log that additionally contains the total number of linear iterations (LinIt), a relative error estimate (
LinErr), and the relative residual (
LinRes). The relative error estimate is a factor times the relative (preconditioned) residual. The relative residual is the Euclidean norm of the residual divided by the norm,
|b|, of the linear system’s right-hand side.
For the Time-Dependent Solver, the time-stepping algorithm produces a log that contains:
•
|
Time (Time; output times are indicated with out).
|
You can see also the order of accuracy of the method (Order), the number of error test failures in time stepping (
Tfail), and the number of failures in the nonlinear iterations (
NLfail). For iterative linear system solvers, the log also contains the total number of linear iterations, a linear error estimate, and a relative residual (see above).
If you use the Runge-Kutta time-stepping methods with local time stepping, the log includes the local error (LocError). It is a weighted root mean square norm of the difference of the fourth-order and fifth-order solutions, or, for RK34, the difference of the third-order and fourth-order solutions. More specifically, it is the relative tolerance times the norm described in
Absolute Tolerance Settings for the Time-Dependent Solver.
The Eigenvalue Solver produces a log that contains the iteration number (
Iter), an error estimate (
ErrEst), the number of converged eigenvalues (
Nconv), and — if you are using an iterative linear solver — the number of linear iterations (
LinIt).
The Optimization Solver (which requires the Optimization Module) algorithm used by the solver SNOPT
is an iterative procedure that involves
major and
minor iterations. A major iteration results in a new solution candidate. For each major iteration, the optimization solver solves a quadratic-programming subproblem using an iterative procedure; these iterations are the minor iterations.
•
|
The maximum complementarity gap (Error). It is an estimate of the degree of nonoptimality of the reduced costs. For convergence, this value should be smaller than the Optimality tolerance.
|
The MMA solver implements another general-purpose optimization algorithm. The method is based on solving a sequence of approximating subproblems, one for each inner iteration. The subproblem is constructed from function values and gradients, which are evaluated once per
outer iteration only. Each outer iteration requires one or more
inner iterations, depending on whether the last subproblem was found to be conservative or not. Once a feasible point is found, outer iterates stay feasible. If the initial guess is infeasible or the feasible set is empty, nonzero infeasibilities may be reported.
•
|
The estimated error (Error). The error is defined as the maximum relative change in any control variable since last outer iteration, computed as a percentage of the distance between the control variable’s bounds.
|
The optimization solver Levenberg-Marquardt is an iterative procedure used to solve least-squares problems. The log produced by the Levenberg-Marquardt
solver contains the following data: