Sandals  v0.0.0
A C++ library for ODEs/DAEs integration
Loading...
Searching...
No Matches
Sandals::RadauIIA3< Real, N, M > Class Template Reference

Class container for the Radau IIA order 3 method. More...

#include <RadauIIA3.hh>

Inherits Sandals::RungeKutta< Real, 2, N, 0 >.

Public Types

using System = typename Implicit<Real, N, M>::Pointer
Public Types inherited from Sandals::RungeKutta< Real, 2, N, 0 >
using System
using Type
using Time

Public Member Functions

 RadauIIA3 ()
 RadauIIA3 (System t_system)
Public Member Functions inherited from Sandals::RungeKutta< Real, 2, N, 0 >
 RungeKutta (const RungeKutta &)=delete
RungeKuttaoperator= (RungeKutta const &)=delete
Type type () const
bool is_erk () const
bool is_irk () const
bool is_dirk () const
Tableau< Real, S > & tableau ()
Integer stages () const
std::string name () const
Integer order () const
bool is_embedded () const
MatrixS A () const
VectorS b () const
VectorS b_embedded () const
VectorS c () const
System system ()
void implicit_system (typename ImplicitWrapper< Real, N, M >::FunctionF F, typename ImplicitWrapper< Real, N, M >::FunctionJF JF_x, typename ImplicitWrapper< Real, N, M >::FunctionJF JF_x_dot, typename ImplicitWrapper< Real, N, M >::FunctionH h=ImplicitWrapper< Real, N, M >::DefaultH, typename ImplicitWrapper< Real, N, M >::FunctionJH Jh_x=ImplicitWrapper< Real, N, M >::DefaultJH, typename ImplicitWrapper< Real, N, M >::FunctionID in_domain=ImplicitWrapper< Real, N, M >::DefaultID)
void explicit_system (typename ExplicitWrapper< Real, N, M >::FunctionF f, typename ExplicitWrapper< Real, N, M >::FunctionJF Jf_x, typename ExplicitWrapper< Real, N, M >::FunctionH h=ExplicitWrapper< Real, N, M >::DefaultH, typename ExplicitWrapper< Real, N, M >::FunctionJH Jh_x=ExplicitWrapper< Real, N, M >::DefaultJH, typename ExplicitWrapper< Real, N, M >::FunctionID in_domain=ExplicitWrapper< Real, N, M >::DefaultID)
void linear_system (typename LinearWrapper< Real, N, M >::FunctionE E, typename LinearWrapper< Real, N, M >::FunctionA A, typename LinearWrapper< Real, N, M >::FunctionB b, typename LinearWrapper< Real, N, M >::FunctionH h=LinearWrapper< Real, N, M >::DefaultH, typename LinearWrapper< Real, N, M >::FunctionJH Jh_x=LinearWrapper< Real, N, M >::DefaultJH, typename LinearWrapper< Real, N, M >::FunctionID in_domain=LinearWrapper< Real, N, M >::DefaultID)
void semi_explicit_system (typename SemiExplicitWrapper< Real, N, M >::FunctionA A, typename SemiExplicitWrapper< Real, N, M >::FunctionTA TA_x, typename SemiExplicitWrapper< Real, N, M >::FunctionB b, typename SemiExplicitWrapper< Real, N, M >::FunctionJB Jb_x, typename SemiExplicitWrapper< Real, N, M >::FunctionH h=SemiExplicitWrapper< Real, N, M >::DefaultH, typename SemiExplicitWrapper< Real, N, M >::FunctionJH Jh_x=SemiExplicitWrapper< Real, N, M >::DefaultJH, typename SemiExplicitWrapper< Real, N, M >::FunctionID in_domain=SemiExplicitWrapper< Real, N, M >::DefaultID)
bool has_system ()
Real absolute_tolerance ()
Real relative_tolerance ()
Real & safety_factor ()
Real & min_safety_factor ()
Real & max_safety_factor ()
Real & min_step ()
Integermax_substeps ()
bool adaptive_mode ()
void adaptive (bool t_adaptive)
void enable_adaptive_mode ()
void disable_adaptive_mode ()
bool verbose_mode ()
void enable_verbose_mode ()
void disable_verbose_mode ()
bool reverse_mode ()
void reverse (bool t_reverse)
void enable_reverse_mode ()
void disable_reverse_mode ()
Real projection_tolerance ()
Integermax_projection_iterations ()
bool projection ()
void enable_projection ()
void disable_projection ()
Real estimate_step (VectorN const &x, VectorN const &x_e, Real h_k) const
std::string info () const
bool erk_explicit_step (VectorN const &x_old, Real t_old, Real h_old, VectorN &x_new, Real &h_new) const
void erk_implicit_function (Integer s, VectorN const &x, Real t, Real h, MatrixK const &K, VectorN &fun) const
void erk_implicit_jacobian (Integer s, VectorN const &x, Real t, Real h, MatrixK const &K, MatrixN &jac) const
bool erk_implicit_step (VectorN const &x_old, Real t_old, Real h_old, VectorN &x_new, Real &h_new)
void irk_function (VectorN const &x, Real t, Real h, VectorK const &K, VectorK &fun) const
void irk_jacobian (VectorN const &x, Real t, Real h, VectorK const &K, MatrixJ &jac) const
bool irk_step (VectorN const &x_old, Real t_old, Real h_old, VectorN &x_new, Real &h_new)
void dirk_function (Integer n, VectorN const &x, Real t, Real h, MatrixK const &K, VectorN &fun) const
void dirk_jacobian (Integer n, VectorN const &x, Real t, Real h, MatrixK const &K, MatrixN &jac) const
bool dirk_step (VectorN const &x_old, Real t_old, Real h_old, VectorN &x_new, Real &h_new)
bool step (VectorN const &x_old, Real t_old, Real h_old, VectorN &x_new, Real &h_new)
bool advance (VectorN const &x_old, Real t_old, Real h_old, VectorN &x_new, Real &h_new)
bool solve (VectorX const &t_mesh, VectorN const &ics, Solution< Real, N, M > &sol)
bool adaptive_solve (VectorX const &t_mesh, VectorN const &ics, Solution< Real, N, M > &sol)
bool project (VectorN const &x, Real t, VectorN &x_projected)
bool project_ics (VectorN const &x, Real t, std::vector< Integer > const &projected_equations, std::vector< Integer > const &projected_invariants, VectorN &x_projected) const
Real estimate_order (std::vector< VectorX > const &t_mesh, VectorN const &ics, std::function< MatrixX(VectorX)> &sol)

Additional Inherited Members

Public Attributes inherited from Sandals::RungeKutta< Real, 2, N, 0 >
const Real SQRT_EPSILON

Detailed Description

template<typename Real, Integer N, Integer M = 0>
class Sandals::RadauIIA3< Real, N, M >

Class container for the Radau IIA order 3 method.

Template Parameters
RealThe scalar number type.
NThe dimension of the ODE/DAE system.
MThe dimension of the invariants manifold.

Member Typedef Documentation

◆ System

template<typename Real, Integer N, Integer M = 0>
using Sandals::RadauIIA3< Real, N, M >::System = typename Implicit<Real, N, M>::Pointer

System type.

Constructor & Destructor Documentation

◆ RadauIIA3() [1/2]

template<typename Real, Integer N, Integer M = 0>
Sandals::RadauIIA3< Real, N, M >::RadauIIA3 ( )
inline

Class constructor for a Radau IIA order 3 solver given a Tableau reference.

◆ RadauIIA3() [2/2]

template<typename Real, Integer N, Integer M = 0>
Sandals::RadauIIA3< Real, N, M >::RadauIIA3 ( System t_system)
inline

Class constructor for a Radau IIA order 3 solver given a Tableau reference.

Parameters
[in]t_systemThe system reference.

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