Mercurial > repos > public > sbplib
annotate +time/SBPInTimeImplicitFormulation.m @ 774:66eb4a2bbb72 feature/grids
Remove default scaling of the system.
The scaling doens't seem to help actual solutions. One example that fails in the flexural code.
With large timesteps the solutions seems to blow up. One particular example is profilePresentation
on the tdb_presentation_figures branch with k = 0.0005
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Wed, 18 Jul 2018 15:42:52 -0700 |
parents | 5df7f99206b2 |
children | 47e86b5270ad |
rev | line source |
---|---|
460
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 classdef SBPInTimeImplicitFormulation < time.Timestepper |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 % The SBP in time method. |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 % Implemented for A*v_t = B*v + f(t), v(0) = v0 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 properties |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 A,B |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 f |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 k % total time step. |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 blockSize % number of points in each block |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 N % Number of components |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
13 order |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
14 nodes |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
15 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
16 M,K % System matrices |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 L,U,p,q % LU factorization of M |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
18 e_T |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
19 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
20 % Time state |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
21 t |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
22 v |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
23 n |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
24 end |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
25 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
26 methods |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
27 function obj = SBPInTimeImplicitFormulation(A, B, f, k, t0, v0, TYPE, order, blockSize) |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
28 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
29 default_arg('TYPE','gauss'); |
461
0b010f8de7cb
Make f parameter optional.
Jonatan Werpers <jonatan@werpers.com>
parents:
460
diff
changeset
|
30 default_arg('f',[]); |
460
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
31 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
32 if(strcmp(TYPE,'gauss')) |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
33 default_arg('order',4) |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
34 default_arg('blockSize',4) |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
35 else |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
36 default_arg('order', 8); |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
37 default_arg('blockSize',time.SBPInTimeImplicitFormulation.smallestBlockSize(order,TYPE)); |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
38 end |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
39 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
40 obj.A = A; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
41 obj.B = B; |
461
0b010f8de7cb
Make f parameter optional.
Jonatan Werpers <jonatan@werpers.com>
parents:
460
diff
changeset
|
42 |
0b010f8de7cb
Make f parameter optional.
Jonatan Werpers <jonatan@werpers.com>
parents:
460
diff
changeset
|
43 if ~isempty(f) |
0b010f8de7cb
Make f parameter optional.
Jonatan Werpers <jonatan@werpers.com>
parents:
460
diff
changeset
|
44 obj.f = f; |
0b010f8de7cb
Make f parameter optional.
Jonatan Werpers <jonatan@werpers.com>
parents:
460
diff
changeset
|
45 else |
0b010f8de7cb
Make f parameter optional.
Jonatan Werpers <jonatan@werpers.com>
parents:
460
diff
changeset
|
46 obj.f = @(t)sparse(length(v0),1); |
0b010f8de7cb
Make f parameter optional.
Jonatan Werpers <jonatan@werpers.com>
parents:
460
diff
changeset
|
47 end |
0b010f8de7cb
Make f parameter optional.
Jonatan Werpers <jonatan@werpers.com>
parents:
460
diff
changeset
|
48 |
460
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
49 obj.k = k; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
50 obj.blockSize = blockSize; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
51 obj.N = length(v0); |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
52 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
53 obj.n = 0; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
54 obj.t = t0; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
55 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
56 %==== Build the time discretization matrix =====% |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
57 switch TYPE |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
58 case 'equidistant' |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
59 ops = sbp.D2Standard(blockSize,{0,obj.k},order); |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
60 case 'optimal' |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
61 ops = sbp.D1Nonequidistant(blockSize,{0,obj.k},order); |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
62 case 'minimal' |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
63 ops = sbp.D1Nonequidistant(blockSize,{0,obj.k},order,'minimal'); |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
64 case 'gauss' |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
65 ops = sbp.D1Gauss(blockSize,{0,obj.k}); |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
66 end |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
67 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
68 I = speye(size(A)); |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
69 I_t = speye(blockSize,blockSize); |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
70 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
71 D1 = kron(ops.D1, I); |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
72 HI = kron(ops.HI, I); |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
73 e_0 = kron(ops.e_l, I); |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
74 e_T = kron(ops.e_r, I); |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
75 obj.nodes = ops.x; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
76 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
77 % Convert to form M*w = K*v0 + f(t) |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
78 tau = kron(I_t, A) * e_0; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
79 M = kron(I_t, A)*D1 + HI*tau*e_0' - kron(I_t, B); |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
80 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
81 K = HI*tau; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
82 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
83 obj.M = M; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
84 obj.K = K; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
85 obj.e_T = e_T; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
86 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
87 % LU factorization |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
88 [obj.L,obj.U,obj.p,obj.q] = lu(obj.M, 'vector'); |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
89 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
90 obj.v = v0; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
91 end |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
92 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
93 function [v,t] = getV(obj) |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
94 v = obj.v; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
95 t = obj.t; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
96 end |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
97 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
98 function obj = step(obj) |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
99 RHS = zeros(obj.blockSize*obj.N,1); |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
100 |
601
5df7f99206b2
SBPInTimeImplicitFormulation: Fix bug in calculation of forcing function
Jonatan Werpers <jonatan@werpers.com>
parents:
462
diff
changeset
|
101 for i = 1:obj.blockSize |
462
7dbdf7390265
Fix bug in argument to f during time stepping
Jonatan Werpers <jonatan@werpers.com>
parents:
461
diff
changeset
|
102 RHS((1 + (i-1)*obj.N):(i*obj.N)) = obj.f(obj.t + obj.nodes(i)); |
460
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
103 end |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
104 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
105 RHS = RHS + obj.K*obj.v; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
106 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
107 y = obj.L\RHS(obj.p); |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
108 z = obj.U\y; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
109 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
110 w = zeros(size(z)); |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
111 w(obj.q) = z; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
112 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
113 obj.v = obj.e_T'*w; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
114 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
115 obj.t = obj.t + obj.k; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
116 obj.n = obj.n + 1; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
117 end |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
118 end |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
119 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
120 methods(Static) |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
121 function N = smallestBlockSize(order,TYPE) |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
122 default_arg('TYPE','gauss') |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
123 |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
124 switch TYPE |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
125 case 'gauss' |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
126 N = 4; |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
127 end |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
128 end |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
129 end |
e0caae9ef6ed
Add SBPinTime for linear DAE formulations (BUGS!)
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
130 end |