Skip to content

Supporting multi-clock discrete systems #1137

@sharanry

Description

@sharanry

Currently, DiscreteSystem and ODESystem both support only single clock systems.

  1. For multi-clock discrete transitions using the Difference operator in ODESystem, the plan is to have separate periodic callbacks for each set of synchronous discrete transitions. We could later extend this to a single customized discrete callback if the need arises.

  2. In order to support multi-clock DiscreteSystems, we might need to group each set of the synchronous transitions and generate a separate function for each such group. We could then call each of these functions as a function of time (t) by an outer function. Is there a better way to do this?

  3. It is also possible that each of these "clocks" starts at different times, I am not sure how common such scenarios are in practice. If we want to support these kinds of systems, we might need to add an extra field indicating the start time to the difference operator which defaults to 0. This start time could later be fetched while creating the periodic callback.

@ChrisRackauckas @YingboMa We have already discussed 1. Any thoughts on 2 and 3?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions