deal.II version GIT relicensing-6842-g793a97d2aa 2026-10-02 14:00:01+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
SUNDIALS::ARKStepper< VectorType >::AdditionalData Class Reference

#include <deal.II/sundials/arkode_stepper.h>

Detailed Description

template<typename VectorType = Vector<double>>
class SUNDIALS::ARKStepper< VectorType >::AdditionalData

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
 

Constructor & Destructor Documentation

◆ AdditionalData()

template<typename VectorType >
SUNDIALS::ARKStepper< VectorType >::AdditionalData::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 = "" 
)
explicit

Initialization parameters for ARKStepper.

Parameters
orderDesired 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_iterationsMaximum number of nonlinear iterations
implicit_function_is_linearSpecifies that the implicit portion of the problem is linear
implicit_function_is_time_independentSpecifies that the implicit portion of the problem is linear and time independent
mass_is_time_independentSpecifies that the mass pre-factor is independent of time
anderson_acceleration_subspaceThe number of vectors to use for Anderson acceleration within the packaged SUNDIALS solver.
implicit_butcher_tableName 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_tableName 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.

Member Function Documentation

◆ add_parameters()

template<typename VectorType >
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.

Member Data Documentation

◆ order

template<typename VectorType = Vector<double>>
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.

◆ maximum_non_linear_iterations

template<typename VectorType = Vector<double>>
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.

◆ implicit_function_is_linear

template<typename VectorType = Vector<double>>
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.

◆ implicit_function_is_time_independent

template<typename VectorType = Vector<double>>
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.

◆ mass_is_time_independent

template<typename VectorType = Vector<double>>
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.

◆ anderson_acceleration_subspace

template<typename VectorType = Vector<double>>
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.

◆ implicit_butcher_table

template<typename VectorType = Vector<double>>
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.

◆ explicit_butcher_table

template<typename VectorType = Vector<double>>
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.


The documentation for this class was generated from the following file: