DynamicalSystemsBase.jl
DynamicalSystemsBase.jl copied to clipboard
Ability to build ParallelDynamicalSystem from ProjectedDynamicalSystem
Right now, construction of a ParallelDynamicalSystem
is constrained to these types only:
methods(ParallelDynamicalSystem)
# 2 methods for type constructor:
[1] ParallelDynamicalSystem(ds::CoreDynamicalSystem, states)
@ ~/.julia/packages/DynamicalSystemsBase/Dx8Dp/src/derived_systems/parallel_systems.jl:47
[2] ParallelDynamicalSystem(ds::DiscreteTimeDynamicalSystem, states)
@ ~/.julia/packages/DynamicalSystemsBase/Dx8Dp/src/derived_systems/parallel_systems.jl:160
So when one tries to use a ProjectedDynamicalSystem
, it fails.
Is there some fundamental limitation to this?
huh that's weird. You are right.
AH! I remembered why! I wasn't sure how to make it certain that for non-core systems, step!(pds, dt::Real)
would ensure that every parallel system would be stepped for exactly the same time.
I am still not sure how to solve this! Feel free to open a PR if you can implement a parallel system for projected systems that guarantees that stepping would enforce identical step size to all parallel systems.