deal.II version GIT relicensing-6834-g5b78e6bcdf 2026-10-01 11:20: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::ARKode< VectorType >::FunctionProxy< Fn > Struct Template Reference

Detailed Description

template<typename VectorType = Vector<double>>
template<class Fn>
struct SUNDIALS::ARKode< VectorType >::FunctionProxy< Fn >

This class is introduced in order to provide backward compatibility with the previous interface of ARKode class. As the steppers have been introduced, the function objects required for the ARKStep callbacks have been moved to the ARKStepper class. In order not to break the existing codes, the underlying type of the function objects relevant for the time stepping mechanism was changed from std::function to FunctionProxy. These proxy objects then provide indirect access from the ARKode interface to the underlying stepper function objects for the case the stepper is actually of type ARKStepper and one of the old constructors without a stepper parameter was used for instantiation of the ARKode object.

Definition at line 115 of file arkode.h.

Inheritance diagram for SUNDIALS::ARKode< VectorType >::FunctionProxy< Fn >:
[legend]

Public Member Functions

 FunctionProxy (std::function< Fn > *t=nullptr)
 
FunctionProxy & operator= (std::function< Fn > *t)
 
FunctionProxy & operator= (std::function< Fn > f)
 

Public Attributes

std::function< Fn > * target
 

Constructor & Destructor Documentation

◆ FunctionProxy()

template<typename VectorType = Vector<double>>
template<class Fn >
SUNDIALS::ARKode< VectorType >::FunctionProxy< Fn >::FunctionProxy ( std::function< Fn > *  t = nullptr)
inline

Definition at line 119 of file arkode.h.

Member Function Documentation

◆ operator=() [1/2]

template<typename VectorType = Vector<double>>
template<class Fn >
FunctionProxy & SUNDIALS::ARKode< VectorType >::FunctionProxy< Fn >::operator= ( std::function< Fn > *  t)
inline

Definition at line 124 of file arkode.h.

◆ operator=() [2/2]

template<typename VectorType = Vector<double>>
template<class Fn >
FunctionProxy & SUNDIALS::ARKode< VectorType >::FunctionProxy< Fn >::operator= ( std::function< Fn >  f)
inline

Definition at line 131 of file arkode.h.

Member Data Documentation

◆ target

template<typename VectorType = Vector<double>>
template<class Fn >
std::function<Fn>* SUNDIALS::ARKode< VectorType >::FunctionProxy< Fn >::target

Definition at line 117 of file arkode.h.


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