![]() |
deal.II version GIT relicensing-6960-g70e9c5b7be 2026-10-22 20:10:01+00:00
|
#include <deal.II/sundials/arkode_stepper.h>
Additional parameters that can be passed to the ARKStepper class.
Definition at line 469 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 1099 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 1123 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 552 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 558 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 563 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 569 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 575 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 581 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 592 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 603 of file arkode_stepper.h.