Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 2 additions & 8 deletions src/fpsolve/utils.jl
Original file line number Diff line number Diff line change
Expand Up @@ -24,19 +24,13 @@ function build_fpsolver(alg, fpalg::Union{NLFunctional, NLAnderson}, u, uEltypeN
dzold = zero(u)
z₊old = zero(u)

fpcache = FPAndersonCache(
atmp, dz, dzold, z₊old, Δz₊s, Q, R, γs, 0, fpalg.aa_start,
fpalg.droptol)
fpcache = FPAndersonCache(atmp, dz, dzold, z₊old, Δz₊s, Q, R, γs, 0, fpalg.aa_start, fpalg.droptol)
end

# build solver
ηold = one(uTolType)

FPSolver{typeof(fpalg), true, uTolType, typeof(fpcache)}(fpalg, uTolType(fpalg.κ),
uTolType(fpalg.fast_convergence_cutoff),
ηold, 10000,
fpalg.max_iter,
SlowConvergence, fpcache, 0)
FPSolver{typeof(fpalg), true, uTolType, typeof(fpcache)}(fpalg, uTolType(fpalg.κ), uTolType(fpalg.fast_convergence_cutoff), ηold, 10000, fpalg.max_iter, SlowConvergence, fpcache, 0)
end

function build_fpsolver(alg, fpalg::Union{NLFunctional, NLAnderson}, u, uEltypeNoUnits,
Expand Down
5 changes: 1 addition & 4 deletions src/integrators/interface.jl
Original file line number Diff line number Diff line change
Expand Up @@ -418,10 +418,7 @@ function DiffEqBase.reinit!(integrator::DDEIntegrator, u0 = integrator.sol.prob.
# erase array of tracked discontinuities
if order_discontinuity_t0 ≤ OrdinaryDiffEqCore.alg_maximum_order(integrator.alg)
resize!(integrator.tracked_discontinuities, 1)
integrator.tracked_discontinuities[1] = Discontinuity(
integrator.tdir *
integrator.t,
order_discontinuity_t0)
integrator.tracked_discontinuities[1] = Discontinuity(integrator.tdir * integrator.t, order_discontinuity_t0)
else
resize!(integrator.tracked_discontinuities, 0)
end
Expand Down
3 changes: 1 addition & 2 deletions test/interface/backwards.jl
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,7 @@ end

sol = solve!(dde_int)
@test sol.errors[:l∞] < 3.9e-12 # 3.9e-15
@test dde_int.tracked_discontinuities ==
[Discontinuity(-2.0, 1), Discontinuity(-1.0, 2)]
@test dde_int.tracked_discontinuities == [Discontinuity(-2.0, 1), Discontinuity(-1.0, 2)]
@test isempty(dde_int.d_discontinuities_propagated)
@test isempty(dde_int.opts.d_discontinuities)
end
Expand Down
3 changes: 1 addition & 2 deletions test/interface/dependent_delays.jl
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@ end

@test getfield.(dde_int.tracked_discontinuities, :t) ≈
getfield.(dde_int2.tracked_discontinuities, :t)
@test getfield.(dde_int.tracked_discontinuities, :order) ==
getfield.(dde_int2.tracked_discontinuities, :order)
@test getfield.(dde_int.tracked_discontinuities, :order) == getfield.(dde_int2.tracked_discontinuities, :order)

# worse than results above with constant delays specified as scalars
@test sol2.errors[:l∞] < 3.2e-3
Expand Down
3 changes: 1 addition & 2 deletions test/interface/discontinuities.jl
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,7 @@ end
@test length(integrator.opts.d_discontinuities) == 2 &&
issubset([Discontinuity(0.3, 4), Discontinuity(0.6, 5)],
integrator.opts.d_discontinuities.valtree)
@test integrator.opts.d_discontinuities_cache ==
[Discontinuity(0.3, 4), Discontinuity(0.6, 5)]
@test integrator.opts.d_discontinuities_cache == [Discontinuity(0.3, 4), Discontinuity(0.6, 5)]
end

# discontinuities induced by callbacks
Expand Down
12 changes: 4 additions & 8 deletions test/interface/saveat.jl
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,7 @@ end

# time point of solution
if saveat isa Number
@test sol2.t ==
(save_start ? [0.0, 25.0, 50.0, 75.0, 100.0] : [25.0, 50.0, 75.0, 100.0])
@test sol2.t == (save_start ? [0.0, 25.0, 50.0, 75.0, 100.0] : [25.0, 50.0, 75.0, 100.0])
else
@test sol2.t == (save_start ? [0.0, 25.0, 50.0, 75.0] : [25.0, 50.0, 75.0])
end
Expand Down Expand Up @@ -64,8 +63,7 @@ end

# time point of solution
if saveat isa Number
@test sol2.t ==
(save_end ? [0.0, 25.0, 50.0, 75.0, 100.0] : [0.0, 25.0, 50.0, 75.0])
@test sol2.t == (save_end ? [0.0, 25.0, 50.0, 75.0, 100.0] : [0.0, 25.0, 50.0, 75.0])
else
@test sol2.t == (save_end ? [25.0, 50.0, 75.0, 100.0] : [25.0, 50.0, 75.0])
end
Expand All @@ -92,8 +90,7 @@ end
@test sol2.u == dde_int2.sol.u

# time points of solution
@test symdiff(sol.t, sol2.t) ==
(save_start ? [25.0, 50.0, 75.0] : [0.0, 25.0, 50.0, 75.0])
@test symdiff(sol.t, sol2.t) == (save_start ? [25.0, 50.0, 75.0] : [0.0, 25.0, 50.0, 75.0])

# history is equal to solution above
@test sol.t == dde_int2.integrator.sol.t
Expand All @@ -117,8 +114,7 @@ end
@test sol2.u == dde_int2.sol.u

# time points of solution
@test symdiff(sol.t, sol2.t) ==
(save_end ? [25.0, 50.0, 75.0] : [100.0, 25.0, 50.0, 75.0])
@test symdiff(sol.t, sol2.t) == (save_end ? [25.0, 50.0, 75.0] : [100.0, 25.0, 50.0, 75.0])

# history is equal to solution above
@test sol.t == dde_int2.integrator.sol.t
Expand Down
Loading