Skip to content

Commit 422173a

Browse files
committed
Use SciMLBase instead of DiffEqBase
1 parent bc67402 commit 422173a

7 files changed

Lines changed: 55 additions & 55 deletions

File tree

src/Domain.jl

Lines changed: 35 additions & 35 deletions
Large diffs are not rendered by default.

src/EdgeAnalysis.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Tools for model edge analysis for automatic mechanism generation
55
using Logging
66
using Sundials
77
using SparseArrays
8-
using DiffEqBase: build_solution
8+
using SciMLBase: build_solution
99
using Base.Iterators: flatten
1010

1111
abstract type AbstractTerminationCriterion end
@@ -76,7 +76,7 @@ Calculate key flux and concentration related quantities for edge analysis
7676
@inline function calcfluxes(sim::Simulation)
7777
t = sim.sol.t[end]
7878
dydt = zeros(sim.domain.indexes[end])
79-
ns,cs,T,P,V,C,N,mu,kfs,krevs,Hs,Us,Gs,diffs,Cvave,cpdivR,phi = calcthermo(sim.domain,sim.sol.u[end],sim.sol.t[end],DiffEqBase.NullParameters())
79+
ns,cs,T,P,V,C,N,mu,kfs,krevs,Hs,Us,Gs,diffs,Cvave,cpdivR,phi = calcthermo(sim.domain,sim.sol.u[end],sim.sol.t[end],SciMLBase.NullParameters())
8080
rts,frts,rrts = addreactionratecontributionsforwardreverse!(dydt,sim.domain.rxnarray,cs,kfs,krevs,V)
8181
calcdomainderivatives!(sim.domain,dydt,[];t=t,T=T,P=P,Us=Us,Hs=Hs,V=V,C=C,ns=ns,N=N,Cvave=Cvave)
8282
return dydt,rts,frts,rrts,cs
@@ -94,7 +94,7 @@ Calculate key flux and concentration related quantities for edge analysis
9494
domains = [sim.domain for sim in ssys.sims]
9595
interfaces = ssys.interfaces
9696
domain = domains[1]
97-
ns,cs,T,P,V,C,N,mu,kfs,krevs,Hs,Us,Gs,diffs,Cvave,cpdivR,phi = calcthermo(domain,y,t,DiffEqBase.NullParameters())
97+
ns,cs,T,P,V,C,N,mu,kfs,krevs,Hs,Us,Gs,diffs,Cvave,cpdivR,phi = calcthermo(domain,y,t,SciMLBase.NullParameters())
9898
vns = Array{Any,1}(undef,length(domains))
9999
vns[1] = ns
100100
vcs = Array{Any,1}(undef,length(domains))
@@ -136,7 +136,7 @@ Calculate key flux and concentration related quantities for edge analysis
136136
rrtsall = [rrts]
137137
for (i,domain) in enumerate(@views domains[2:end])
138138
k = i + 1
139-
vns[k],vcs[k],vT[k],vP[k],vV[k],vC[k],vN[k],vmu[k],vkfs[k],vkrevs[k],vHs[k],vUs[k],vGs[k],vdiffs[k],vCvave[k],vcpdivR[k],vphi[k] = calcthermo(domain,y,t,DiffEqBase.NullParameters())
139+
vns[k],vcs[k],vT[k],vP[k],vV[k],vC[k],vN[k],vmu[k],vkfs[k],vkrevs[k],vHs[k],vUs[k],vGs[k],vdiffs[k],vCvave[k],vcpdivR[k],vphi[k] = calcthermo(domain,y,t,SciMLBase.NullParameters())
140140
cstot[domain.indexes[1]:domain.indexes[2]] .= vcs[k]
141141
rts,frts,rrts = addreactionratecontributionsforwardreverse!(dydt,domain.rxnarray,cstot,vkfs[k],vkrevs[k],vV[k])
142142
push!(rtsall,rts)

src/Interface.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using LinearAlgebra
2-
using DiffEqBase
2+
using SciMLBase
33
using LsqFit
44

55
abstract type AbstractInterface end
@@ -54,7 +54,7 @@ function getkfskrevs(ri::ReactiveInternalInterface,T1,T2,phi1,phi2,Gs1,Gs2,cstot
5454
return kfs,krevs
5555
end
5656

57-
function evaluate(ri::ReactiveInternalInterface,dydt,domains,T1,T2,phi1,phi2,Gs1,Gs2,cstot,p::W) where {W<:DiffEqBase.NullParameters}
57+
function evaluate(ri::ReactiveInternalInterface,dydt,domains,T1,T2,phi1,phi2,Gs1,Gs2,cstot,p::W) where {W<:SciMLBase.NullParameters}
5858
kfs,krevs = getkfskrevs(ri,T1,T2,phi1,phi2,Gs1,Gs2,cstot)
5959
addreactionratecontributions!(dydt,ri.rxnarray,cstot,kfs,krevs,ri.A)
6060
end
@@ -108,7 +108,7 @@ function getkfskrevs(ri::ReactiveInternalInterfaceConstantTPhi,T1,T2,phi1,phi2,G
108108
return ri.kfs,ri.krevs
109109
end
110110

111-
function evaluate(ri::ReactiveInternalInterfaceConstantTPhi,dydt,domains,T1,T2,phi1,phi2,Gs1,Gs2,cstot,p::W) where {W<:DiffEqBase.NullParameters}
111+
function evaluate(ri::ReactiveInternalInterfaceConstantTPhi,dydt,domains,T1,T2,phi1,phi2,Gs1,Gs2,cstot,p::W) where {W<:SciMLBase.NullParameters}
112112
addreactionratecontributions!(dydt,ri.rxnarray,cstot,ri.kfs,ri.krevs,ri.A)
113113
end
114114

src/Reactor.jl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
using Parameters
2-
using DiffEqBase
2+
using SciMLBase
33
using ForwardDiff
44
using Sundials
55
using ModelingToolkit
66
using IncompleteLU
77
using LinearAlgebra
88
using SparseArrays
9-
using DiffEqBase.PreallocationTools
9+
using PreallocationTools
1010
abstract type AbstractReactor end
1111
export AbstractReactor
1212

@@ -20,7 +20,7 @@ struct Reactor{D,Q,F1,F2,F3} <: AbstractReactor
2020
precsjulia::F3 #function to calculate preconditioner for Julia solvers
2121
end
2222

23-
function Reactor(domain::T,y0::Array{T1,1},tspan::Tuple,interfaces::Z=[];p::X=DiffEqBase.NullParameters(),forwardsensitivities=false,forwarddiff=false,modelingtoolkit=false,tau=1e-3) where {T<:AbstractDomain,T1<:Real,Z<:AbstractArray,X}
23+
function Reactor(domain::T,y0::Array{T1,1},tspan::Tuple,interfaces::Z=[];p::X=SciMLBase.NullParameters(),forwardsensitivities=false,forwarddiff=false,modelingtoolkit=false,tau=1e-3) where {T<:AbstractDomain,T1<:Real,Z<:AbstractArray,X}
2424
dydt(dy::X,y::T,p::V,t::Q) where {X,T,Q,V} = dydtreactor!(dy,y,t,domain,interfaces,p=p)
2525
jacy!(J::Q2,y::T,p::V,t::Q) where {Q2,T,Q,V} = jacobiany!(J,y,p,t,domain,interfaces,nothing)
2626
jacyforwarddiff!(J::Q2,y::T,p::V,t::Q) where {Q2,T,Q,V} = jacobianyforwarddiff!(J,y,p,t,domain,interfaces,nothing)
@@ -83,7 +83,7 @@ function Reactor(domain::T,y0::Array{T1,1},tspan::Tuple,interfaces::Z=[];p::X=Di
8383
end
8484
return Reactor(domain,ode,recsolver,forwardsensitivities,precsundials,psetupsundials,precsjulia)
8585
end
86-
function Reactor(domains::T,y0s::W1,tspan::W2,interfaces::Z=Tuple(),ps::X=DiffEqBase.NullParameters();forwardsensitivities=false,modelingtoolkit=false,tau=1e-3) where {T<:Tuple,W1<:Tuple,Z,X,W2}
86+
function Reactor(domains::T,y0s::W1,tspan::W2,interfaces::Z=Tuple(),ps::X=SciMLBase.NullParameters();forwardsensitivities=false,modelingtoolkit=false,tau=1e-3) where {T<:Tuple,W1<:Tuple,Z,X,W2}
8787
#adjust indexing
8888
y0 = zeros(sum(length(y) for y in y0s))
8989
Nvars = 0
@@ -223,7 +223,7 @@ struct ReducedModelCache{X1,X2,X3}
223223
end
224224

225225
#Not generating reducedmodelmappings within Reactor object as generating qssc! can take a while for large mechanisms so we only want to do it once
226-
function Reactor(domain::T,y0unlumped::Array{W1,1},tspan::Tuple,reducedmodelmappings::ReducedModelMappings,interfaces::Z=[];p::X=DiffEqBase.NullParameters(),forwardsensitivities=false,forwarddiff=false,modelingtoolkit=false,tau=1e-3,chunk_size=9) where {T<:AbstractDomain,W1<:Real,Z<:AbstractArray,X,F<:Function}
226+
function Reactor(domain::T,y0unlumped::Array{W1,1},tspan::Tuple,reducedmodelmappings::ReducedModelMappings,interfaces::Z=[];p::X=SciMLBase.NullParameters(),forwardsensitivities=false,forwarddiff=false,modelingtoolkit=false,tau=1e-3,chunk_size=9) where {T<:AbstractDomain,W1<:Real,Z<:AbstractArray,X,F<:Function}
227227
dydt(dy::X,y::T,p::V,t::Q) where {X,T,Q,V} = dydtreactor!(dy,y,t,domain,interfaces,reducedmodelmappings,reducedmodelcache,p=p)
228228
jacy!(J::Q2,y::T,p::V,t::Q) where {Q2,T,Q,V} = jacobianyforwarddiff!(J,y,p,t,domain,interfaces,reducedmodelmappings,reducedmodelcache)
229229
jacp!(J::Q2,y::T,p::V,t::Q) where {Q2,T,Q,V} = jacobianpforwarddiff!(J,y,p,t,domain,interfaces,reducedmodelmappings,reducedmodelcache)
@@ -543,15 +543,15 @@ export addreactionratecontributions!
543543
end
544544
export addreactionratecontributionsforwardreverse!
545545

546-
@inline function dydtreactor!(dydt::RC,y::U,t::Z,domain::Q,interfaces::B;p::RV=DiffEqBase.NullParameters(),sensitivity::Bool=true) where {RC,RV,B,Z,U,Q<:AbstractDomain}
546+
@inline function dydtreactor!(dydt::RC,y::U,t::Z,domain::Q,interfaces::B;p::RV=SciMLBase.NullParameters(),sensitivity::Bool=true) where {RC,RV,B,Z,U,Q<:AbstractDomain}
547547
dydt .= 0.0
548548
ns,cs,T,P,V,C,N,mu,kfs,krevs,Hs,Us,Gs,diffs,Cvave,cpdivR,phi = calcthermo(domain,y,t,p)
549549
addreactionratecontributions!(dydt,domain.rxnarray,cs,kfs,krevs)
550550
dydt .*= V
551551
calcdomainderivatives!(domain,dydt,interfaces;t=t,T=T,P=P,Us=Us,Hs=Hs,V=V,C=C,ns=ns,N=N,Cvave=Cvave)
552552
return dydt
553553
end
554-
@inline function dydtreactor!(dydt::RC,y::U,t::Z,domains::Q,interfaces::B;p::RV=DiffEqBase.NullParameters(),sensitivity::Bool=true) where {RC,RV,B,Z,U,Q<:Tuple}
554+
@inline function dydtreactor!(dydt::RC,y::U,t::Z,domains::Q,interfaces::B;p::RV=SciMLBase.NullParameters(),sensitivity::Bool=true) where {RC,RV,B,Z,U,Q<:Tuple}
555555
cstot = similar(y)
556556
cstot .= 0.0
557557
dydt .= 0.0
@@ -611,7 +611,7 @@ end
611611
end
612612
return dydt
613613
end
614-
function dydtreactor!(dydt::RC,y::U,t::Z,domain::Q,interfaces::B,reducedmodelmappings::ReducedModelMappings,reducedmodelcache::ReducedModelCache;p::RV=DiffEqBase.NullParameters(),sensitivity::Bool=true) where {RC,RV,B,Z,U,Q<:AbstractDomain}
614+
function dydtreactor!(dydt::RC,y::U,t::Z,domain::Q,interfaces::B,reducedmodelmappings::ReducedModelMappings,reducedmodelcache::ReducedModelCache;p::RV=SciMLBase.NullParameters(),sensitivity::Bool=true) where {RC,RV,B,Z,U,Q<:AbstractDomain}
615615

616616
dydt .= 0.0
617617
yunlumped = get_tmp(reducedmodelcache.yunlumped,first(y)*t)

src/Simulation.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
using DiffEqBase
2-
import DiffEqBase: AbstractODESolution, HermiteInterpolation,AbstractDiffEqInterpolation
1+
using SciMLBase
2+
import SciMLBase: AbstractODESolution, HermiteInterpolation,AbstractDiffEqInterpolation
33
using DiffEqSensitivity
44
using ForwardDiff
5-
using DiffEqBase.PreallocationTools
5+
using OrdinaryDiffEq.PreallocationTools
66

77
abstract type AbstractSimulation end
88
export AbstractSimulation

src/TestEdgeAnalysis.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using Test
2-
using DiffEqBase
2+
using SciMLBase
33
using Sundials
44

55
@testset "Species Selection" begin

src/TestReactors.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using Test
2-
using DiffEqBase
2+
using SciMLBase
33
using Sundials
44

55
@testset "Test Reactors" begin

0 commit comments

Comments
 (0)