Skip to content

Commit 3074062

Browse files
committed
Use ODE_DEFAULT_NORM for NonlinearSolve
1 parent b5c9e0d commit 3074062

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "DiffEqBase"
22
uuid = "2b5f629d-d688-5b77-993f-72d75c75574e"
33
authors = ["Chris Rackauckas <[email protected]>"]
4-
version = "6.134.0"
4+
version = "6.135.0"
55

66
[deps]
77
ArrayInterface = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"

src/common_defaults.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ end
4242
end
4343
@inline ODE_DEFAULT_NORM(u, t) = norm(u)
4444

45+
@inline NLSOLVE_DEFAULT_NORM(u) = ODE_DEFAULT_NORM(u, nothing)
46+
4547
@inline ODE_DEFAULT_ISOUTOFDOMAIN(u, p, t) = false
4648
@inline function ODE_DEFAULT_PROG_MESSAGE(dt, u::Array, p, t)
4749
tmp = u[1]

src/termination_conditions.jl

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -172,10 +172,11 @@ function (cond::NLSolveTerminationCondition)(storage::Union{
172172
end
173173

174174
if mode SAFE_BEST_TERMINATION_MODES
175-
objective = norm(du)
175+
objective = NLSOLVE_DEFAULT_NORM(du)
176176
criteria = abstol
177177
else
178-
objective = norm(du) / (norm(du .+ u) + eps(aType))
178+
objective = NLSOLVE_DEFAULT_NORM(du) /
179+
(NLSOLVE_DEFAULT_NORM(du .+ u) + eps(aType))
179180
criteria = reltol
180181
end
181182

@@ -234,18 +235,18 @@ end
234235

235236
@inline @inbounds function _has_converged(du, u, uprev, mode, abstol, reltol)
236237
if mode == NLSolveTerminationMode.Norm
237-
du_norm = norm(du)
238-
return du_norm abstol || du_norm reltol * norm(du + u)
238+
du_norm = NLSOLVE_DEFAULT_NORM(du)
239+
return du_norm abstol || du_norm reltol * NLSOLVE_DEFAULT_NORM(du + u)
239240
elseif mode == NLSolveTerminationMode.Rel
240241
return all(abs.(du) .≤ reltol .* abs.(u))
241242
elseif mode (NLSolveTerminationMode.RelNorm, NLSolveTerminationMode.RelSafe,
242243
NLSolveTerminationMode.RelSafeBest)
243-
return norm(du) reltol * norm(du .+ u)
244+
return NLSOLVE_DEFAULT_NORM(du) reltol * NLSOLVE_DEFAULT_NORM(du .+ u)
244245
elseif mode == NLSolveTerminationMode.Abs
245246
return all(abs.(du) .≤ abstol)
246247
elseif mode (NLSolveTerminationMode.AbsNorm, NLSolveTerminationMode.AbsSafe,
247248
NLSolveTerminationMode.AbsSafeBest)
248-
return norm(du) abstol
249+
return NLSOLVE_DEFAULT_NORM(du) abstol
249250
elseif mode == NLSolveTerminationMode.SteadyStateDefault
250251
return all((abs.(du) .≤ abstol) .| (abs.(du) .≤ reltol .* abs.(u)))
251252
elseif mode == NLSolveTerminationMode.NLSolveDefault

0 commit comments

Comments
 (0)