deal.II version GIT relicensing-2167-g9622207b8f 2024-11-21 12:40: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 84 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 92 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 108 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 528 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 156 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 164 of file nonlinear.h.
unsigned int NonlinearSolverSelector< VectorType >::AdditionalData::maximum_non_linear_iterations |
Maximum number of nonlinear iterations allowed.
Definition at line 169 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 177 of file nonlinear.h.
const double NonlinearSolverSelector< VectorType >::AdditionalData::relative_tolerance |
Relative \(l_2\) tolerance of the residual to be reached.
Definition at line 185 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 193 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 201 of file nonlinear.h.