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.