view +sbp/diagInd.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 32b39dc44474
children
line wrap: on
line source

function A = diagInd(d,n,m)
    A = zeros(n,length(d));
    for i = 1:length(d)
        i0 = 1;
        j0 = d(i)+1;

        I = i0 + (0:(n-1))';
        J = j0 + (0:(n-1))';

        A(:,i) = matInd2VecInd(I,J,n);

    end
end

function I = matInd2VecInd(i,j,n)
    I = i + (j-1)*n;
end