![]() |
deal.II version GIT relicensing-6842-g793a97d2aa 2026-10-02 14:00:01+00:00
|
#include <deal.II/sundials/arkode_stepper.h>
Additional parameters that can be passed to the ARKStepper class.
Definition at line 407 of file arkode_stepper.h.
Public Member Functions | |
| AdditionalData (const unsigned int order=0, const unsigned int maximum_non_linear_iterations=10, const bool implicit_function_is_linear=false, const bool implicit_function_is_time_independent=false, const bool mass_is_time_independent=false, const int anderson_acceleration_subspace=3, const std::string &implicit_butcher_table="", const std::string &explicit_butcher_table="") | |
| void | add_parameters (ParameterHandler &prm) |
Public Attributes | |
| unsigned int | order |
| unsigned int | maximum_non_linear_iterations |
| bool | implicit_function_is_linear |
| bool | implicit_function_is_time_independent |
| bool | mass_is_time_independent |
| int | anderson_acceleration_subspace |
| std::string | implicit_butcher_table |
| std::string | explicit_butcher_table |
|
explicit |
Initialization parameters for ARKStepper.
| order | Desired order of accuracy for the time integration. If set to 0 the default order for the chosen method is used. This parameter can't be set to a nonzero value if either of the parameters implicit_butcher_table or explicit_butcher_table is set to a non-empty string. |
| maximum_non_linear_iterations | Maximum number of nonlinear iterations |
| implicit_function_is_linear | Specifies that the implicit portion of the problem is linear |
| implicit_function_is_time_independent | Specifies that the implicit portion of the problem is linear and time independent |
| mass_is_time_independent | Specifies that the mass pre-factor is independent of time |
| anderson_acceleration_subspace | The number of vectors to use for Anderson acceleration within the packaged SUNDIALS solver. |
| implicit_butcher_table | Name of the implicit (DIRK) Butcher table. The default is an empty string. If both implicit_butcher_table and explicit_butcher_table are left as empty strings, then ARKStep will default to the method corresponding to the specified order (or the default order if order is set to 0). If implicit_butcher_table is left empty but explicit_butcher_table is set to a non-empty string, that means no implicit table is selected, which is equivalent to passing "ARKODE_DIRK_NONE" to SUNDIALS. If implicit_butcher_table is set to a non-empty string, then the method corresponding to the specified table will be used. This option is supported if SUNDIALS version 6.4.0 or later is used. |
| explicit_butcher_table | Name of the explicit (ERK) Butcher table. The default is an empty string. If both implicit_butcher_table and explicit_butcher_table are left as empty strings, then ARKStep will default to the method corresponding to the specified order (or the default order if order is set to 0). If explicit_butcher_table is left empty but implicit_butcher_table is set to a non-empty string, that means no explicit table is selected, which is equivalent to passing "ARKODE_ERK_NONE" to SUNDIALS. If explicit_butcher_table is set to a non-empty string, then the method corresponding to the specified table will be used. This option is supported if SUNDIALS version 6.4.0 or later is used. |
Definition at line 1034 of file arkode_stepper.h.
| void SUNDIALS::ARKStepper< VectorType >::AdditionalData::add_parameters | ( | ParameterHandler & | prm | ) |
Add all AdditionalData() parameters to the given ParameterHandler object. When the parameters are parsed from a file, the internal parameters are automatically updated.
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 behavior will occur if you destroy this class, and then parse a parameter file using prm.
Definition at line 1058 of file arkode_stepper.h.
| unsigned int SUNDIALS::ARKStepper< VectorType >::AdditionalData::order |
Desired order of accuracy for the time integration. If set to 0 the default order for the chosen method is used.
This option is mutually exclusive with implicit_butcher_table and explicit_butcher_table: either the order is specified as a nonzero value, or specific Butcher tables are chosen, but not both.
Definition at line 490 of file arkode_stepper.h.
| unsigned int SUNDIALS::ARKStepper< VectorType >::AdditionalData::maximum_non_linear_iterations |
Maximum number of iterations for Newton or fixed point method during time advancement.
Definition at line 496 of file arkode_stepper.h.
| bool SUNDIALS::ARKStepper< VectorType >::AdditionalData::implicit_function_is_linear |
Specify whether the implicit portion of the problem is linear.
Definition at line 501 of file arkode_stepper.h.
| bool SUNDIALS::ARKStepper< VectorType >::AdditionalData::implicit_function_is_time_independent |
Specify whether the implicit portion of the problem is linear and time independent.
Definition at line 507 of file arkode_stepper.h.
| bool SUNDIALS::ARKStepper< VectorType >::AdditionalData::mass_is_time_independent |
Specify whether the mass pre-factor is time independent. Has no effect if no mass is specified.
Definition at line 513 of file arkode_stepper.h.
| int SUNDIALS::ARKStepper< VectorType >::AdditionalData::anderson_acceleration_subspace |
Number of subspace vectors to use for Anderson acceleration. Only meaningful if the packaged SUNDIALS fixed-point solver is used.
Definition at line 519 of file arkode_stepper.h.
| std::string SUNDIALS::ARKStepper< VectorType >::AdditionalData::implicit_butcher_table |
Name of the implicit (DIRK) Butcher table to use. An empty string leaves the implicit table unset, equivalent to passing "ARKODE_DIRK_NONE" to SUNDIALS (i.e., no implicit component).
Must be a name recognised by ARKStep (e.g., "ARKODE_SDIRK_2_1_2", "ARKODE_ARK324L2SA_DIRK_4_2_3"). This option is mutually exclusive with order.
Definition at line 530 of file arkode_stepper.h.
| std::string SUNDIALS::ARKStepper< VectorType >::AdditionalData::explicit_butcher_table |
Name of the explicit (ERK) Butcher table to use. An empty string leaves the explicit table unset, equivalent to passing "ARKODE_ERK_NONE" to SUNDIALS (i.e., no explicit component).
Must be a name recognised by ARKStep (e.g., "ARKODE_BOGACKI_SHAMPINE_4_2_3", "ARKODE_FEHLBERG_13_7_8"). This option is mutually exclusive with order.
Definition at line 541 of file arkode_stepper.h.