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