view +blockmatrix/isDivision.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

function b = isDivision(div)
    % Make sure it is a cellarray
    if ~iscell(div)
        b = false;
        return
    end

    % Make sure it has the right shape
    if numel(div) ~= 2
        b = false;
        return
    end

    if ~isDivisionVector(div{1}) || ~isDivisionVector(div{2})
        b = false;
        return
    end

    b = true;
end

function b = isDivisionVector(v)
    if isempty(v)
        b = true;
        return
    end

    if any(v < 0)
        b = false;
        return
    end

    b = true;
end