Py_PSNODE
General neural ODE and DAE modules for power system dynamic modeling.
The PyTorch-based ODE solver is developed based on torchdiffeq.
Samples are generated using Py_PSOPS.
Environment
-[Windows 7, 8, 10]
-[Linux]
-[Python 3.6, 3.7, 3.8]
Initialization
-
Clone / Pull the codes.
-
Try building neural dynamic models for power system dynamic components such as generator unit, loads, stations, distribution networks, regulators, etc.
Directory
neural_00_ODE_01_no_encode.py
Regular neural ODE module with external inputs.
neural_00_ODE_02_direct_encode.py
Autoencoder-based neural ODE module with external inputs.
neural_00_DAE_01_no_encode.py
Regular neural DAE module.
neural_00_DAE_02_direct_encode.py
Autoencoder-based neural DAE module.
utils
Logger class.
TODO
-
Currently, the C++-witten PSOPS can support PyTorch C++ API. However, the python API Py_PSOPS of PSOPS can only successfully load PSOPS.dll/PSOPS.so without PyTorch C++ API. We need to find a way to deal with the violation between Python and PyTorch C++ API when using PyTorch C++ API-integrated PSOPS.dll/PSOPS.so.
-
Add comment.
-
Develop more general modules.
-
Improve performance of the general module and the trained models. The loop function in Python is way too time-consuming.
References
[1] T. Xiao, Y. Chen*, T. He, and H. Guan, “Neural ODE and DAE Modules for Power System Dynamic Component Modeling,” arxiv.
[2] T. Xiao, Y. Chen*, J. Wang, S. Huang, W. Tong, and T. He, “Exploration of AI-Oriented Power System Transient Stability Simulations,” arxiv.