-
Notifications
You must be signed in to change notification settings - Fork 1
Setup
Marcelo Forets edited this page Jan 20, 2019
·
1 revision
(rough idea, not finished)
abstract type AbstractModel end
abstract type AbstractProblem end
struct IVPModel{IT, ST, MT} <: AbstractModel
id::Dict{Any, Any}
ivp::ST
options::MT
end
struct ProblemInstance{MT<:AbstractModel, PT<:AbstractProperty} <: AbstractProblem
model::MT
property::PT
end
id(p::ProblemInstance) = p.model.id
function iss
end
ISS(model) = iss(...) # instantiate iss with default options
function run(m::ProblemInstance)::AbstractSolution
. . .
end
# define the iss model, independent of the concrete analysis
function iss(o::Options)::ISS
. . . .
end
function default_options(m::ISS)::Options
. . . .
end