![]() |
deal.II version GIT relicensing-3083-g7b89508ac7 2025-04-18 12:50:00+00:00
|
#include <deal.II/numerics/nonlinear.h>
Public Types | |
enum | SolutionStrategy { newton , linesearch , picard } |
enum | SolverType { automatic , kinsol , nox , petsc_snes } |
Public Member Functions | |
AdditionalData (const SolverType &solver_type=automatic, const SolutionStrategy &strategy=linesearch, const unsigned int maximum_non_linear_iterations=200, const double function_tolerance=1e-8, const double relative_tolerance=1e-5, const double step_tolerance=0.0, const unsigned int anderson_subspace_size=0) | |
Public Attributes | |
SolverType | solver_type |
SolutionStrategy | strategy |
unsigned int | maximum_non_linear_iterations |
double | function_tolerance |
const double | relative_tolerance |
double | step_tolerance |
unsigned int | anderson_subspace_size |
Additional data that will be sent through the NonlinearSolverSelector class, then into the specific nonlinear solver classes themselves. Many of these parameters can also be foud in the documentation for KINSOL
and NOX
.
Definition at line 89 of file nonlinear.h.
enum NonlinearSolverSelector::AdditionalData::SolutionStrategy |
NonlinearSolverSelector solution strategy. The solver types included in this class both use a Newton-Krylov solver with a line search and even Picard iterations (KINSOL).
Enumerator | |
---|---|
newton | Standard Newton iteration. |
linesearch | Newton iteration with line search. |
picard | Picard iteration. |
Definition at line 97 of file nonlinear.h.
enum NonlinearSolverSelector::AdditionalData::SolverType |
Enumerator | |
---|---|
automatic | Default parameter, will use whatever solver is available with KINSOL as the priority. |
kinsol | KINSOL nonlinear solver, part of the SUNDIALS package. |
nox | NOX nonlinear solver, part of the TRILINOS package. |
petsc_snes |
Definition at line 113 of file nonlinear.h.
NonlinearSolverSelector< VectorType >::AdditionalData::AdditionalData | ( | const SolverType & | solver_type = automatic , |
const SolutionStrategy & | strategy = linesearch , |
||
const unsigned int | maximum_non_linear_iterations = 200 , |
||
const double | function_tolerance = 1e-8 , |
||
const double | relative_tolerance = 1e-5 , |
||
const double | step_tolerance = 0.0 , |
||
const unsigned int | anderson_subspace_size = 0 |
||
) |
Initialization parameters for NonlinearSolverSelector.
solver_type | Nonlinear solver type. |
strategy | Method of solving the nonlinear problem. |
maximum_non_linear_iterations | Maximum number of nonlinear iterations. |
function_tolerance | Absolute stopping tolerance for the norm of the residual \(F(u)\). |
relative_tolerance | Relative stopping tolerance. |
step_tolerance | Tolerance for minimum scaled step length |
anderson_subspace_size | Size of the Anderson acceleration subspace, use 0 to disable. |
Definition at line 535 of file nonlinear.h.
SolverType NonlinearSolverSelector< VectorType >::AdditionalData::solver_type |
The type of nonlinear solver to use. If the default 'automatic' is used, it will choose the first available package in the order KINSOL, NOX, or SNES.
Definition at line 161 of file nonlinear.h.
SolutionStrategy NonlinearSolverSelector< VectorType >::AdditionalData::strategy |
The solution strategy to use. For this class, you can choose from SolutionStrategy::newton, SolutionStrategy::linesearch, or SolutionStrategy::picard. More details on this can be found on the KINSOL
documentation.
Definition at line 169 of file nonlinear.h.
unsigned int NonlinearSolverSelector< VectorType >::AdditionalData::maximum_non_linear_iterations |
Maximum number of nonlinear iterations allowed.
Definition at line 174 of file nonlinear.h.
double NonlinearSolverSelector< VectorType >::AdditionalData::function_tolerance |
A scalar used as a stopping tolerance on the scaled maximum norm of the system function \(F(u)\) or \(G(u)\).
If set to zero, default values will be used.
Definition at line 182 of file nonlinear.h.
const double NonlinearSolverSelector< VectorType >::AdditionalData::relative_tolerance |
Relative \(l_2\) tolerance of the residual to be reached.
Definition at line 190 of file nonlinear.h.
double NonlinearSolverSelector< VectorType >::AdditionalData::step_tolerance |
A scalar used as a stopping tolerance on the minimum scaled step length.
If set to zero, default values will be used.
Definition at line 198 of file nonlinear.h.
unsigned int NonlinearSolverSelector< VectorType >::AdditionalData::anderson_subspace_size |
The size of the subspace used with Anderson acceleration in conjunction with Picard iteration.
If you set this to 0, no acceleration is used.
Definition at line 206 of file nonlinear.h.