annotate +time/+rk/butcherTableauFromStr.m @ 990:1066bb31bc95 feature/timesteppers

Create class for butcher tableau
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 09 Jan 2019 09:09:15 +0100
parents a32856fc2ad2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
888
8732d6bd9890 Add general Runge-Kutta class
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
1 % Returns the coefficients used in a RK method as defined by a Butcher Tableau.
8732d6bd9890 Add general Runge-Kutta class
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
2 %
8732d6bd9890 Add general Runge-Kutta class
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
3 % @param method - string specifying which Runge-Kutta method to be used.
8732d6bd9890 Add general Runge-Kutta class
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
4 % @return s - number of stages
8732d6bd9890 Add general Runge-Kutta class
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
5 % @return a - coefficents for intermediate stages
8732d6bd9890 Add general Runge-Kutta class
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
6 % @return b - weights for summing stages
8732d6bd9890 Add general Runge-Kutta class
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
7 % @return c - time step coefficents for intermediate stages
986
a32856fc2ad2 Rename butcherTableau() to butcherTableauFromStr() in preparation of butcher tableau class
Jonatan Werpers <jonatan@werpers.com>
parents: 929
diff changeset
8 function [s,a,b,c] = butcherTableauFromStr(method)
990
1066bb31bc95 Create class for butcher tableau
Jonatan Werpers <jonatan@werpers.com>
parents: 986
diff changeset
9 try
1066bb31bc95 Create class for butcher tableau
Jonatan Werpers <jonatan@werpers.com>
parents: 986
diff changeset
10 bt = time.rk.ButcherTableau.(method);
1066bb31bc95 Create class for butcher tableau
Jonatan Werpers <jonatan@werpers.com>
parents: 986
diff changeset
11 catch
929
0344fff87139 Improve error msg in rk.butcherTableau
Martin Almquist <malmquist@stanford.edu>
parents: 916
diff changeset
12 error('Runge-Kutta method %s is not implemented', method)
990
1066bb31bc95 Create class for butcher tableau
Jonatan Werpers <jonatan@werpers.com>
parents: 986
diff changeset
13 end
1066bb31bc95 Create class for butcher tableau
Jonatan Werpers <jonatan@werpers.com>
parents: 986
diff changeset
14
1066bb31bc95 Create class for butcher tableau
Jonatan Werpers <jonatan@werpers.com>
parents: 986
diff changeset
15 assert(bt.isExplicit());
1066bb31bc95 Create class for butcher tableau
Jonatan Werpers <jonatan@werpers.com>
parents: 986
diff changeset
16
1066bb31bc95 Create class for butcher tableau
Jonatan Werpers <jonatan@werpers.com>
parents: 986
diff changeset
17 s = bt.nStages();
1066bb31bc95 Create class for butcher tableau
Jonatan Werpers <jonatan@werpers.com>
parents: 986
diff changeset
18 a = bt.a(:,1:end-1);
1066bb31bc95 Create class for butcher tableau
Jonatan Werpers <jonatan@werpers.com>
parents: 986
diff changeset
19 b = bt.b;
1066bb31bc95 Create class for butcher tableau
Jonatan Werpers <jonatan@werpers.com>
parents: 986
diff changeset
20 c = bt.c;
1066bb31bc95 Create class for butcher tableau
Jonatan Werpers <jonatan@werpers.com>
parents: 986
diff changeset
21 end