Reference documentation for deal.II version 9.0.0
|
#include <deal.II/sundials/kinsol.h>
Public Types | |
enum | SolutionStrategy { newton = KIN_NONE, linesearch = KIN_LINESEARCH, fixed_point = KIN_FP, picard = KIN_PICARD } |
Public Member Functions | |
AdditionalData (const SolutionStrategy &strategy=linesearch, const unsigned int &maximum_non_linear_iterations=200, const double &function_tolerance=0.0, const double &step_tolerance=0.0, const bool &no_init_setup=false, const unsigned int &maximum_setup_calls=0, const double &maximum_newton_step=0.0, const double &dq_relative_error=0.0, const unsigned int &maximum_beta_failures=0, const unsigned int &anderson_subspace_size=0) | |
void | add_parameters (ParameterHandler &prm) |
Public Attributes | |
SolutionStrategy | strategy |
unsigned int | maximum_non_linear_iterations |
double | function_tolerance |
double | step_tolerance |
bool | no_init_setup |
unsigned int | maximum_setup_calls |
double | maximum_newton_step |
double | dq_relative_error |
unsigned int | maximum_beta_failures |
unsigned int | anderson_subspace_size |
Additional parameters that can be passed to the KINSOL class.
enum SUNDIALS::KINSOL::AdditionalData::SolutionStrategy |
|
inline |
Initialization parameters for KINSOL.
Global parameters:
strategy | Solution strategy |
maximum_non_linear_iterations | Maximum number of nonlinear iterations |
function_tolerance | Function norm stopping tolerance |
step_tolerance | Scaled step stopping tolerance |
Newton parameters:
no_init_setup | No initial matrix setup |
maximum_setup_calls | Maximum iterations without matrix setup |
maximum_newton_step | Maximum allowable scaled length of the Newton step |
dq_relative_error | Relative error for different quotient computation |
Linesearch parameters:
maximum_beta_failures | Maximum number of beta-condition failures |
Fixed point and Picard parameters:
anderson_subspace_size | Anderson acceleration subspace size |
|
inline |
Add all AdditionalData() parameters to the given ParameterHandler object. When the parameters are parsed from a file, the internal parameters are automatically updated.
The following parameters are declared:
These are one-to-one with the options you can pass at construction time.
The options you pass at construction time are set as default values in the ParameterHandler object prm
. You can later modify them by parsing a parameter file using prm
. The values of the parameter will be updated whenever the content of prm
is updated.
Make sure that this class lives longer than prm
. Undefined behaviour will occur if you destroy this class, and then parse a parameter file using prm
.
SolutionStrategy SUNDIALS::KINSOL< VectorType >::AdditionalData::strategy |
The solution strategy to use. If you choose SolutionStrategy::newton or SolutionStrategy::linesearch, you have to provide also the function residual(). If you choose SolutionStrategy::picard or SolutionStrategy::fixed_point, you have to provide also the function iteration_function().
unsigned int SUNDIALS::KINSOL< VectorType >::AdditionalData::maximum_non_linear_iterations |
double SUNDIALS::KINSOL< VectorType >::AdditionalData::function_tolerance |
double SUNDIALS::KINSOL< VectorType >::AdditionalData::step_tolerance |
bool SUNDIALS::KINSOL< VectorType >::AdditionalData::no_init_setup |
Whether an initial call to the preconditioner or Jacobian setup function should be made or not.
A call to this function is useful when solving a sequence of problems, in which the final preconditioner or Jacobian value from one problem is to be used initially for the next problem.
unsigned int SUNDIALS::KINSOL< VectorType >::AdditionalData::maximum_setup_calls |
The maximum number of nonlinear iterations that can be performed between calls to the setup_jacobian() function.
If set to zero, default values provided by KINSOL will be used.
double SUNDIALS::KINSOL< VectorType >::AdditionalData::maximum_newton_step |
double SUNDIALS::KINSOL< VectorType >::AdditionalData::dq_relative_error |
unsigned int SUNDIALS::KINSOL< VectorType >::AdditionalData::maximum_beta_failures |
unsigned int SUNDIALS::KINSOL< VectorType >::AdditionalData::anderson_subspace_size |