Reference documentation for deal.II version 9.0.0
Public Member Functions | Public Attributes | List of all members
SUNDIALS::ARKode< VectorType >::AdditionalData Class Reference

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

Public Member Functions

 AdditionalData (const double &initial_time=0.0, const double &final_time=1.0, const double &initial_step_size=1e-2, const double &output_period=1e-1, const double &minimum_step_size=1e-6, const unsigned int &maximum_order=5, const unsigned int &maximum_non_linear_iterations=10, const bool implicit_function_is_linear=false, const bool implicit_function_is_time_independent=false, const double &absolute_tolerance=1e-6, const double &relative_tolerance=1e-5)
 
void add_parameters (ParameterHandler &prm)
 

Public Attributes

double initial_time
 
double final_time
 
double initial_step_size
 
double minimum_step_size
 
double absolute_tolerance
 
double relative_tolerance
 
unsigned int maximum_order
 
double output_period
 
unsigned int maximum_non_linear_iterations
 
bool implicit_function_is_linear
 
bool implicit_function_is_time_independent
 

Detailed Description

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

Additional parameters that can be passed to the ARKode class.

Definition at line 317 of file arkode.h.

Constructor & Destructor Documentation

◆ AdditionalData()

template<typename VectorType = Vector<double>>
SUNDIALS::ARKode< VectorType >::AdditionalData::AdditionalData ( const double &  initial_time = 0.0,
const double &  final_time = 1.0,
const double &  initial_step_size = 1e-2,
const double &  output_period = 1e-1,
const double &  minimum_step_size = 1e-6,
const unsigned int &  maximum_order = 5,
const unsigned int &  maximum_non_linear_iterations = 10,
const bool  implicit_function_is_linear = false,
const bool  implicit_function_is_time_independent = false,
const double &  absolute_tolerance = 1e-6,
const double &  relative_tolerance = 1e-5 
)
inline

Initialization parameters for ARKode.

Global parameters:

Parameters
initial_timeInitial time
final_timeFinal time
initial_step_sizeInitial step size
output_periodTime interval between each output

Running parameters:

Parameters
minimum_step_sizeMinimum step size
maximum_orderMaximum ARK order
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

Error parameters:

Parameters
absolute_toleranceAbsolute error tolerance
relative_toleranceRelative error tolerance

Definition at line 344 of file arkode.h.

Member Function Documentation

◆ add_parameters()

template<typename VectorType = Vector<double>>
void SUNDIALS::ARKode< VectorType >::AdditionalData::add_parameters ( ParameterHandler prm)
inline

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
end
subsection Initial condition correction parameters
set Correction type at initial time = none
set Correction type after restart = none
set Maximum number of nonlinear iterations = 5
end
subsection Running parameters
set Initial step size = 0.1
set Maximum number of nonlinear iterations = 10
set Maximum order of ARK = 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 413 of file arkode.h.

Member Data Documentation

◆ initial_time

template<typename VectorType = Vector<double>>
double SUNDIALS::ARKode< VectorType >::AdditionalData::initial_time

Initial time for the DAE.

Definition at line 437 of file arkode.h.

◆ final_time

template<typename VectorType = Vector<double>>
double SUNDIALS::ARKode< VectorType >::AdditionalData::final_time

Final time.

Definition at line 442 of file arkode.h.

◆ initial_step_size

template<typename VectorType = Vector<double>>
double SUNDIALS::ARKode< VectorType >::AdditionalData::initial_step_size

Initial step size.

Definition at line 447 of file arkode.h.

◆ minimum_step_size

template<typename VectorType = Vector<double>>
double SUNDIALS::ARKode< VectorType >::AdditionalData::minimum_step_size

Minimum step size.

Definition at line 452 of file arkode.h.

◆ absolute_tolerance

template<typename VectorType = Vector<double>>
double SUNDIALS::ARKode< VectorType >::AdditionalData::absolute_tolerance

Absolute error tolerance for adaptive time stepping.

Definition at line 457 of file arkode.h.

◆ relative_tolerance

template<typename VectorType = Vector<double>>
double SUNDIALS::ARKode< VectorType >::AdditionalData::relative_tolerance

Relative error tolerance for adaptive time stepping.

Definition at line 462 of file arkode.h.

◆ maximum_order

template<typename VectorType = Vector<double>>
unsigned int SUNDIALS::ARKode< VectorType >::AdditionalData::maximum_order

Maximum order of ARK.

Definition at line 467 of file arkode.h.

◆ output_period

template<typename VectorType = Vector<double>>
double SUNDIALS::ARKode< VectorType >::AdditionalData::output_period

Time period between each output.

Definition at line 472 of file arkode.h.

◆ maximum_non_linear_iterations

template<typename VectorType = Vector<double>>
unsigned int SUNDIALS::ARKode< VectorType >::AdditionalData::maximum_non_linear_iterations

Maximum number of iterations for Newton or fixed point method during time advancement.

Definition at line 478 of file arkode.h.

◆ implicit_function_is_linear

template<typename VectorType = Vector<double>>
bool SUNDIALS::ARKode< VectorType >::AdditionalData::implicit_function_is_linear

Specifies that the implicit portion of the problem is linear.

Definition at line 483 of file arkode.h.

◆ implicit_function_is_time_independent

template<typename VectorType = Vector<double>>
bool SUNDIALS::ARKode< VectorType >::AdditionalData::implicit_function_is_time_independent

Specifies that the implicit portion of the problem is linear and time independent.

Definition at line 489 of file arkode.h.


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