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

Help with developing a dynamic simulation application #176

Open
tahmid-khan opened this issue Oct 29, 2023 · 2 comments
Open

Help with developing a dynamic simulation application #176

tahmid-khan opened this issue Oct 29, 2023 · 2 comments

Comments

@tahmid-khan
Copy link

tahmid-khan commented Oct 29, 2023

Hello.

I’m currently working on an application that’s supposed to use GridPACK to get voltage and current data from an input power network after each timestep, taking into consideration the presence of fault events.

This initially seemed like a straightforward task, but after digging into the code a little bit and checking the user manual, I still found myself very uncertain about which modules/classes to use and which functions to call. I’ve tried to adapt the example powerflow and dynamic simulation applications, but they don’t seem to do what I’m trying to accomplish (please correct me if I’m wrong).

Any help or tips on how to make this work would be appreciated. Thanks.

@abhyshr
Copy link
Collaborator

abhyshr commented Oct 29, 2023

If you are directly using C++ interface:

Once you build GridPACK, go to src/build/applications/dynamic_sinulation_full_y directory. In this directory, you should see the dynamic simulation application executable dsf.x and several input.xml. Each xml file has the configuration for dynamic simulation which sets the network and dyr files, the timestep, duration, and the solver configuration. You can also set the fault configuration and tell the simulation which voltages/powers to watch. You can take one such file as an example, modify it to your needs, and then run the application with
./dsf.x input.xml

Where input.xml is your input file. After the application finishes you should see a .csv file in the directory that has the output you set to be watched in the input file.

If you are using Python interface:
See the example application for 39 bus system (39bus_test.py) in python/src/examples. This directory has this python script along with several input.xml files. You can modify the input.xml according by to your needs and run the python script. Note that you'll also need to change the name of the input file in the python script.

Let us know how we can help further.

@tahmid-khan
Copy link
Author

tahmid-khan commented Jul 12, 2024

@abhyshr Thank you very much for your response, but please excuse me for reopening this old issue because we have just realized that our needs are somewhat different from what the dynamic_simulation_full_y application provides.

It seems that the dynamic_simulation_full_y application can watch voltages (and pgen and qgen) at generators and loads only. However, what we actually want is the ability to watch the voltage at every bus in the network. Is there an existing application in GridPACK that can do this? If not, can you please provide some guidance on how to modify the existing applications or which features to use from the GridPACK API to achieve this?

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