Skip to content

Commit f24a28c

Browse files
authored
Merge pull request #1886 from SciML/myb/sparsity
Add sparsity option to ODEFunctionExpr
2 parents 7f94ade + 4601365 commit f24a28c

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/systems/diffeqs/abstractodesystem.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -486,6 +486,7 @@ function ODEFunctionExpr{iip}(sys::AbstractODESystem, dvs = states(sys),
486486
linenumbers = false,
487487
sparse = false, simplify = false,
488488
steady_state = false,
489+
sparsity = false,
489490
kwargs...) where {iip}
490491
f_oop, f_iip = generate_function(sys, dvs, ps; expression = Val{true}, kwargs...)
491492

@@ -523,7 +524,7 @@ function ODEFunctionExpr{iip}(sys::AbstractODESystem, dvs = states(sys),
523524
ArrayInterfaceCore.restructure(u0 .* u0', M)
524525
end
525526

526-
jp_expr = sparse ? :(similar($(get_jac(sys)[]), Float64)) : :nothing
527+
jp_expr = sparse ? :($similar($(get_jac(sys)[]), Float64)) : :nothing
527528
ex = quote
528529
$_f
529530
$_tgrad
@@ -536,7 +537,8 @@ function ODEFunctionExpr{iip}(sys::AbstractODESystem, dvs = states(sys),
536537
jac_prototype = $jp_expr,
537538
syms = $(Symbol.(states(sys))),
538539
indepsym = $(QuoteNode(Symbol(get_iv(sys)))),
539-
paramsyms = $(QuoteNode(Symbol.(parameters(sys)))))
540+
paramsyms = $(QuoteNode(Symbol.(parameters(sys)))),
541+
sparsity = $(jacobian_sparsity(sys)))
540542
end
541543
!linenumbers ? striplines(ex) : ex
542544
end

0 commit comments

Comments
 (0)