Skip to content

Commit c4f9b68

Browse files
add subsolver logger
1 parent fc63949 commit c4f9b68

File tree

1 file changed

+22
-20
lines changed

1 file changed

+22
-20
lines changed

src/TR_alg.jl

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ function SolverCore.solve!(
193193
rtol::T = eps(T),
194194
neg_tol::T = eps(T)^(1 / 4),
195195
verbose::Int = 0,
196+
subsolver_logger::Logging.AbstractLogger = Logging.SimpleLogger(),
196197
max_iter::Int = 10000,
197198
max_time::Float64 = 30.0,
198199
max_eval::Int = -1,
@@ -344,26 +345,27 @@ function SolverCore.solve!(
344345
set_radius!(solver.subsolver.ψ, ∆_effective)
345346
set_radius!(ψ, ∆_effective)
346347
end
347-
348-
if isa(solver.subsolver, TRDHSolver) #FIXME
349-
solver.subsolver.D.d[1] = 1/ν₁
350-
solve!(
351-
solver.subsolver,
352-
solver.subpb,
353-
solver.substats;
354-
x = s,
355-
atol = stats.iter == 0 ? 1e-5 : max(sub_atol, min(1e-2, sqrt_ξ1_νInv)),
356-
Δk = ∆_effective / 10,
357-
)
358-
else
359-
solve!(
360-
solver.subsolver,
361-
solver.subpb,
362-
solver.substats;
363-
x = s,
364-
atol = stats.iter == 0 ? 1e-5 : max(sub_atol, min(1e-2, sqrt_ξ1_νInv)),
365-
ν = ν₁,
366-
)
348+
with_logger(subsolver_logger) do
349+
if isa(solver.subsolver, TRDHSolver) #FIXME
350+
solver.subsolver.D.d[1] = 1/ν₁
351+
solve!(
352+
solver.subsolver,
353+
solver.subpb,
354+
solver.substats;
355+
x = s,
356+
atol = stats.iter == 0 ? 1e-5 : max(sub_atol, min(1e-2, sqrt_ξ1_νInv)),
357+
Δk = ∆_effective / 10,
358+
)
359+
else
360+
solve!(
361+
solver.subsolver,
362+
solver.subpb,
363+
solver.substats;
364+
x = s,
365+
atol = stats.iter == 0 ? 1e-5 : max(sub_atol, min(1e-2, sqrt_ξ1_νInv)),
366+
ν = ν₁,
367+
)
368+
end
367369
end
368370

369371
s .= solver.substats.solution

0 commit comments

Comments
 (0)