comparison +time/SBPInTime.m @ 406:9fd9b1bea3d2 feature/SBPInTimeGauss

Added D1Gauss to SBPInTime
author Martin Almquist <martin.almquist@it.uu.se>
date Thu, 02 Feb 2017 17:18:51 +0100
parents fccd746d8573
children e1db62d14835
comparison
equal deleted inserted replaced
405:4d9d8064e58b 406:9fd9b1bea3d2
22 nodes 22 nodes
23 end 23 end
24 24
25 methods 25 methods
26 function obj = SBPInTime(A, f, k, t0, v0, TYPE, order, blockSize) 26 function obj = SBPInTime(A, f, k, t0, v0, TYPE, order, blockSize)
27 default_arg('TYPE','minimal'); 27
28 default_arg('order', 8); 28 default_arg('TYPE','gauss');
29 default_arg('blockSize',time.SBPInTime.smallestBlockSize(order,TYPE)); 29
30 if(strcmp(TYPE,'gauss'))
31 default_arg('order',4)
32 default_arg('blockSize',4)
33 else
34 default_arg('order', 8);
35 default_arg('blockSize',time.SBPInTime.smallestBlockSize(order,TYPE));
36 end
30 37
31 obj.A = A; 38 obj.A = A;
32 obj.f = f; 39 obj.f = f;
33 obj.k_local = k/(blockSize-1); 40 obj.k_local = k/(blockSize-1);
34 obj.k = k; 41 obj.k = k;
43 ops = sbp.D2Standard(blockSize,{0,obj.k},order); 50 ops = sbp.D2Standard(blockSize,{0,obj.k},order);
44 case 'optimal' 51 case 'optimal'
45 ops = sbp.D1Nonequidistant(blockSize,{0,obj.k},order); 52 ops = sbp.D1Nonequidistant(blockSize,{0,obj.k},order);
46 case 'minimal' 53 case 'minimal'
47 ops = sbp.D1Nonequidistant(blockSize,{0,obj.k},order,'minimal'); 54 ops = sbp.D1Nonequidistant(blockSize,{0,obj.k},order,'minimal');
55 case 'gauss'
56 ops = sbp.D1Gauss(blockSize,{0,obj.k});
48 end 57 end
49 58
50 D1 = ops.D1; 59 D1 = ops.D1;
51 HI = ops.HI; 60 HI = ops.HI;
52 e_l = ops.e_l; 61 e_l = ops.e_l;
150 case 12 159 case 12
151 N = 20; 160 N = 20;
152 otherwise 161 otherwise
153 error('Operator does not exist'); 162 error('Operator does not exist');
154 end 163 end
164 case 'gauss'
165 N = 4;
155 end 166 end
156 end 167 end
157 end 168 end
158 end 169 end