ControlSystems.jl VS PowerSimulationsDynamics.jl

Compare ControlSystems.jl vs PowerSimulationsDynamics.jl and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
ControlSystems.jl PowerSimulationsDynamics.jl
2 1
489 156
1.4% 3.2%
8.6 7.7
about 1 month ago 9 days ago
Julia Julia
GNU General Public License v3.0 or later BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

ControlSystems.jl

Posts with mentions or reviews of ControlSystems.jl. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-03-14.

PowerSimulationsDynamics.jl

Posts with mentions or reviews of PowerSimulationsDynamics.jl. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-01.
  • Can Fortran survive another 15 years?
    7 projects | news.ycombinator.com | 1 May 2023
    Sure you can keep moving goal posts. Of course it doesn't make sense to bind a C production code to a C package (SUNDIALS) through Julia. But if you're asking who is using Julia bindings to SUNDIALS as part of a real case, one case that comes to mind is the Sienna power systems dynamics stuff out of NREL (https://www.nrel.gov/analysis/sienna.html). If you look inside of the dynamics part of Sienna you can clearly see IDA being used (https://github.com/NREL-Sienna/PowerSimulationsDynamics.jl). IIRC at a recent Julia meetup in the Benelux region kite model simulations also used it for the same reasons (https://github.com/aenarete/KiteSimulators.jl) which of course is pointing to the open source code organization for Aenarete (http://aenarete.eu/).

    The way to find other use cases is to look through the citations. Generally there will be a pattern to it. For cases which reduce to (mass matrix) ODEs FBDF generally (but not always) outperforms CVODE's BDF these days, so those cases have mostly converted over. This includes not just ODEs but also other DAEs which are defined through ModelingToolkit, as the index reduction process generates ODEs and generally the ODE form ends up more efficient than using the original DAE form (though not always of course). It's in the fully implicit DAE form that the documentation (as of May 1st 2023) recommends using Sundials' IDA as the most efficient method for that case (https://docs.sciml.ai/DiffEqDocs/stable/solvers/dae_solve/) (yes, the docs recommend non-Julia solvers when appropriate. There's more than a few of such recommendations in the documentation). Power systems is such a case with Index-1 DAEs written in the fully implicit form which are difficult in many instances to write in mass matrix form and not already written in ModelingToolkit, hence its use of IDA here. By the same reasoning you can also search around in the citations for other use cases of IDA.

What are some alternatives?

When comparing ControlSystems.jl and PowerSimulationsDynamics.jl you can also consider the following projects:

ComponentArrays.jl - Arrays with arbitrarily nested named components.

SciPyDiffEq.jl - Wrappers for the SciPy differential equation solvers for the SciML Scientific Machine Learning organization

DSGE.jl - Solve and estimate Dynamic Stochastic General Equilibrium models (including the New York Fed DSGE)

ffi-overhead - comparing the c ffi (foreign function interface) overhead on various programming languages

MatrixEquations.jl - Solution of Lyapunov, Sylvester and Riccati matrix equations using Julia

KiteSimulators.jl - Simulators for kite power systems

RecursiveFactorization

DiscretePIDs.jl - Discrete-time PID controllers in Julia

RecursiveFactorization.jl

TrajectoryLimiters.jl - Nonlinear filters to create dynamically feasible reference trajectories

SciMLBenchmarks.jl - Scientific machine learning (SciML) benchmarks, AI for science, and (differential) equation solvers. Covers Julia, Python (PyTorch, Jax), MATLAB, R