Code fails using BoundaryValueDiffEq Version 5.18.0

I had a code working using the MIRK4 boundary value problem solver from SciML. Yesterday I updated BoundaryValueDiffEq to Version 5.18.0 and now the same code errors out. I’m using Julia 1.11.5. Here is a code fragment, which was working well and now is not:

function initialGuess(p, t)
	x = t * p[3]
	θe = (234.26988 * log(-4.16207e4 * x + 1.25761e3))/p[1]
	n̂ = ((-5.9645e13 * x)/(1 - 4.5192e2 * x^2) + 2.8991e12)*sqrt((xk * p[1])/(2 * π * me))/(p[6]/ec)
	ψ = (-6.4426e-2 * log(-33.8580 * x + 1.0))/(xke * p[1])
	Γe = 0.05/p[6]
	ûe = (3.1446 * x^2 - 0.1693 * x + 0.02556)/(xk2 * p[1] * (p[6]/ec))
	return [θe, n̂, ψ, Γe, ûe]
end


function smstpc(te, tr, tc, jtot, din, ϕ₀, xphcl)

	# Calculate some parameters
	d, phie, js, pcs, phic, jc, jie = setup(te, tc, tr, din, ϕ₀, xphcl)
	p = [te, tc/te, d, pcs, jtot/js, js, jie/js, jc/js]

	prob = TwoPointBVProblem(plasma_transport_eqns!, (emitter_bcs!, collector_bcs!), initialGuess, (0.0, 1.0), p; bcresid_prototype = (zeros(3), zeros(2)))
	sol1 = solve(prob, MIRK4(), dt = 0.005; maxiters = 1000, reltol = 1.0e-5, abstol = 1.0e-6)

Here is the error output upon executing “solve” (sorry, it’s lengthy):

ERROR: DifferentiationInterface.PreparationMismatchError{Tuple{BoundaryValueDiffEqMIRK.var"#44#50"{BoundaryValueDiffEqMIRK.MIRKCache{true, Float64, false, BoundaryValueDiffEqCore.DiffCacheNeeded, Tuple{Int64}, BVPFunction{true, SciMLBase.FullSpecialize, true, typeof(plasma_transport_eqns!), Tuple{typeof(emitter_bcs!), typeof(collector_bcs!)}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, RecursiveArrayTools.ArrayPartition{Float64, Tuple{Vector{Float64}, Vector{Float64}}}, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing, Nothing, Dict{Any, Any}}, Nothing}, Tuple{typeof(emitter_bcs!), typeof(collector_bcs!)}, BVProblem{typeof(initialGuess), Tuple{Float64, Float64}, true, true, Vector{Float64}, BVPFunction{true, SciMLBase.FullSpecialize, true, typeof(plasma_transport_eqns!), Tuple{typeof(emitter_bcs!), typeof(collector_bcs!)}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, RecursiveArrayTools.ArrayPartition{Float64, Tuple{Vector{Float64}, Vector{Float64}}}, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing, Nothing, Dict{Any, Any}}, Nothing}, TwoPointBVProblem{true}, Base.Pairs{Symbol, Union{}, Tuple{}, @NamedTuple{}}}, TwoPointBVProblem{true}, Vector{Float64}, MIRK4{Nothing, BVPJacobianAlgorithm{Nothing, Nothing, AutoSparse{AutoForwardDiff{nothing, Nothing}, SparseConnectivityTracer.TracerLocalSparsityDetector{SparseConnectivityTracer.GradientTracer{SparseConnectivityTracer.IndexSetGradientPattern{Int64, BitSet}}, SparseConnectivityTracer.HessianTracer{SparseConnectivityTracer.DictHessianPattern{Int64, BitSet, Dict{Int64, BitSet}, SparseConnectivityTracer.NotShared}}}, SparseMatrixColorings.GreedyColoringAlgorithm{:direct, SparseMatrixColorings.NaturalOrder}}}, Float64}, BoundaryValueDiffEqMIRK.MIRKTableau{Int64, Vector{Float64}, Vector{Float64}, Vector{Float64}, Matrix{Float64}}, BoundaryValueDiffEqMIRK.MIRKInterpTableau{Int64, Vector{Float64}, Vector{Float64}, Vector{Float64}, Float64, Int64}, Vector{Float64}, Vector{Float64}, Vector{Float64}, Vector{PreallocationTools.DiffCache{Matrix{Float64}, Vector{Float64}}}, RecursiveArrayTools.VectorOfArray{Float64, 3, Vector{Matrix{Float64}}}, Vector{PreallocationTools.DiffCache{Vector{Float64}, Vector{Float64}}}, RecursiveArrayTools.VectorOfArray{Float64, 2, Vector{Vector{Float64}}}, Vector{PreallocationTools.DiffCache{Vector{Float64}, Vector{Float64}}}, PreallocationTools.DiffCache{Vector{Float64}, Vector{Float64}}, Vector{Float64}, RecursiveArrayTools.VectorOfArray{Float64, 2, Vector{Vector{Float64}}}, RecursiveArrayTools.VectorOfArray{Float64, 2, Vector{Vector{Float64}}}, Tuple{Tuple{Int64}, Tuple{Int64}}, @NamedTuple{abstol::Float64}, @NamedTuple{abstol::Float64, dt::Float64, adaptive::Bool, controller::BoundaryValueDiffEqCore.DefectControl{Float64}, maxiters::Int64, reltol::Float64}}, TwoPointBVProblem{true}, BoundaryValueDiffEqCore.EvalSol{BoundaryValueDiffEqMIRK.MIRKCache{true, Float64, false, BoundaryValueDiffEqCore.DiffCacheNeeded, Tuple{Int64}, BVPFunction{true, SciMLBase.FullSpecialize, true, typeof(plasma_transport_eqns!), Tuple{typeof(emitter_bcs!), typeof(collector_bcs!)}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, RecursiveArrayTools.ArrayPartition{Float64, Tuple{Vector{Float64}, Vector{Float64}}}, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing, Nothing, Dict{Any, Any}}, Nothing}, Tuple{typeof(emitter_bcs!), typeof(collector_bcs!)}, BVProblem{typeof(initialGuess), Tuple{Float64, Float64}, true, true, Vector{Float64}, BVPFunction{true, SciMLBase.FullSpecialize, true, typeof(plasma_transport_eqns!), Tuple{typeof(emitter_bcs!), typeof(collector_bcs!)}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, RecursiveArrayTools.ArrayPartition{Float64, Tuple{Vector{Float64}, Vector{Float64}}}, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing, Nothing, Dict{Any, Any}}, Nothing}, TwoPointBVProblem{true}, Base.Pairs{Symbol, Union{}, Tuple{}, @NamedTuple{}}}, TwoPointBVProblem{true}, Vector{Float64}, MIRK4{Nothing, BVPJacobianAlgorithm{Nothing, Nothing, AutoSparse{AutoForwardDiff{nothing, Nothing}, SparseConnectivityTracer.TracerLocalSparsityDetector{SparseConnectivityTracer.GradientTracer{SparseConnectivityTracer.IndexSetGradientPattern{Int64, BitSet}}, SparseConnectivityTracer.HessianTracer{SparseConnectivityTracer.DictHessianPattern{Int64, BitSet, Dict{Int64, BitSet}, SparseConnectivityTracer.NotShared}}}, SparseMatrixColorings.GreedyColoringAlgorithm{:direct, SparseMatrixColorings.NaturalOrder}}}, Float64}, BoundaryValueDiffEqMIRK.MIRKTableau{Int64, Vector{Float64}, Vector{Float64}, Vector{Float64}, Matrix{Float64}}, BoundaryValueDiffEqMIRK.MIRKInterpTableau{Int64, Vector{Float64}, Vector{Float64}, Vector{Float64}, Float64, Int64}, Vector{Float64}, Vector{Float64}, Vector{Float64}, Vector{PreallocationTools.DiffCache{Matrix{Float64}, Vector{Float64}}}, RecursiveArrayTools.VectorOfArray{Float64, 3, Vector{Matrix{Float64}}}, Vector{PreallocationTools.DiffCache{Vector{Float64}, Vector{Float64}}}, RecursiveArrayTools.VectorOfArray{Float64, 2, Vector{Vector{Float64}}}, Vector{PreallocationTools.DiffCache{Vector{Float64}, Vector{Float64}}}, PreallocationTools.DiffCache{Vector{Float64}, Vector{Float64}}, Vector{Float64}, RecursiveArrayTools.VectorOfArray{Float64, 2, Vector{Vector{Float64}}}, RecursiveArrayTools.VectorOfArray{Float64, 2, Vector{Vector{Float64}}}, Tuple{Tuple{Int64}, Tuple{Int64}}, @NamedTuple{abstol::Float64}, @NamedTuple{abstol::Float64, dt::Float64, adaptive::Bool, controller::BoundaryValueDiffEqCore.DefectControl{Float64}, maxiters::Int64, reltol::Float64}}, Vector{Vector{Float64}}, Vector{Float64}}, BoundaryValueDiffEqCore.DiffCacheNeeded}, Vector{Float64}, AutoSparse{AutoForwardDiff{nothing, Nothing}, ADTypes.KnownJacobianSparsityDetector{BandedMatrices.BandedMatrix{Float64, Matrix{Float64}, Base.OneTo{Int64}}}, SparseMatrixColorings.GreedyColoringAlgorithm{:direct, SparseMatrixColorings.NaturalOrder}}, Vector{Float64}, Tuple{DifferentiationInterface.Constant{Vector{Float64}}}}, Tuple{BoundaryValueDiffEqMIRK.var"#44#50"{BoundaryValueDiffEqMIRK.MIRKCache{true, Float64, false, BoundaryValueDiffEqCore.DiffCacheNeeded, Tuple{Int64}, BVPFunction{true, SciMLBase.FullSpecialize, true, typeof(plasma_transport_eqns!), Tuple{typeof(emitter_bcs!), typeof(collector_bcs!)}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, RecursiveArrayTools.ArrayPartition{Float64, Tuple{Vector{Float64}, Vector{Float64}}}, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing, Nothing, Dict{Any, Any}}, Nothing}, Tuple{typeof(emitter_bcs!), typeof(collector_bcs!)}, BVProblem{typeof(initialGuess), Tuple{Float64, Float64}, true, true, Vector{Float64}, BVPFunction{true, SciMLBase.FullSpecialize, true, typeof(plasma_transport_eqns!), Tuple{typeof(emitter_bcs!), typeof(collector_bcs!)}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, RecursiveArrayTools.ArrayPartition{Float64, Tuple{Vector{Float64}, Vector{Float64}}}, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing, Nothing, Dict{Any, Any}}, Nothing}, TwoPointBVProblem{true}, Base.Pairs{Symbol, Union{}, Tuple{}, @NamedTuple{}}}, TwoPointBVProblem{true}, Vector{Float64}, MIRK4{Nothing, BVPJacobianAlgorithm{Nothing, Nothing, AutoSparse{AutoForwardDiff{nothing, Nothing}, SparseConnectivityTracer.TracerLocalSparsityDetector{SparseConnectivityTracer.GradientTracer{SparseConnectivityTracer.IndexSetGradientPattern{Int64, BitSet}}, SparseConnectivityTracer.HessianTracer{SparseConnectivityTracer.DictHessianPattern{Int64, BitSet, Dict{Int64, BitSet}, SparseConnectivityTracer.NotShared}}}, SparseMatrixColorings.GreedyColoringAlgorithm{:direct, SparseMatrixColorings.NaturalOrder}}}, Float64}, BoundaryValueDiffEqMIRK.MIRKTableau{Int64, Vector{Float64}, Vector{Float64}, Vector{Float64}, Matrix{Float64}}, BoundaryValueDiffEqMIRK.MIRKInterpTableau{Int64, Vector{Float64}, Vector{Float64}, Vector{Float64}, Float64, Int64}, Vector{Float64}, Vector{Float64}, Vector{Float64}, Vector{PreallocationTools.DiffCache{Matrix{Float64}, Vector{Float64}}}, RecursiveArrayTools.VectorOfArray{Float64, 3, Vector{Matrix{Float64}}}, Vector{PreallocationTools.DiffCache{Vector{Float64}, Vector{Float64}}}, RecursiveArrayTools.VectorOfArray{Float64, 2, Vector{Vector{Float64}}}, Vector{PreallocationTools.DiffCache{Vector{Float64}, Vector{Float64}}}, PreallocationTools.DiffCache{Vector{Float64}, Vector{Float64}}, Vector{Float64}, RecursiveArrayTools.VectorOfArray{Float64, 2, Vector{Vector{Float64}}}, RecursiveArrayTools.VectorOfArray{Float64, 2, Vector{Vector{Float64}}}, Tuple{Tuple{Int64}, Tuple{Int64}}, @NamedTuple{abstol::Float64}, @NamedTuple{abstol::Float64, dt::Float64, adaptive::Bool, controller::BoundaryValueDiffEqCore.DefectControl{Float64}, maxiters::Int64, reltol::Float64}}, TwoPointBVProblem{true}, BoundaryValueDiffEqCore.EvalSol{BoundaryValueDiffEqMIRK.MIRKCache{true, Float64, false, BoundaryValueDiffEqCore.DiffCacheNeeded, Tuple{Int64}, BVPFunction{true, SciMLBase.FullSpecialize, true, typeof(plasma_transport_eqns!), Tuple{typeof(emitter_bcs!), typeof(collector_bcs!)}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, RecursiveArrayTools.ArrayPartition{Float64, Tuple{Vector{Float64}, Vector{Float64}}}, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing, Nothing, Dict{Any, Any}}, Nothing}, Tuple{typeof(emitter_bcs!), typeof(collector_bcs!)}, BVProblem{typeof(initialGuess), Tuple{Float64, Float64}, true, true, Vector{Float64}, BVPFunction{true, SciMLBase.FullSpecialize, true, typeof(plasma_transport_eqns!), Tuple{typeof(emitter_bcs!), typeof(collector_bcs!)}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, RecursiveArrayTools.ArrayPartition{Float64, Tuple{Vector{Float64}, Vector{Float64}}}, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing, Nothing, Dict{Any, Any}}, Nothing}, TwoPointBVProblem{true}, Base.Pairs{Symbol, Union{}, Tuple{}, @NamedTuple{}}}, TwoPointBVProblem{true}, Vector{Float64}, MIRK4{Nothing, BVPJacobianAlgorithm{Nothing, Nothing, AutoSparse{AutoForwardDiff{nothing, Nothing}, SparseConnectivityTracer.TracerLocalSparsityDetector{SparseConnectivityTracer.GradientTracer{SparseConnectivityTracer.IndexSetGradientPattern{Int64, BitSet}}, SparseConnectivityTracer.HessianTracer{SparseConnectivityTracer.DictHessianPattern{Int64, BitSet, Dict{Int64, BitSet}, SparseConnectivityTracer.NotShared}}}, SparseMatrixColorings.GreedyColoringAlgorithm{:direct, SparseMatrixColorings.NaturalOrder}}}, Float64}, BoundaryValueDiffEqMIRK.MIRKTableau{Int64, Vector{Float64}, Vector{Float64}, Vector{Float64}, Matrix{Float64}}, BoundaryValueDiffEqMIRK.MIRKInterpTableau{Int64, Vector{Float64}, Vector{Float64}, Vector{Float64}, Float64, Int64}, Vector{Float64}, Vector{Float64}, Vector{Float64}, Vector{PreallocationTools.DiffCache{Matrix{Float64}, Vector{Float64}}}, RecursiveArrayTools.VectorOfArray{Float64, 3, Vector{Matrix{Float64}}}, Vector{PreallocationTools.DiffCache{Vector{Float64}, Vector{Float64}}}, RecursiveArrayTools.VectorOfArray{Float64, 2, Vector{Vector{Float64}}}, Vector{PreallocationTools.DiffCache{Vector{Float64}, Vector{Float64}}}, PreallocationTools.DiffCache{Vector{Float64}, Vector{Float64}}, Vector{Float64}, RecursiveArrayTools.VectorOfArray{Float64, 2, Vector{Vector{Float64}}}, RecursiveArrayTools.VectorOfArray{Float64, 2, Vector{Vector{Float64}}}, Tuple{Tuple{Int64}, Tuple{Int64}}, @NamedTuple{abstol::Float64}, @NamedTuple{abstol::Float64, dt::Float64, adaptive::Bool, controller::BoundaryValueDiffEqCore.DefectControl{Float64}, maxiters::Int64, reltol::Float64}}, Vector{Vector{Float64}}, Vector{Float64}}, BoundaryValueDiffEqCore.DiffCacheNeeded}, Vector{Float64}, AutoSparse{AutoForwardDiff{nothing, Nothing}, SparseConnectivityTracer.TracerLocalSparsityDetector{SparseConnectivityTracer.GradientTracer{SparseConnectivityTracer.IndexSetGradientPattern{Int64, BitSet}}, SparseConnectivityTracer.HessianTracer{SparseConnectivityTracer.DictHessianPattern{Int64, BitSet, Dict{Int64, BitSet}, SparseConnectivityTracer.NotShared}}}, SparseMatrixColorings.GreedyColoringAlgorithm{:direct, SparseMatrixColorings.NaturalOrder}}, Vector{Float64}, Tuple{DifferentiationInterface.Constant{Vector{Float64}}}}}([:f!, :y, :backend, :x, :contexts])
Stacktrace:
  [1] check_prep(f!::Function, y::Vector{…}, ::DifferentiationInterfaceSparseMatrixColoringsExt.SMCPushforwardSparseJacobianPrep{…}, backend::AutoSparse{…}, x::Vector{…}, contexts::DifferentiationInterface.Constant{…})
    @ DifferentiationInterface C:\Users\jbmcv\.julia\packages\DifferentiationInterface\FTXUn\src\utils\prep.jl:184
  [2] jacobian!(f!::BoundaryValueDiffEqMIRK.var"#44#50"{…}, y::Vector{…}, jac::BandedMatrices.BandedMatrix{…}, prep::DifferentiationInterfaceSparseMatrixColoringsExt.SMCPushforwardSparseJacobianPrep{…}, backend::AutoSparse{…}, x::Vector{…}, contexts::DifferentiationInterface.Constant{…})
    @ DifferentiationInterfaceSparseMatrixColoringsExt C:\Users\jbmcv\.julia\packages\DifferentiationInterface\FTXUn\ext\DifferentiationInterfaceSparseMatrixColoringsExt\jacobian.jl:236
  [3] __mirk_2point_jacobian!(J::BandedMatrices.BandedMatrix{…}, x::Vector{…}, diffmode::AutoSparse{…}, diffcache::DifferentiationInterfaceSparseMatrixColoringsExt.SMCPushforwardSparseJacobianPrep{…}, loss_fn::BoundaryValueDiffEqMIRK.var"#44#50"{…}, resid::Vector{…}, p::Vector{…})
    @ BoundaryValueDiffEqMIRK C:\Users\jbmcv\.julia\packages\BoundaryValueDiffEqMIRK\pIm8F\src\mirk.jl:533
  [4] (::BoundaryValueDiffEqMIRK.var"#62#64"{…})(J::BandedMatrices.BandedMatrix{…}, u::Vector{…}, p::Vector{…})
    @ BoundaryValueDiffEqMIRK C:\Users\jbmcv\.julia\packages\BoundaryValueDiffEqMIRK\pIm8F\src\mirk.jl:517
  [5] (::NonlinearSolveBase.JacobianCache{…})(J::BandedMatrices.BandedMatrix{…}, u::Vector{…}, p::Vector{…})
    @ NonlinearSolveBase C:\Users\jbmcv\.julia\packages\NonlinearSolveBase\AAKGk\src\jacobian.jl:161
  [6] (::NonlinearSolveBase.JacobianCache{…})(u::Vector{…})
    @ NonlinearSolveBase C:\Users\jbmcv\.julia\packages\NonlinearSolveBase\AAKGk\src\jacobian.jl:130
  [7] step!(cache::NonlinearSolveFirstOrder.GeneralizedFirstOrderAlgorithmCache{…}; recompute_jacobian::Nothing)
    @ NonlinearSolveFirstOrder C:\Users\jbmcv\.julia\packages\NonlinearSolveFirstOrder\DfCGW\src\solve.jl:230
  [8] step!
    @ C:\Users\jbmcv\.julia\packages\NonlinearSolveFirstOrder\DfCGW\src\solve.jl:224 [inlined]
  [9] #step!#155
    @ C:\Users\jbmcv\.julia\packages\NonlinearSolveBase\AAKGk\src\solve.jl:253 [inlined]
 [10] step!
    @ C:\Users\jbmcv\.julia\packages\NonlinearSolveBase\AAKGk\src\solve.jl:247 [inlined]
 [11] solve!(cache::NonlinearSolveFirstOrder.GeneralizedFirstOrderAlgorithmCache{…})
    @ NonlinearSolveBase C:\Users\jbmcv\.julia\packages\NonlinearSolveBase\AAKGk\src\solve.jl:18
 [12] #__solve#138
    @ C:\Users\jbmcv\.julia\packages\NonlinearSolveBase\AAKGk\src\solve.jl:6 [inlined]
 [13] __solve
    @ C:\Users\jbmcv\.julia\packages\NonlinearSolveBase\AAKGk\src\solve.jl:1 [inlined]
 [14] macro expansion
    @ C:\Users\jbmcv\.julia\packages\NonlinearSolveBase\AAKGk\src\solve.jl:173 [inlined]
 [15] __generated_polysolve(::NonlinearLeastSquaresProblem{…}, ::NonlinearSolvePolyAlgorithm{…}; stats::SciMLBase.NLStats, alias_u0::Bool, verbose::Bool, initializealg::NonlinearSolveBase.NonlinearSolveDefaultInit, kwargs::@Kwargs{…})
    @ NonlinearSolveBase C:\Users\jbmcv\.julia\packages\NonlinearSolveBase\AAKGk\src\solve.jl:130
 [16] __generated_polysolve
    @ C:\Users\jbmcv\.julia\packages\NonlinearSolveBase\AAKGk\src\solve.jl:130 [inlined]
 [17] #__solve#146
    @ C:\Users\jbmcv\.julia\packages\NonlinearSolveBase\AAKGk\src\solve.jl:127 [inlined]
 [18] __perform_mirk_iteration(cache::BoundaryValueDiffEqMIRK.MIRKCache{…}, abstol::Float64, adaptive::Bool, controller::BoundaryValueDiffEqCore.DefectControl{…})
    @ BoundaryValueDiffEqMIRK C:\Users\jbmcv\.julia\packages\BoundaryValueDiffEqMIRK\pIm8F\src\mirk.jl:165
 [19] solve!(cache::BoundaryValueDiffEqMIRK.MIRKCache{…})
    @ BoundaryValueDiffEqMIRK C:\Users\jbmcv\.julia\packages\BoundaryValueDiffEqMIRK\pIm8F\src\mirk.jl:142
 [20] #__solve#42
    @ C:\Users\jbmcv\.julia\packages\BoundaryValueDiffEqCore\WZdaH\src\BoundaryValueDiffEqCore.jl:38 [inlined]
 [21] __solve
    @ C:\Users\jbmcv\.julia\packages\BoundaryValueDiffEqCore\WZdaH\src\BoundaryValueDiffEqCore.jl:35 [inlined]
 [22] #solve_call#36
    @ C:\Users\jbmcv\.julia\packages\DiffEqBase\5hvMq\src\solve.jl:667 [inlined]
 [23] solve_up(prob::BVProblem{…}, sensealg::Nothing, u0::Function, p::Vector{…}, args::MIRK4{…}; kwargs::@Kwargs{…})
    @ DiffEqBase C:\Users\jbmcv\.julia\packages\DiffEqBase\5hvMq\src\solve.jl:1199
 [24] solve_up
    @ C:\Users\jbmcv\.julia\packages\DiffEqBase\5hvMq\src\solve.jl:1177 [inlined]
 [25] solve(prob::BVProblem{…}, args::MIRK4{…}; sensealg::Nothing, u0::Nothing, p::Nothing, wrap::Val{…}, kwargs::@Kwargs{…})
    @ DiffEqBase C:\Users\jbmcv\.julia\packages\DiffEqBase\5hvMq\src\solve.jl:1089
 [26] smstpc(te::Float64, tr::Float64, tc::Float64, jtot::Float64, din::Float64, ϕ₀::Float64, xphcl::Float64)
    @ Main c:\Users\jbmcv\OneDrive\Documents\MasterPC\New Model\mpc12_8e.jl:460
 [27] top-level scope
    @ c:\Users\jbmcv\OneDrive\Documents\MasterPC\New Model\mpc12_8e.jl:536
Some type information was truncated. Use `show(err)` to see complete types.

Can anyone tell me what I need to change in order to be compatible with BoundaryValueDiffEq v. 5.18.0, and presumably any future versions?

Can you open an issue? We should dig into why the MIRK fails here. Easy fix is turning off strict mode, but it would be good to figure out exactly what is violated in this case but not the test cases.

Chris, I’m honored that you replied to my problem yourself, and so quickly. Can you please guide me to the documentation for how to open an issue? Also, can you tell me where to look for instructions as to how to turn off strict mode (I’m new to Julia)? BTW, I verified that the code works correctly when I revert back to BoundaryValueDiffEq.jl v. 5.17.0

GitHub · Where software is built and click “New Issue”. If you force back to DifferentiationInterface v0.6 versions it should be fine. There isn’t a good way to turn off the strictness manually so we’ll need to release a patch for this.

Letting @ErikQQY know.

I’ll get on that tomorrow morning. Thanks again for the help.

  1. I’ve opened the issue on GitHub. 2. Attempting to downgrade DifferentiationInterface to v0.6.1 just gives compile errors. 3. I was incorrect before: downgrading BoundaryValueDiffEq to v5.17.0 did not fix the error; it just made it a longer time before the error was displayed.