Mercurial > repos > public > sbplib
comparison +time/+sbp/sbpintime.m @ 365:f908ce064f35
Added SBP in time timestepper.
author | Martin Almquist <martin.almquist@it.uu.se> |
---|---|
date | Tue, 24 Jan 2017 14:01:18 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
363:8c8fd649bae3 | 365:f908ce064f35 |
---|---|
1 % Takes one time step of size k using the sbp in time method | |
2 % starting from v_0 and where | |
3 % M v_t = E_r'*v + f(t) | |
4 function v = sbpintime(v, t, tvec, penalty, f, Nblock, E_r,... | |
5 L, U, P, Q) | |
6 | |
7 % Pick out last time step | |
8 v_r = E_r'*v; | |
9 | |
10 % Form RHS | |
11 RHS = penalty*v_r; | |
12 | |
13 % Build vector of f-values and add to RHS | |
14 if(~isempty(f)) | |
15 fvec = []; | |
16 for i = 1:Nblock | |
17 fvec = [fvec;f(t+tvec(i))]; | |
18 end | |
19 RHS = RHS + fvec; | |
20 end | |
21 | |
22 % Solve system | |
23 %v = M\RHS; | |
24 RHS = P*RHS; | |
25 RHS = L\RHS; | |
26 v = U\RHS; | |
27 v = Q*v; | |
28 |