Skip to content

Commit b1eeaaa

Browse files
committed
Add preconditioner functions to Reactor attribute
1 parent 068eb49 commit b1eeaaa

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

src/Reactor.jl

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,14 @@ using SparseArrays
99
abstract type AbstractReactor end
1010
export AbstractReactor
1111

12-
struct Reactor{D,Q} <: AbstractReactor
12+
struct Reactor{D,Q,F1,F2,F3} <: AbstractReactor
1313
domain::D
1414
ode::ODEProblem
1515
recommendedsolver::Q
1616
forwardsensitivities::Bool
17+
precsundials::F1 #function to calculate preconditioner for Sundials solvers
18+
psetupsundials::F2 #function to compute preconditioner \ residue for Sundials solvers
19+
precsjulia::F3 #function to calculate preconditioner for Julia solvers
1720
end
1821

1922
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}
@@ -77,7 +80,7 @@ function Reactor(domain::T,y0::Array{T1,1},tspan::Tuple,interfaces::Z=[];p::X=Di
7780
ode = ODEProblem(odefcn,y0,tspan,p)
7881
end
7982
end
80-
return Reactor(domain,ode,recsolver,forwardsensitivities)
83+
return Reactor(domain,ode,recsolver,forwardsensitivities,precsundials,psetupsundials,precsjulia)
8184
end
8285
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}
8386
#adjust indexing
@@ -209,7 +212,7 @@ function Reactor(domains::T,y0s::W1,tspan::W2,interfaces::Z=Tuple(),ps::X=DiffEq
209212
ode = ODEProblem(odefcn,y0,tspan,p)
210213
end
211214
end
212-
return Reactor(domains,ode,recsolver,forwardsensitivities),y0,p
215+
return Reactor(domains,ode,recsolver,forwardsensitivities,precsundials,psetupsundials,precsjulia),y0,p
213216
end
214217
export Reactor
215218

0 commit comments

Comments
 (0)