view +blockmatrix/isDivision.m @ 682:ec0ac76006e2 feature/d1_staggered

Modify BC in Staggered 1D acoustics to ensure that only physically meaningful changes of variables are used. See hypsyst varcoeff sec 3.
author Martin Almquist <malmquist@stanford.edu>
date Wed, 07 Feb 2018 20:07:34 -0800
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