annotate +time/SBPInTime.m @ 887:50d5a3843099 feature/timesteppers

Rename package rk4 to rk
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Thu, 15 Nov 2018 16:42:58 -0800
parents 8894e9c49e40
children f5e14e5986b5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
1 classdef SBPInTime < time.Timestepper
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
2 % The SBP in time method.
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
3 % Implemented for v_t = A*v + f(t)
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
4 %
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
5 % Each "step" takes one block step and thus advances
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
6 % k = k_local*(blockSize-1) in time.
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
7 properties
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
8 M % System matrix
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
9 L,U,P,Q % LU factorization of M
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
10 A
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
11 Et_r
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
12 penalty
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
13 f
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
14 k_local % step size within a block
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
15 k % Time size of a block k/(blockSize-1) = k_local
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
16 t
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
17 v
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
18 m
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
19 n
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
20 blockSize % number of points in each block
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
21 order
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
22 nodes
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
23 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
24
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
25 methods
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
26 function obj = SBPInTime(A, f, k, t0, v0, TYPE, order, blockSize)
406
9fd9b1bea3d2 Added D1Gauss to SBPInTime
Martin Almquist <martin.almquist@it.uu.se>
parents: 398
diff changeset
27
9fd9b1bea3d2 Added D1Gauss to SBPInTime
Martin Almquist <martin.almquist@it.uu.se>
parents: 398
diff changeset
28 default_arg('TYPE','gauss');
9fd9b1bea3d2 Added D1Gauss to SBPInTime
Martin Almquist <martin.almquist@it.uu.se>
parents: 398
diff changeset
29
9fd9b1bea3d2 Added D1Gauss to SBPInTime
Martin Almquist <martin.almquist@it.uu.se>
parents: 398
diff changeset
30 if(strcmp(TYPE,'gauss'))
9fd9b1bea3d2 Added D1Gauss to SBPInTime
Martin Almquist <martin.almquist@it.uu.se>
parents: 398
diff changeset
31 default_arg('order',4)
9fd9b1bea3d2 Added D1Gauss to SBPInTime
Martin Almquist <martin.almquist@it.uu.se>
parents: 398
diff changeset
32 default_arg('blockSize',4)
9fd9b1bea3d2 Added D1Gauss to SBPInTime
Martin Almquist <martin.almquist@it.uu.se>
parents: 398
diff changeset
33 else
9fd9b1bea3d2 Added D1Gauss to SBPInTime
Martin Almquist <martin.almquist@it.uu.se>
parents: 398
diff changeset
34 default_arg('order', 8);
9fd9b1bea3d2 Added D1Gauss to SBPInTime
Martin Almquist <martin.almquist@it.uu.se>
parents: 398
diff changeset
35 default_arg('blockSize',time.SBPInTime.smallestBlockSize(order,TYPE));
9fd9b1bea3d2 Added D1Gauss to SBPInTime
Martin Almquist <martin.almquist@it.uu.se>
parents: 398
diff changeset
36 end
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
37
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
38 obj.A = A;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
39 obj.f = f;
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
40 obj.k_local = k/(blockSize-1);
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
41 obj.k = k;
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
42 obj.blockSize = blockSize;
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
43 obj.t = t0;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
44 obj.m = length(v0);
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
45 obj.n = 0;
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
46
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
47 %==== Build the time discretization matrix =====%
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
48 switch TYPE
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
49 case 'equidistant'
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
50 ops = sbp.D2Standard(blockSize,{0,obj.k},order);
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
51 case 'optimal'
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
52 ops = sbp.D1Nonequidistant(blockSize,{0,obj.k},order);
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
53 case 'minimal'
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
54 ops = sbp.D1Nonequidistant(blockSize,{0,obj.k},order,'minimal');
406
9fd9b1bea3d2 Added D1Gauss to SBPInTime
Martin Almquist <martin.almquist@it.uu.se>
parents: 398
diff changeset
55 case 'gauss'
9fd9b1bea3d2 Added D1Gauss to SBPInTime
Martin Almquist <martin.almquist@it.uu.se>
parents: 398
diff changeset
56 ops = sbp.D1Gauss(blockSize,{0,obj.k});
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
57 end
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
58
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
59 D1 = ops.D1;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
60 HI = ops.HI;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
61 e_l = ops.e_l;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
62 e_r = ops.e_r;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
63 obj.nodes = ops.x;
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
64
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
65 Ix = speye(size(A));
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
66 It = speye(blockSize,blockSize);
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
67
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
68 obj.Et_r = kron(e_r,Ix);
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
69
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
70 % Time derivative + penalty
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
71 tau = 1;
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
72 Mt = D1 + tau*HI*(e_l*e_l');
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
73
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
74 % penalty to impose "data"
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
75 penalty = tau*HI*e_l;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
76 obj.penalty = kron(penalty,Ix);
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
77
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
78 Mx = kron(It,A);
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
79 Mt = kron(Mt,Ix);
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
80 obj.M = Mt - Mx;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
81 %==============================================%
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
82
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
83 % LU factorization
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
84 [obj.L,obj.U,obj.P,obj.Q] = lu(obj.M);
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
85
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
86 % Pretend that the initial condition is the last level
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
87 % of a previous step.
407
e1db62d14835 Fixed bug with initial data and made gauss the default type
Martin Almquist <martin.almquist@it.uu.se>
parents: 406
diff changeset
88 obj.v = 1/(e_r'*e_r) * obj.Et_r * v0;
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
89
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
90 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
91
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
92 function [v,t] = getV(obj)
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
93 v = obj.Et_r' * obj.v;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
94 t = obj.t;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
95 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
96
816
b5e5b195da1e Add getState to timesteppers, returning the relevant state of the timestepper
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 407
diff changeset
97 function state = getState(obj)
b5e5b195da1e Add getState to timesteppers, returning the relevant state of the timestepper
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 407
diff changeset
98 [v, t] = getV(obj);
b5e5b195da1e Add getState to timesteppers, returning the relevant state of the timestepper
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 407
diff changeset
99 state = struct('v', v, 't', t, 'k', obj.k);
b5e5b195da1e Add getState to timesteppers, returning the relevant state of the timestepper
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 407
diff changeset
100 end
b5e5b195da1e Add getState to timesteppers, returning the relevant state of the timestepper
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 407
diff changeset
101
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
102 function obj = step(obj)
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
103 obj.v = time.sbp.sbpintime(obj.v, obj.t, obj.nodes,...
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
104 obj.penalty, obj.f, obj.blockSize,...
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
105 obj.Et_r,...
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
106 obj.L, obj.U, obj.P, obj.Q);
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
107 obj.t = obj.t + obj.k;
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
108 obj.n = obj.n + 1;
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
109 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
110 end
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
111
400
14f2be4fe9c1 Add function to center colorlimits.
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
112
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
113 methods(Static)
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
114 function N = smallestBlockSize(order,TYPE)
407
e1db62d14835 Fixed bug with initial data and made gauss the default type
Martin Almquist <martin.almquist@it.uu.se>
parents: 406
diff changeset
115 default_arg('TYPE','gauss')
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
116
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
117 switch TYPE
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
118
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
119 case 'equidistant'
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
120 switch order
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
121 case 2
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
122 N = 2;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
123 case 4
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
124 N = 8;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
125 case 6
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
126 N = 12;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
127 case 8
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
128 N = 16;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
129 case 10
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
130 N = 20;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
131 case 12
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
132 N = 24;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
133 otherwise
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
134 error('Operator does not exist');
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
135 end
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
136
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
137 case 'optimal'
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
138
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
139 switch order
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
140 case 4
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
141 N = 8;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
142 case 6
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
143 N = 12;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
144 case 8
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
145 N = 16;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
146 case 10
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
147 N = 20;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
148 case 12
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
149 N = 24;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
150 otherwise
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
151 error('Operator does not exist');
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
152 end
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
153
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
154 case 'minimal'
398
fccd746d8573 Refactor for clarity
Jonatan Werpers <jonatan@werpers.com>
parents: 365
diff changeset
155
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
156 switch order
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
157 case 4
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
158 N = 6;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
159 case 6
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
160 N = 10;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
161 case 8
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
162 N = 12;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
163 case 10
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
164 N = 16;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
165 case 12
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
166 N = 20;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
167 otherwise
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
168 error('Operator does not exist');
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
169 end
406
9fd9b1bea3d2 Added D1Gauss to SBPInTime
Martin Almquist <martin.almquist@it.uu.se>
parents: 398
diff changeset
170 case 'gauss'
9fd9b1bea3d2 Added D1Gauss to SBPInTime
Martin Almquist <martin.almquist@it.uu.se>
parents: 398
diff changeset
171 N = 4;
365
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
172 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
173 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
174 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
175 end