Mercurial > repos > public > sbplib
comparison +time/SBPInTimeImplicitFormulation.m @ 601:5df7f99206b2 feature/grids
SBPInTimeImplicitFormulation: Fix bug in calculation of forcing function
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Thu, 28 Sep 2017 11:14:34 +0200 |
parents | 7dbdf7390265 |
children | 47e86b5270ad |
comparison
equal
deleted
inserted
replaced
600:0da1c913a611 | 601:5df7f99206b2 |
---|---|
43 if ~isempty(f) | 43 if ~isempty(f) |
44 obj.f = f; | 44 obj.f = f; |
45 else | 45 else |
46 obj.f = @(t)sparse(length(v0),1); | 46 obj.f = @(t)sparse(length(v0),1); |
47 end | 47 end |
48 | |
49 | 48 |
50 obj.k = k; | 49 obj.k = k; |
51 obj.blockSize = blockSize; | 50 obj.blockSize = blockSize; |
52 obj.N = length(v0); | 51 obj.N = length(v0); |
53 | 52 |
97 end | 96 end |
98 | 97 |
99 function obj = step(obj) | 98 function obj = step(obj) |
100 RHS = zeros(obj.blockSize*obj.N,1); | 99 RHS = zeros(obj.blockSize*obj.N,1); |
101 | 100 |
102 for i = 1:length(obj.blockSize) | 101 for i = 1:obj.blockSize |
103 RHS((1 + (i-1)*obj.N):(i*obj.N)) = obj.f(obj.t + obj.nodes(i)); | 102 RHS((1 + (i-1)*obj.N):(i*obj.N)) = obj.f(obj.t + obj.nodes(i)); |
104 end | 103 end |
105 | 104 |
106 RHS = RHS + obj.K*obj.v; | 105 RHS = RHS + obj.K*obj.v; |
107 | 106 |