Numerical Tools  1.0
Numerical tools from SciPy and Numerical Methods in Physics with Python
NumericalTools.RungeKutta Class Reference

Class matching the capabilities of RK.py in SciPy.integrate module. More...

Inherits NumericalTools.OdeSolver.

Inherited by NumericalTools.Dop853, NumericalTools.RK23, and NumericalTools.RK45.

Public Member Functions

 RungeKutta (Ivp.DiffEqFunction fun, double t0, double[] y0, double t_bound, double max_step=double.MaxValue, double rtol=1e-3, double atol=1e-6, bool vectorized=false, double first_step=double.NaN, params object[] args)
 
- Public Member Functions inherited from NumericalTools.OdeSolver
 OdeSolver (Ivp.DiffEqFunction fun, double t0, double[] y0, double t_bound, bool vectorized, bool support_complex, params object[] args)
 
void SetTbound (double t_bound)
 NBP addition to allow t_bound to increased when running in realtime integration mode. More...
 
string Step ()
 
DenseOutput Dense_output ()
 

Static Public Attributes

static double SAFETY = 0.9
 
static double MIN_FACTOR = 0.2
 
static int MAX_FACTOR = 10
 
static double [] y_new
 

Protected Member Functions

void PostConstructor (Ivp.DiffEqFunction fun, double t0, double t_bound, double first_step=double.NaN)
 
virtual double [] EstimateError (ref double[,] K, double h)
 
virtual double EstimateErrorNorm (ref double[,] K, double h, ref double[] scale)
 
 override (bool, string) StepImpl()
 
override DenseOutput DenseOutputImpl ()
 
- Protected Member Functions inherited from NumericalTools.OdeSolver
double Step_size ()
 

Protected Attributes

double [] C
 
double [,] A
 
double [] B
 
double [] E
 
double [,] P
 
int order
 
int error_estimator_order
 
int n_stages
 
double [] f
 
double [] y_old
 
double [,] K
 
double h_previous
 
- Protected Attributes inherited from NumericalTools.OdeSolver
double t_bound
 
bool vectorized = false
 
Ivp.DiffEqFunction fun
 
Ivp.DiffEqFunction fun_single
 
Ivp.DiffEqFunction fun_vectorized
 
int n
 
virtual bool
 

Additional Inherited Members

- Public Attributes inherited from NumericalTools.OdeSolver
string TOO_SMALL_STEP = "Required step size is less than spacing between numbers."
 
double t_old = double.NaN
 
double t
 
double direction
 
int nfev
 
int njev
 
int nlu
 
string status
 
double [] y
 
object [] args
 

Detailed Description

Class matching the capabilities of RK.py in SciPy.integrate module.

SciPy operates under a permissive license that allows source code re-use provided the original copyright is provided.

Reference code Copyright 2020 scipy.org


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