chengts95 / rustpower

A simple power system steady-state power flow caculation software written in rust.
Mozilla Public License 2.0
17 stars 6 forks source link

Do rustpower supports equivalent of pandapower timeseries? #1

Open mancioshell opened 1 month ago

mancioshell commented 1 month ago

Is it an equivalent of this function in rustpower ? https://pandapower.readthedocs.io/en/v2.14.9/timeseries/run_function.html

chengts95 commented 1 month ago

Hi, thank you for asking. The current implementation is only a power flow solver to evaluate how Rust can solve the steady-state power flow problems. Meanwhile, the goal of this project is not to reproduce every function of pandapower. I use pandapower case format because I feel the pandapower file format is quite useful for power system modeling.

If you are interested in developing such application in Rust, I welcome your contribution to this project. I have many projects to develop for EMT and other dynamic simulation so now the steady-state analysis is not at the top priority.

mancioshell commented 1 month ago

Hi, thank you for your reply. timeseries is a nice to have feature, but maybe we could simulate it with a for loop.

We are very interest to this project, because we need to move from padapower to rustpower (and rust in general) for perfomance reason. I have some experience in rust, but not so much in power flow and similar use case. Currently we have a pandapower net format (in json) and we would like to import in rustpower and test the power flow.

Unfortunately i have seen there is only the possibility to import a pandapower net using csv or zip containing csv. Maybe i could try to develop this small parts.

I have also seen that rustpower is not deployed in cargo.io, so for the moment i have copied it in my project. Could you think is it possible to publish it in cargo.io ?

Thank you in advance.

chengts95 commented 1 month ago

Hi, thank you for your reply. timeseries is a nice to have feature, but maybe we could simulate it with a for loop.

We are very interest to this project, because we need to move from padapower to rustpower (and rust in general) for perfomance reason. I have some experience in rust, but not so much in power flow and similar use case. Currently we have a pandapower net format (in json) and we would like to import in rustpower and test the power flow.

Unfortunately i have seen there is only the possibility to import a pandapower net using csv or zip containing csv. Maybe i could try to develop this small parts.

I have also seen that rustpower is not deployed in cargo.io, so for the moment i have copied it in my project. Could you think is it possible to publish it in cargo.io ?

Thank you in advance.

I need to check it over the weekend. The JSON from Pandapower contains too much information I do not need, so I abandoned using json. I feel csv is a better option and it is easy to edit with excel or other spreadsheet software. It should be very easy to generate such csv using the example shown in https://github.com/chengts95/rustpower/blob/main/cases/example_to_generate_cases.ipynb from pandapower. Each pandas dataframe can be a csv. I do not need any data type information from that json because Rust is a statically and strongly typed language.

You can add to cargo.toml with git link which doesn't require copying this repo manually. This crate is just created with minimum power flow functionality. It is mainly used to demonstrate how can we use rust to do the sparse matrix operations and power flow caculation. Would you like to discuss your detailed requirements on discord?