annotate diags.m @ 1012:1e437c9e5132 feature/advectionRV

Create residual viscosity package +rv and generalize the ResidualViscosity class - Generalize residual viscosity, by passing user-defined flux and calculating the time derivative outside of the update. - Create separate RungekuttaRV specifically using interior RV updates - Separate the artifical dissipation operator from the scheme AdvectionRV1D so that the same scheme can be reused for creating the diff op used by the ResidualViscosity class
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Wed, 05 Dec 2018 13:44:10 +0100
parents 0b87863cb29c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
412
5eb312dfe2ab Add full matrix equivalent of spdiags
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 function A = diags(B,d,m,n)
5eb312dfe2ab Add full matrix equivalent of spdiags
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 assert(size(B,1) == m);
5eb312dfe2ab Add full matrix equivalent of spdiags
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3
5eb312dfe2ab Add full matrix equivalent of spdiags
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4 A = repmat(B(:,1)*0, [1, n]);
5eb312dfe2ab Add full matrix equivalent of spdiags
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5
5eb312dfe2ab Add full matrix equivalent of spdiags
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 for i = 1:size(B,2)
5eb312dfe2ab Add full matrix equivalent of spdiags
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 A(:,d(i)+ (1:m)) = A(:,d(i)+ (1:m)) + diag(B(:,i));
5eb312dfe2ab Add full matrix equivalent of spdiags
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 end
413
0b87863cb29c Add missing eol
Jonatan Werpers <jonatan@werpers.com>
parents: 412
diff changeset
9 end