From 40dc728ff602e09ca19cd81047fd9b95b30526f3 Mon Sep 17 00:00:00 2001 From: Christopher Rackauckas Date: Wed, 7 Aug 2024 09:58:52 -0400 Subject: [PATCH] fix rosenbrock direct callout --- lib/OrdinaryDiffEqCore/src/solve.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/OrdinaryDiffEqCore/src/solve.jl b/lib/OrdinaryDiffEqCore/src/solve.jl index 1858abd0c2..1a6a41a8d7 100644 --- a/lib/OrdinaryDiffEqCore/src/solve.jl +++ b/lib/OrdinaryDiffEqCore/src/solve.jl @@ -100,7 +100,7 @@ function DiffEqBase.__init( if alg isa OrdinaryDiffEqRosenbrockAdaptiveAlgorithm && # https://github.com/SciML/OrdinaryDiffEq.jl/pull/2079 fixes this for Rosenbrock23 and 32 - !(alg isa Union{Rosenbrock23, Rosenbrock32}) && + !only_diagonal_mass_matrix(alg) && prob.f.mass_matrix isa AbstractMatrix && all(isequal(0), prob.f.mass_matrix) # technically this should also warn for zero operators but those are hard to check for