annotate +time/SBPInTime.m @ 415:16907bf31e67 feature/better_map

Overload indexing operations.
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 02 Feb 2017 16:22:47 +0100
parents f908ce064f35
children fccd746d8573 14f2be4fe9c1
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)
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
4 % k_local -- time-step
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
5 % Nblock -- number of points in each block
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
6 % nodes -- points such that t_n + nodes are the points in block n.
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
7 % Each "step" takes one block step and thus advances
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
8 % k = k_local*(Nblock-1) in time.
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
9 % M -- matrix used in every solve.
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
10 % [L,U,P,Q] = lu(M);
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
11 properties
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
12 M
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
13 L
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
14 U
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
15 P
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
16 Q
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
17 A
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
18 Et_r
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
19 penalty
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
20 f
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
21 k_local
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
22 k
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
23 t
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
24 v
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
25 m
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
26 n
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
27 Nblock
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
28 order
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
29 nodes
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
30 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
31
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
32 methods
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
33 function obj = SBPInTime(A, f, k, order, Nblock, t0, v0, TYPE)
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
34 default_arg('TYPE','equidistant');
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
35 default_arg('Nblock',time.SBPInTime.smallestBlockSize(order,TYPE));
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
36
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
37 obj.A = A;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
38 obj.f = f;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
39 obj.k_local = k;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
40 obj.k = k*(Nblock-1);
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
41 obj.Nblock = Nblock;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
42 obj.t = t0;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
43 obj.m = length(v0);
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
44 obj.n = 0;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
45
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
46 %==== Build the time discretization matrix =====%
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
47 switch TYPE
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
48 case 'equidistant'
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
49 ops = sbp.D2Standard(Nblock,{0,obj.k},order);
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
50 case 'optimal'
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
51 ops = sbp.D1Nonequidistant(Nblock,{0,obj.k},order);
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
52 case 'minimal'
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
53 ops = sbp.D1Nonequidistant(Nblock,{0,obj.k},order,'minimal');
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
54 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
55
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
56 D1 = ops.D1;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
57 HI = ops.HI;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
58 e_l = ops.e_l;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
59 e_r = ops.e_r;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
60 obj.nodes = ops.x;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
61
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
62 Ix = speye(size(A));
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
63 It = speye(Nblock,Nblock);
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
64
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
65 obj.Et_r = kron(e_r,Ix);
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
66
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
67 % Time derivative + penalty
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
68 tau = 1;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
69 Mt = D1 + tau*HI*(e_l*e_l');
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
70
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
71 % penalty to impose "data"
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
72 penalty = tau*HI*e_l;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
73 obj.penalty = kron(penalty,Ix);
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
74
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
75 Mx = kron(It,A);
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
76 Mt = kron(Mt,Ix);
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
77 obj.M = Mt - Mx;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
78 %==============================================%
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
79
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
80 % LU factorization
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
81 [obj.L,obj.U,obj.P,obj.Q] = lu(obj.M);
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
82
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
83 % 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
84 % of a previous step.
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
85 obj.v = obj.Et_r * v0;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
86
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
87 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
88
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
89 function [v,t] = getV(obj)
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
90 v = obj.Et_r' * obj.v;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
91 t = obj.t;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
92 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
93
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
94 function obj = step(obj)
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
95 obj.v = time.sbp.sbpintime(obj.v, obj.t, obj.nodes,...
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
96 obj.penalty, obj.f, obj.Nblock,...
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
97 obj.Et_r,...
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
98 obj.L, obj.U, obj.P, obj.Q);
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
99 obj.t = obj.t + obj.k;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
100 obj.n = obj.n + obj.Nblock-1;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
101 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
102 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
103
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
104
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
105 methods(Static)
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
106
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
107 %
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
108 function [k,numberOfBlocks] = alignedTimeStep(k,Tend,Nblock)
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
109
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
110 % input k is the desired time-step
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
111 % Nblock is the number of points per block.
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
112
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
113 % Make sure that we reach the final time by advancing
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
114 % an integer number of blocks
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
115 kblock = (Nblock-1)*k;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
116 numberOfBlocks = ceil(Tend/kblock);
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
117 kblock = Tend/(numberOfBlocks);
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
118
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
119 % Corrected time step
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
120 k = kblock/(Nblock-1);
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
121
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
122 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
123
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
124 function N = smallestBlockSize(order,TYPE)
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
125 default_arg('TYPE','equidistant')
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
126
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
127 switch TYPE
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
128
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
129 case 'equidistant'
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
130 switch order
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
131 case 2
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
132 N = 2;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
133 case 4
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
134 N = 8;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
135 case 6
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
136 N = 12;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
137 case 8
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
138 N = 16;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
139 case 10
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
140 N = 20;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
141 case 12
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
142 N = 24;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
143 otherwise
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
144 error('Operator does not exist');
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
145 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
146
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
147 case 'optimal'
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
148
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
149 switch order
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
150 case 4
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
151 N = 8;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
152 case 6
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
153 N = 12;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
154 case 8
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
155 N = 16;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
156 case 10
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
157 N = 20;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
158 case 12
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
159 N = 24;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
160 otherwise
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
161 error('Operator does not exist');
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
162 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
163
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
164 case 'minimal'
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
165
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
166 switch order
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
167 case 4
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
168 N = 6;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
169 case 6
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
170 N = 10;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
171 case 8
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
172 N = 12;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
173 case 10
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
174 N = 16;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
175 case 12
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
176 N = 20;
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
177 otherwise
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
178 error('Operator does not exist');
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
179 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
180
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
181 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
182
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
183 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
184
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
185 end
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
186
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
187
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
188
f908ce064f35 Added SBP in time timestepper.
Martin Almquist <martin.almquist@it.uu.se>
parents:
diff changeset
189 end