Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
List equations for Runge-Kutta methods
ResourceFunction["RungeKuttaOrderConditions"][p,s] gives a list of the order conditions that any s-stage Runge-Kutta method of order p must satisfy. | |
ResourceFunction["RungeKuttaOrderConditions"][p] gives the order conditions using stage-independent tensor notation. |
"ButcherRowSum" | False | whether to include row-sum conditions for ci |
"ButcherSimplify" | False | whether to use Butcher's assumptions |
"ContinuousExtension" | False | whether to generate conditions for continuous extensions |
"RungeKuttaMethod" | "Implicit" | type of Runge-Kutta method |
Give the order conditions for any third-order method:
In[1]:= |
Out[1]= |
The number of order conditions goes up greatly from order to order:
In[2]:= |
Out[2]= |
The order conditions that must be satisfied by any second-order, three-stage Runge-Kutta method:
In[3]:= |
Out[3]= |
The order conditions that must be satisfied by any second-order, s-stage method:
In[4]:= |
Out[4]= |
Replacing s with 3 gives the same result as RungeKuttaOrderConditions[2,3]:
In[5]:= |
Out[5]= |
Not all sets of border conditions can be satisfied. A fourth-order, one-stage Runge-Kutta method would need more stages to be solvable:
In[6]:= |
Out[6]= |
In[7]:= |
Out[7]= |
The conditions that must be satisfied by any first-order, three-stage Runge-Kutta method, including the row-sum conditions:
In[8]:= |
Out[8]= |
The order conditions that must be satisfied by any third-order, two-stage, diagonally implicit Runge-Kutta method:
In[9]:= |
Out[9]= |
The contradiction in the order conditions for any third-order, two-stage, explicit Runge-Kutta method indicates that no such method is possible:
In[10]:= |
Out[10]= |
Th resource function ButcherPrincipalError can be used to determine the principal error coefficients:
In[11]:= |
Out[11]= |
This work is licensed under a Creative Commons Attribution 4.0 International License