PDESolverOptions Properties
Algorithm options for solvers
A PDESolverOptions
object contains options used by the
solvers when solving a structural, thermal, electromagnetic, or general PDE problem
specified as an femodel
,
StructuralModel
, ThermalModel
, ElectromagneticModel
, or PDEModel
object, respectively. femodel
,
StructuralModel
, ThermalModel
,
ElectromagneticModel
, and PDEModel
objects
contain a PDESolverOptions
object in their
SolverOptions
property.
Solvers for structural modal analysis problems and reduced-order modeling use the Lanczos algorithm.
Statistics and Convergence Report
ReportStatistics
— Flag to display internal solver statistics and convergence report during the solution process
"off"
(default) | "on"
Flag to display the internal solver statistics and the convergence report
during the solution process for transient and eigenvalue problems, specified
as "on"
or "off"
. For linear
stationary problems, there is no statistics and convergence report to
display.
Example: model.SolverOptions.ReportStatistics =
"on"
Data Types: char
ODE Solver
AbsoluteTolerance
— Absolute tolerance for internal ODE solver
1.0000e-07 (for structural models) or 1.0000e-06 (for all
other models) (default) | positive number
Absolute tolerance for the internal ODE solver, specified as a positive number. Absolute tolerance is a threshold below which the value of the solution component is unimportant. This property determines the accuracy when the solution approaches zero.
Example: model.SolverOptions.AbsoluteTolerance =
5.0000e-06
Data Types: double
RelativeTolerance
— Relative tolerance for internal ODE solver
1.0000e-05 (for structural models) or 1.0000e-03 (for all
other models) (default) | positive number
Relative tolerance for the internal ODE solver, specified as a positive
number. This tolerance is a measure of the error relative to the size of
each solution component. Roughly, it controls the number of correct digits
in all solution components, except those smaller than thresholds imposed by
AbsoluteTolerance
. The default value corresponds to
0.1% accuracy.
Example: model.SolverOptions.RelativeTolerance =
5.0000e-03
Data Types: double
Nonlinear Solver
ResidualTolerance
— Acceptable residual tolerance for internal nonlinear solver
1.0000e-04 (default) | positive number
Acceptable residual tolerance for the internal nonlinear solver, specified
as a positive number. The nonlinear solver iterates until the residual size
is less than the value of ResidualTolerance
.
Example: model.SolverOptions.ResidualTolerance =
5.0000e-04
Data Types: double
MaxIterations
— Maximal number of Gauss-Newton iterations for internal nonlinear solver
25 (default) | positive integer
Maximal number of Gauss-Newton iterations for the internal nonlinear solver, specified as a positive integer.
Example: model.SolverOptions.MaxIterations =
30
Data Types: double
MinStep
— Minimum damping of search direction for internal nonlinear solver
1.5259e-05 (default) | positive number
Minimum damping of the search direction for the internal nonlinear solver, specified as a positive number. For details, see Nonlinear Solver Algorithm.
Example: model.SolverOptions.MinStep =
1.5259e-7
Data Types: double
ResidualNorm
— Type of norm for computing residual for internal nonlinear solver
Inf
| -Inf
| positive number | "energy"
Type of norm for computing the residual for the internal nonlinear solver,
specified as Inf
, -Inf
, a positive
number, or "energy"
. The default value for
ElectromagneticModel
is 2, and for all other models
it is Inf
.
The infinity norms of a vector are
The Lp
-norm of a vector ρ
that has N
elements is
The energy norm of a vector ρ is
Here, K is the combined stiffness matrix defined in Nonlinear Solver Algorithm.
Example: model.SolverOptions.ResidualNorm =
"energy"
Data Types: double
| char
Lanczos Solver
MaxShift
— Maximum number of Lanczos shifts
100 (default) | positive integer
Maximum number of Lanczos shifts, specified as a positive integer. Increase this value when computing a large number of eigenpairs.
Example: model.SolverOptions.MaxShift =
500
Data Types: double
BlockSize
— Block size for block Lanczos recurrence
ranges from 7 to 25 (default) | positive integer
Block size for block Lanczos recurrence, specified as a positive integer.
The default number ranges from 7 to 25, depending on the size of the
stiffness matrix K
.
Example: model.SolverOptions.BlockSize =
20
Data Types: double
Algorithms
Nonlinear Solver Algorithm
The residual equation of a nonlinear PDE is as follows:
To obtain a discretized residual equation, apply the finite element method (FEM) to a partial differential equation as described in Finite Element Method Basics:
The nonlinear solver uses a Gauss-Newton iteration scheme applied to the finite element matrices. Use a Taylor series expansion to obtain the linearized system for the residual:
Neglecting the higher-order terms, write the linearized system of equations as
The descent direction for the residual is
The Gauss-Newton iteration minimizes the residual, that is, the solution of , using the equation
Here, ɑ ≤ 1 is a positive number, that must be set as large as possible so that the step has a reasonable descent. For a sufficiently small ɑ,
For the Gauss-Newton algorithm to converge, must be close enough to the solution. The first guess is often outside the region of convergence. The Armijo-Goldstein line search (a damping strategy for choosing ɑ) helps to improve convergence from bad initial guesses. This method chooses the largest damping coefficient ɑ out of the sequence 1, 1/2, 1/4, . . . such that the following inequality holds:
Using the Armijo-Goldstein line search guarantees a reduction of the residual norm by at least . Each step of the line-search algorithm must evaluate the residual .
With this strategy, when Un approaches the solution, →1, thus, the convergence rate increases.
Version History
Introduced in R2016a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)