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

Use PyFMI to support dynamic models made with other tools #108

Open
rwl opened this issue Dec 14, 2020 · 1 comment
Open

Use PyFMI to support dynamic models made with other tools #108

rwl opened this issue Dec 14, 2020 · 1 comment
Assignees

Comments

@rwl
Copy link
Contributor

rwl commented Dec 14, 2020

Power companies often have custom dynamic models that they are accustomed to using in their simulations. The symbolic modeling features of Andes make it convenient to add new models, but users may wish to reuse existing models and would not be comfortable re-implementing them.

I noticed that GridDyn has support for the Functional Mock-up Interface (FMI) standard. The FMI library is implemented in C and there is a Python interface available:

https://pypi.org/project/PyFMI/

Perhaps it could be used with Andes to allow the integration of models written with other tools. There are some existing libraries that could be used for experimentation:

https://github.com/OpenIPSL/OpenIPSL
https://github.com/dynawo/dynawo/tree/master/dynawo/sources/Models/Modelica/Dynawo

@cuihantao
Copy link
Collaborator

Thanks for the suggestion.

Back in 2016, I met with GridDyn's author and talked using FMI to link with the OpenIPSL library. It is a non-trivial task especially when the tool is developed in C++ (like GridDyn or Dynawo). At that point, the GridDyn's FMI interface was still a work in progress. I hope it has gotten more mature.

In 2017, I thought of developing a lightweight Python-based tool to use OpenIPSL models based on FMPy. I had an undergrad student helper but didn't manage to get anywhere close. As of now, integrating with FMI for Andes would look like repeating what Dynawo has been doing.

I thought of building a dynawo-alike tool in Julia. The justification is that Julia is very efficient to call external C library. However, the JuliaFMI library is not mature.

Anyway, FMI is great standard for model exchange and co-sim. I plan to explore FMI for Andes on the holidays.

FMPy: https://github.com/CATIA-Systems/FMPy
JuliaFMI: https://github.com/fmi-tools/JuliaFMI

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

No branches or pull requests

2 participants