diff --git a/src/integrator_interface.jl b/src/integrator_interface.jl index 71f5826d0..c63f8bc13 100644 --- a/src/integrator_interface.jl +++ b/src/integrator_interface.jl @@ -95,7 +95,7 @@ intervals(integrator::DEIntegrator) = IntegratorIntervals(integrator) for x in vars for j in 1:dims if denseplot - push!(plot_vecs[j], u_n(plot_timeseries, x[j],integrator.sol,plott,plot_timeseries,0)) + push!(plot_vecs[j], u_n(plot_timeseries, x[j],integrator.sol,plott,plot_timeseries)) else # just get values if x[j] == 0 push!(plot_vecs[j], integrator.t) @@ -113,7 +113,7 @@ intervals(integrator::DEIntegrator) = IntegratorIntervals(integrator) for x in vars for j in 1:dims if denseplot - push!(plot_vecs[j], u_n(plot_timeseries, x[j],sol,plott,plot_timeseries,0)) + push!(plot_vecs[j], u_n(plot_timeseries, x[j],sol,plott,plot_timeseries)) else # Just get values if x[j] == 0 push!(plot_vecs[j], integrator.t) diff --git a/src/solutions/solution_interface.jl b/src/solutions/solution_interface.jl index 55a51dda0..d9948e664 100644 --- a/src/solutions/solution_interface.jl +++ b/src/solutions/solution_interface.jl @@ -75,7 +75,7 @@ end end else # Plot for sparse output: use the timeseries itself - if end_idx == 0 + if sol.tslocation == 0 plott = sol.t plot_timeseries = sol.u if plot_analytic @@ -95,7 +95,7 @@ end @assert length(var) == dims end # Should check that all have the same dims! - plot_vecs,labels = solplot_vecs_and_labels(dims,int_vars,plot_timeseries,plott,sol,plot_analytic,end_idx) + plot_vecs,labels = solplot_vecs_and_labels(dims,int_vars,plot_timeseries,plott,sol,plot_analytic) tdir = sign(sol.t[end]-sol.t[1]) xflip --> tdir < 0 @@ -237,20 +237,12 @@ function add_analytic_labels!(labels,x,dims,sol) end end -function u_n(timeseries::AbstractArray, n::Int,sol,plott,plot_timeseries,end_idx) +function u_n(timeseries::AbstractArray, n::Int,sol,plott,plot_timeseries) # Returns the nth variable from the timeseries, t if n == 0 if n == 0 - if end_idx == 0 - return plott - else - return plott[1:end_idx] - end + return plott elseif n == 1 && !(typeof(sol[1]) <: AbstractArray) - if end_idx == 0 - return timeseries - else - return timeseries[1:end_idx] - end + return timeseries else tmp = Vector{eltype(sol[1])}(length(plot_timeseries)) for j in 1:length(plot_timeseries) @@ -260,7 +252,7 @@ function u_n(timeseries::AbstractArray, n::Int,sol,plott,plot_timeseries,end_idx end end -function solplot_vecs_and_labels(dims,vars,plot_timeseries,plott,sol,plot_analytic,end_idx) +function solplot_vecs_and_labels(dims,vars,plot_timeseries,plott,sol,plot_analytic) plot_vecs = [] for i in 1:dims push!(plot_vecs,[]) @@ -268,7 +260,7 @@ function solplot_vecs_and_labels(dims,vars,plot_timeseries,plott,sol,plot_analyt labels = String[]# Array{String, 2}(1, length(vars)*(1+plot_analytic)) for x in vars for j in 1:dims - push!(plot_vecs[j], u_n(plot_timeseries, x[j],sol,plott,plot_timeseries,end_idx)) + push!(plot_vecs[j], u_n(plot_timeseries, x[j],sol,plott,plot_timeseries)) end add_labels!(labels,x,dims,sol) end @@ -276,7 +268,7 @@ function solplot_vecs_and_labels(dims,vars,plot_timeseries,plott,sol,plot_analyt if plot_analytic for x in vars for j in 1:dims - push!(plot_vecs[j], u_n(plot_timeseries, x[j],sol,plott,plot_timeseries,end_idx)) + push!(plot_vecs[j], u_n(plot_timeseries, x[j],sol,plott,plot_timeseries)) end add_analytic_labels!(labels,x,dims,sol) end