view +blockmatrix/zero.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 a5f1b0267dba
children
line wrap: on
line source

% Creates a block matrix according to the division with zeros everywhere.
function bm = zero(div)
    if ~blockmatrix.isDivision(div)
        error('div is not a valid division');
    end

    n = div{1};
    m = div{2};

    N = length(n);
    M = length(m);

    bm = cell(N,M);

    for i = 1:N
        for j = 1:M
            bm{i,j} = sparse(n(i),m(j));
        end
    end
end