Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to build ParallelDynamicalSystem from ProjectedDynamicalSystem #188

Open
rusandris opened this issue Nov 21, 2023 · 1 comment
Open

Comments

@rusandris
Copy link
Contributor

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?

@Datseris
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants