@@ -369,14 +369,15 @@ function DiffEqBase._concrete_solve_adjoint(
369369 sensealg:: Union {BacksolveAdjoint,
370370 QuadratureAdjoint,
371371 InterpolatingAdjoint,
372- GaussAdjoint},
372+ GaussAdjoint,
373+ GaussKronrodAdjoint},
373374 u0, p, originator:: SciMLBase.ADOriginator ,
374375 args... ; save_start = true , save_end = true ,
375376 saveat = eltype (prob. tspan)[],
376377 save_idxs = nothing ,
377378 initializealg_default = SciMLBase. OverrideInit (; abstol = 1e-6 , reltol = 1e-3 ),
378379 kwargs... )
379- if ! (sensealg isa GaussAdjoint) &&
380+ if ! (( sensealg isa GaussAdjoint) || (sensealg isa GaussKronrodAdjoint) ) &&
380381 ! (p isa Union{Nothing, SciMLBase. NullParameters, AbstractArray}) ||
381382 (p isa AbstractArray && ! Base. isconcretetype (eltype (p)))
382383 throw (AdjointSensitivityParameterCompatibilityError ())
@@ -386,7 +387,7 @@ function DiffEqBase._concrete_solve_adjoint(
386387 tunables, repack = p, identity
387388 elseif isscimlstructure (p)
388389 tunables, repack, aliases = canonicalize (Tunable (), p)
389- elseif sensealg isa Union{QuadratureAdjoint, GaussAdjoint}
390+ elseif sensealg isa Union{QuadratureAdjoint, GaussAdjoint, GaussKronrodAdjoint }
390391 tunables, repack = Functors. functor (p)
391392 else
392393 throw (SciMLStructuresCompatibilityError ())
0 commit comments