view +anim/setup_time_quantity_plot.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 2ffa82fb5172
children
line wrap: on
line source

function [update_data, plot_handles] = setup_time_quantity_plot(yfun)
    default_arg('yfun',@(y)y);

    if isa(yfun,'function_handle')
        yfun = {yfun};
    end

    t = [];
    for i = 1:length(yfun)
        plot_handles(i) = animatedline();
    end

    axis_handle = gca;

    function update(t_now,varargin)
        if ishandle(axis_handle)
            % t = [t t_now];
            for j = 1:length(yfun)
                addpoints(plot_handles(j),t_now,full(yfun{j}(varargin{:})));
            end

            [t,~] = getpoints(plot_handles(1));
            if t(1) < t(end)
                xlim(axis_handle, [t(1) t(end)]);
            end
        end
    end
    update_data = @update;
end