Dynamical systems with AbstractArray Interface

Dear all,

I am interested in a “survey” of which packages, in the context of dynamical systems (Trixi, VoronoiFVM, Gridap…), linear solvers, etc is using AbstractArray as a state space and which one is not.

BifurcationKit (BK) do not rely on AbstractArray abstraction but this is tough to maintain. Only the first layer of BK provides this functionality.

At the beginning, BK wanted to support functionals built on ApproxFun and ArrayFire and thus did not rely on AbstractArray. I know for example that KrylovKit.jl do not rely on the AbstractArray interface.

Hence, which one is and which one is not?

AbstractArray Interface Other
BifurcationKit
Gridap
DynamicalSystems.jl

At the moment in all of DynamicalSystems.jl the state space is AbstractArray. I am not sure if there is much reason to not have it be AbstractArray.

p.s. You’d have better chances at replies here if you posted this at the Modeling And Simulations subcategory, and probably also put the tag dynamical-systems.

1 Like

In VoronoiFVM.jl I try to adhere to it. My state is a nspecies x nnodes matrix, in order to handle PDE systems. It can be dense, or sparse if I work with multiphysics problems where not all species are defined on all parts of the domain. For time dependent problems, these can be combine into an AbstractTransientSolution <: AbstractDiffEqArray which can be accessed as a nspecies x nnodes x ntsteps tensor.