template<typename VectorType = Vector<double>>
class SUNDIALS::IDA< VectorType >::AdditionalData
Additional parameters that can be passed to the IDA class.
Definition at line 241 of file ida.h.
template<typename VectorType = Vector<double>>
IDA is a Differential Algebraic solver. As such, it requires initial conditions also for the first order derivatives. If you do not provide consistent initial conditions, (i.e., conditions for which F(y_dot(0), y(0), 0) = 0), you can ask SUNDIALS to compute initial conditions for you by specifying InitialConditionCorrection for the initial conditions both at the initial_time (ic_type) and after a reset has occurred (reset_type).
| Enumerator |
|---|
| none | Do not try to make initial conditions consistent.
|
| use_y_diff | Compute the algebraic components of y and differential components of y_dot, given the differential components of y. This option requires that the user specifies differential and algebraic components in the function get_differential_components.
|
| use_y_dot | Compute all components of y, given y_dot.
|
Definition at line 253 of file ida.h.
template<typename VectorType = Vector<double>>
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:
set Final time = 1.000000
set Initial time = 0.000000
set Time interval between each output = 0.2
subsection Error control
set Absolute error tolerance = 0.000001
set Ignore algebraic terms
for error computations =
true
set Relative error tolerance = 0.00001
set Use local tolerances =
false
subsection Initial condition correction parameters
set Correction type after restart =
none
set Maximum number of nonlinear iterations = 5
subsection Running parameters
set Initial step size = 0.1
set Maximum number of nonlinear iterations = 10
set Maximum order of BDF = 5
set Minimum step size = 0.000001
end
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.
Definition at line 380 of file ida.h.
template<typename VectorType = Vector<double>>
Type of correction for initial conditions.
If you do not provide consistent initial conditions, (i.e., conditions for which \(F(y_dot(0), y(0), 0) = 0\)), you can ask SUNDIALS to compute initial conditions for you by using the ic_type parameter at construction time.
Notice that you could in principle use this capabilities to solve for steady state problems by setting y_dot to zero, and asking to compute \(y(0)\) that satisfies \(F(0, y(0), 0) = 0\), however the nonlinear solver used inside IDA may not be robust enough for complex problems with several millions unknowns.
Definition at line 518 of file ida.h.
template<typename VectorType = Vector<double>>
Type of correction for initial conditions to be used after a solver restart.
If you do not have consistent initial conditions after a restart, (i.e., conditions for which F(y_dot(t_restart), y(t_restart), t_restart) = 0), you can ask SUNDIALS to compute the new initial conditions for you by using the reset_type parameter at construction time.
Definition at line 530 of file ida.h.