Skip to content

Commit c1231a1

Browse files
committed
Correct signature for _jac()
1 parent 47d8ed5 commit c1231a1

File tree

1 file changed

+5
-20
lines changed

1 file changed

+5
-20
lines changed

src/systems/diffeqs/abstractodesystem.jl

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ function calculate_jacobian(sys::AbstractODESystem;
2626
rhs = [eq.rhs for eq full_equations(sys)]
2727

2828
iv = get_iv(sys)
29-
# dvs = states(sys)
3029

3130
if sparse
3231
jac = sparsejacobian(rhs, dvs, simplify=simplify)
@@ -80,7 +79,7 @@ end
8079

8180
function generate_dae_jacobian(sys::AbstractODESystem, dvs = states(sys), ps = parameters(sys); simplify=false, sparse=false, kwargs...)
8281
jac_u = calculate_jacobian(sys; simplify=simplify, sparse=sparse)
83-
jac_du = calculate_jacobian(sys; simplify=simplify, sparse=sparse, dvs=Differential(independent_variable(sys)).(states(sys)))
82+
jac_du = calculate_jacobian(sys; simplify=simplify, sparse=sparse, dvs=Differential(get_iv(sys)).(states(sys)))
8483
dvs = states(sys)
8584
@variables ˍ₋gamma
8685
jac = ˍ₋gamma*jac_du + jac_u
@@ -436,7 +435,7 @@ respectively.
436435
function DiffEqBase.DAEFunction{iip}(sys::AbstractODESystem, dvs = states(sys),
437436
ps = parameters(sys), u0 = nothing;
438437
ddvs=map(diff2term Differential(get_iv(sys)), dvs),
439-
version = nothing, tgrad=false,
438+
version = nothing,
440439
jac=false,
441440
eval_expression = true,
442441
sparse=false, simplify=false,
@@ -449,36 +448,22 @@ function DiffEqBase.DAEFunction{iip}(sys::AbstractODESystem, dvs = states(sys),
449448
f(du,u,p,t) = f_oop(du,u,p,t)
450449
f(out,du,u,p,t) = f_iip(out,du,u,p,t)
451450

452-
if tgrad
453-
tgrad_gen = generate_tgrad(sys, dvs, ps;
454-
simplify=simplify,
455-
expression=Val{eval_expression}, expression_module=eval_module,
456-
checkbounds=checkbounds, kwargs...)
457-
tgrad_oop, tgrad_iip = eval_expression ? (@RuntimeGeneratedFunction(eval_module, ex) for ex in tgrad_gen) : tgrad_gen
458-
_tgrad(u,p,t) = tgrad_oop(u,p,t)
459-
_tgrad(J,u,p,t) = tgrad_iip(J,u,p,t)
460-
else
461-
_tgrad = nothing
462-
end
463-
464451
if jac
465452
jac_gen = generate_dae_jacobian(sys, dvs, ps;
466453
simplify=simplify, sparse=sparse,
467454
expression=Val{eval_expression}, expression_module=eval_module,
468455
checkbounds=checkbounds, kwargs...)
469456
jac_oop, jac_iip = eval_expression ? (@RuntimeGeneratedFunction(eval_module, ex) for ex in jac_gen) : jac_gen
470-
_jac(u,p,t) = jac_oop(u,p,t)
471-
_jac(J,u,p,t) = jac_iip(J,u,p,t)
457+
_jac(du,u,p,t) = jac_oop(du,u,p,t)
458+
_jac(J,du,u,p,ˍ₋gamma,t) = jac_iip(J,du,u,p,ˍ₋gamma,t)
472459
else
473460
_jac = nothing
474461
end
475462

476463
DAEFunction{iip}(
477464
f,
478465
jac = _jac === nothing ? nothing : _jac,
479-
tgrad = _tgrad === nothing ? nothing : _tgrad,
480-
syms = Symbol.(dvs),
481-
indepsym = Symbol(get_iv(sys)),
466+
syms = Symbol.(dvs)
482467
# missing fields in `DAEFunction`
483468
#indepsym = Symbol(get_iv(sys)),
484469
#observed = observedfun,

0 commit comments

Comments
 (0)