@@ -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