@@ -678,7 +678,7 @@ function build_null_solution(prob::AbstractDEProblem, args...;
678
678
end
679
679
680
680
timeseries = [Float64[] for i in 1 : length (ts)]
681
-
681
+
682
682
if SciMLBase. has_initializeprob (prob. f) && SciMLBase. has_initializeprobpmap (prob. f)
683
683
initializeprob = prob. f. initializeprob
684
684
nlsol = solve (initializeprob)
@@ -1427,6 +1427,7 @@ function check_prob_alg_pairing(prob, alg)
1427
1427
prob isa SDDEProblem && ! (alg isa AbstractSDEAlgorithm) ||
1428
1428
prob isa DDEProblem && ! (alg isa AbstractDDEAlgorithm) ||
1429
1429
prob isa DAEProblem && ! (alg isa AbstractDAEAlgorithm) ||
1430
+ prob isa BVProblem && ! (alg isa AbstractBVPAlgorithm) ||
1430
1431
prob isa SteadyStateProblem && ! (alg isa AbstractSteadyStateAlgorithm)
1431
1432
throw (ProblemSolverPairingError (prob, alg))
1432
1433
end
@@ -1460,8 +1461,10 @@ function check_prob_alg_pairing(prob, alg)
1460
1461
if ! SciMLBase. allows_arbitrary_number_types (alg)
1461
1462
if isdefined (prob, :u0 )
1462
1463
uType = RecursiveArrayTools. recursive_unitless_eltype (prob. u0)
1464
+ u0_as_initial_guess = (prob isa BVProblem) && (uType <: Vector )
1463
1465
if Base. isconcretetype (uType) &&
1464
- ! (uType <: Union{Float32, Float64, ComplexF32, ComplexF64} )
1466
+ ! (uType <: Union{Float32, Float64, ComplexF32, ComplexF64} ) &&
1467
+ ! u0_as_initial_guess
1465
1468
throw (GenericNumberTypeError (alg,
1466
1469
isdefined (prob, :u0 ) ? typeof (prob. u0) :
1467
1470
nothing ,
0 commit comments